तो मेरे पास एंड्रॉइड एप्लिकेशन बनाने का थोड़ा सा अनुभव है। लेकिन अब मैं एंड्रॉइड के लिए एक विजेट बनाना चाहता हूं जो होम स्क्रीन पर बैठेगा और एक बटन प्रदर्शित करेगा, और जब बटन दबाया जाता है तो यह ध्वनि बजाता है। मैं एंड्रॉइड विजेट को सेट अप करने के तरीके पर ऑनलाइन ट्यूटोरियल देख रहा हूं लेकिन मुझे लगता है कि मैं इसे समझ नहीं पा रहा हूं। क्या इस सरल या कहीं मैं एक स्टैंडअलोन विजेट बनाने के तरीके पर कोई अच्छा ट्यूटोरियल देख सकता हूं? अग्रिम धन्यवाद, पीटरएक सरल एंड्रॉइड विजेट कैसे बनाएं
उत्तर
पहले परियोजना संरचना के तहत res/layout के अंदर एक नई लेआउट फ़ाइल बनाएं, जो निम्न संरचना के अनुसार विजेट लेआउट (widgetlayout.xml) को परिभाषित करेगा।
<TextView android:text="@string/widgettext"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.8"
android:layout_gravity="center_vertical"
android:textColor="#000000"></TextView>
<TextView android:text="@string/widgetmoodtext"
android:id="@+id/widgetMood" android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.3"
android:layout_gravity="center_vertical"
android:textColor="#000000"></TextView>
<ImageButton android:id="@+id/widgetBtn"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:src="@drawable/smile_icon"
android:layout_gravity="center_vertical">
</ImageButton>
परियोजना संरचना के तहत रेस/xml फ़ोल्डर बनाएँ एक xml फ़ाइल (widgetproviderinfo.xml) निम्नलिखित मानकों के साथ बनाएँ:
<appwidget-provider
xmlns:android="http://schemas.android.com/apk/res/android"
android:minWidth="220dp"
android:minHeight="72dp"
android:updatePeriodMillis="86400000"
android:initialLayout="@layout/widgetlayout">
</appwidget-provider>
अब आप सेवा है कि उपयोगकर्ता के प्रति प्रतिक्रिया करता बनाना चाहिए स्माइली छवि बटन (CurrentMoodService.java) के साथ बातचीत।
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
super.onStart(intent, startId);
updateMood(intent);
stopSelf(startId);
return START_STICKY;
}
private void updateMood(Intent intent) {
if (intent != null){
String requestedAction = intent.getAction();
if (requestedAction != null && requestedAction.equals(UPDATEMOOD)){
this.currentMood = getRandomMood();
int widgetId = intent.getIntExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, 0);
AppWidgetManager appWidgetMan = AppWidgetManager.getInstance(this);
RemoteViews views = new RemoteViews(this.getPackageName(),R.layout.widgetlayout);
views.setTextViewText(R.id.widgetMood, currentMood);
appWidgetMan.updateAppWidget(widgetId, views);
}
}
}
सेवा को परिभाषित करने के बाद, यह विजेट प्रदाता वर्ग (CurrentMoodWidgetProvider.java) लागू करने के लिए समय है।
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
super.onUpdate(context, appWidgetManager, appWidgetIds);
for (int i=0; i<appWidgetIds.length; i++) {
int appWidgetId = appWidgetIds[i];
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widgetlayout);
Intent intent = new Intent(context, CurrentMoodService.class);
intent.setAction(CurrentMoodService.UPDATEMOOD);
intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
PendingIntent pendingIntent = PendingIntent.getService(context, 0, intent, 0);
views.setOnClickPendingIntent(R.id.widgetBtn, pendingIntent);
appWidgetManager.updateAppWidget(appWidgetId, views);
}
}
अंत में मैनिफेस्ट (AndroidManifest.xml) में सेवा और ऐप विजेट प्रदाता घोषित करना आवश्यक है।
<service android:name=".CurrentMoodService">
</service>
<receiver android:name=".CurrentMoodWidgetProvider">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data android:name="android.appwidget.provider"
android:resource="@xml/widgetproviderinfo" />
</receiver>
और आप स्रोत कोड के पूरे डाउनलोड करने के लिए चाहता है तो नीचे दिए गए यूआरएल पर एक नजर है ... से Android डेवलपर पोर्टल
http://sites.google.com/site/androidsourcecode/src/CurrentMoodWidgetProject.rar?attredirects=0
कहीं और .rar फ़ाइल की सामग्री को कॉपी करें, फिर ग्रहण में "नया" -> "प्रोजेक्ट" -> "मौजूदा कोड से एंड्रॉइड प्रोजेक्ट" पर जाएं। फिर उस फ़ोल्डर को ब्राउज़ करें जिसे आपने अभी निकाला है और किसी स्थान को सहेजा है और "समाप्त करें" दबाएं। – JToland
- 1. एंड्रॉइड: यह सरल लेआउट कैसे बनाएं?
- 2. एंड्रॉइड पर सरल कैलेंडर कैसे बनाएं
- 3. एक फ्रैक्शन को सरल बनाएं
- 4. एंड्रॉइड विजेट आकार
- 5. 1x1 एंड्रॉइड विजेट के लिए कुरकुरा पृष्ठभूमि छवि कैसे बनाएं?
- 6. एंड्रॉइड होमस्क्रीन पर 4x1 आकार विजेट कैसे बनाएं?
- 7. एंड्रॉइड विजेट
- 8. एंड्रॉइड - विजेट
- 9. "jquery-tmpl" के अंदर विजेट कैसे बनाएं?
- 10. अधिसूचना केंद्र विजेट कैसे बनाएं (आईओएस 5)
- 11. php और जावास्क्रिप्ट में विजेट कैसे बनाएं?
- 12. एक जटिल नियमित अभिव्यक्ति को सरल बनाएं
- 13. एंड्रॉइड होम स्क्रीन विजेट
- 14. मैं एक एंड्रॉइड ऐप विजेट कैसे एक लेबल/नाम
- 15. फोर्स एंड्रॉइड विजेट
- 16. एंड्रॉइड: एक्शनबैरशेलॉक सर्च विजेट
- 17. एंड्रॉइड 3.0, विजेट पूर्वावलोकन
- 18. एंड्रॉइड: गैलरी विजेट
- 19. सरल wxwidgets छवि प्रदर्शन कैसे बनाएं
- 20. सरल Wix सेटअप प्रोजेक्ट कैसे बनाएं
- 21. सी # सरल यूडीपी सर्वर कैसे बनाएं
- 22. एक सरल सी # http मॉनीटर/अवरोधक कैसे बनाएं?
- 23. एंड्रॉइड होमस्क्रीन विजेट एनिमेशन
- 24. एंड्रॉइड - accordion विजेट
- 25. एंड्रॉइड में एक टक्कर ऐप कैसे बनाएं?
- 26. एंड्रॉइड: एक ड्रायरेबल चयनकर्ता कैसे बनाएं
- 27. एंड्रॉइड - एकाधिक विजेट
- 28. एंड्रॉइड विजेट अपडेट
- 29. इस jQuery चयनकर्ता को सरल कैसे बनाएं?
- 30. सरल लघु हैश मूल्य कैसे बनाएं? सी #
ट्यूटोरियल: http: // डेवलपर। android.com/guide/topics/appwidgets/index.html –