Ein Widget ist ein kleines Gadget oder die Kontrolle über Ihre Android-Anwendung auf dem Startbildschirm platziert. Widgets kann sehr nützlich sein, da sie ermöglicht es Ihnen, Ihre Lieblings-Anwendungen auf dem Startbildschirm, um einen schnellen Zugriff auf sie setzen. Sie haben wahrscheinlich gesehen, einige gemeinsame Widgets, wie Musik-Widget, Wetter Widget, Uhr-Widget etc
Widgets können von vielen Arten, wie beispielsweise Informationen Widgets Sammlung Widgets, Steuer Widgets und Hybrid-Widgets zu sein. Android bietet uns ein komplettes Framework für unsere eigenen Widgets zu entwickeln.
Widget - XML-Datei
Um eine Anwendung Widget zu erstellen, erste, was Sie brauchen, ist AppWidgetProviderInfo Objekt, das Sie in einem separaten Widget XML-Datei definieren. Um das zu tun, klicken Sie rechts auf das Projekt, und erstellen Sie einen neuen Ordner namens xml. Jetzt rechten Maustaste auf den neu erstellten Ordner und erstellen Sie eine neue XML-Datei. Die Art der Quelle der XML-Datei gesetzt werden sollte AppWidgetProvider. In der XML-Datei, definieren einige Eigenschaften, die wie folgt sind -
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android" android:minWidth="146dp" android:updatePeriodMillis="0" android:minHeight="146dp" android:initialLayout="@layout/activity_main"> </appwidget-provider>
Widget - Layout-Datei
Nun müssen Sie das Layout Ihres Widget in Ihrem Standard-XML-Datei definieren. Sie können Komponenten ziehen, um die automatische XML generieren.
Widget - Java-Datei
Nach der Definition Layout erstellen nun ein neues Java-Datei oder verwenden Sie vorhandene, und erweitern Sie es mit AppWidgetProvider Klasse und überschreiben ihre Update-Methode wie folgt.
In der Update-Methode, haben Sie, um das Objekt von zwei Klassen, die PendingIntent und RemoteViews sind zu definieren. Die Syntax ist -
PendingIntent pending = PendingIntent.getActivity(context, 0, intent, 0); RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.activity_main);
Am Ende müssen Sie eine Update-Methode updateAppWidget () des AppWidgetManager Klasse aufrufen. Die Syntax ist -
appWidgetManager.updateAppWidget(currentWidgetId,views);
Ein Teil von der updateAppWidget Verfahren, gibt es andere in dieser Klasse, um Widgets zu manipulieren definierten Methoden. Sie sind wie folgt -
Sr.No | Verfahren & Beschreibung |
---|---|
1 | onDeleted (Context Kontext int [] appWidgetIds)
Diese wird aufgerufen, wenn eine Instanz AppWidgetProvider wird gelöscht.
|
2 | onDisabled (Context Kontext)
Diese wird aufgerufen, wenn die letzte Instanz AppWidgetProvider gelöscht
|
3 | onEnabled (Context Kontext)
Diese wird aufgerufen, wenn eine Instanz AppWidgetProvider angelegt.
|
4 | onReceive (Context Kontext Intent Vorsatz)
Er wird verwendet, um Anrufe an die verschiedenen Methoden der Klasse versenden
|
Widget - Manifest-Datei
Sie haben auch die AppWidgetProvider Klasse in Ihrer Manifest-Datei zu erklären, wie folgt:
<receiver android:name="ExampleAppWidgetProvider" > <intent-filter> <action android:name="android.appwidget.action.APPWIDGET_UPDATE" /> </intent-filter> <meta-data android:name="android.appwidget.provider" android:resource="@xml/example_appwidget_info" /> </receiver>
Beispiel
Hier ist ein Beispiel demonstriert die Verwendung von Anwendungs Widget. Es schafft eine grundlegende Widget Anwendungen, die diese aktuellen Website im Browser geöffnet wird.
Um bei diesem Beispiel zu experimentieren, müssen Sie diese auf einem Gerät, auf dem Internet läuft laufen.
Schritte | Bezeichnung |
---|---|
1 | Sie werden Android-Studio verwenden, um ein Android-Anwendung unter einem Paket com.example.sairamkrishna.myapplication erstellen.Bei der Erstellung dieses Projekt, stellen Sie sicher SDK Ziel und Kompilieren Sie mit der neuesten Version des Android SDK zu höheren Ebenen der APIs verwenden. |
2 | Ändern src / MainActivity.java Datei auf Widget-Code hinzufügen. |
3 | Ändern Sie die res / layout / activity_main zum jeweiligen XML-Komponenten hinzufügen |
4 | Erstellen Sie einen neuen Ordner, und XML-Datei unter res / xml / mywidget.xml zum jeweiligen XML-Komponenten hinzufügen |
5 | Ändern Sie die AndroidManifest.xml, die notwendigen Berechtigungen hinzufügen |
6 | Führen Sie die Anwendung, und wählen Sie einen laufenden Android-Gerät und installieren Sie die Anwendung und überprüfen Sie die Ergebnisse. |
Im Anschluss ist der Gehalt des modifizierten MainActivity.java.
package com.example.sairamkrishna.myapplication; import android.app.PendingIntent; import android.appwidget.AppWidgetManager; import android.appwidget.AppWidgetProvider; import android.content.Context; import android.content.Intent; import android.net.Uri; import android.widget.RemoteViews; import android.widget.Toast; public class MainActivity extends AppWidgetProvider{ public void onUpdate(Context context, AppWidgetManager appWidgetManager,int[] appWidgetIds) { for(int i=0; i<appWidgetIds.length; i++){ int currentWidgetId = appWidgetIds[i]; String url = "http://www.tutorialspoint.com"; Intent intent = new Intent(Intent.ACTION_VIEW); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.setData(Uri.parse(url)); PendingIntent pending = PendingIntent.getActivity(context, 0,intent, 0); RemoteViews views = new RemoteViews(context.getPackageName(),R.layout.activity_main); views.setOnClickPendingIntent(R.id.button, pending); appWidgetManager.updateAppWidget(currentWidgetId,views); Toast.makeText(context, "widget added", Toast.LENGTH_SHORT).show(); } } }
Im Anschluss wird der modifizierte Inhalt der XML-res / layout /activity_main.xml.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity" android:transitionGroup="true"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Tutorials point" android:id="@+id/textView" android:layout_centerHorizontal="true" android:textColor="#ff3412ff" android:textSize="35dp" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Widget" android:id="@+id/button" android:layout_centerHorizontal="true" android:layout_marginTop="61dp" android:layout_below="@+id/textView" /> &lr;/RelativeLayout>
Hier finden Sie den Inhalt der res / xml / mywidget.xml.
<?xml version="1.0" encoding="utf-8"?> <appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android" android:minWidth="146dp" android:updatePeriodMillis="0" android:minHeight="146dp" android:initialLayout="@layout/activity_main"> </appwidget-provider>
Hier finden Sie den Inhalt der res / Werte / string.xml.
<resources> <string name="app_name">My Application</string> <string name="hello_world">Hello world!</string> <string name="action_settings">Settings</string> </resources>
Im Anschluss ist der Inhalt der AndroidManifest.xml Datei.
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.sairamkrishna.myapplication" > <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <receiver android:name=".MainActivity"> <intent-filter> <action android:name="android.appwidget.action.APPWIDGET_UPDATE"></action> </intent-filter> <meta-data android:name="android.appwidget.provider" android:resource="@xml/mywidget"></meta-data> </receive> </application> </manifest>
Lassen Sie uns versuchen, um Ihre Anwendung auszuführen. Ich nehme an, Sie Ihre aktuelle Android-Gerät mit dem Computer verbunden haben. Um die App vom Android-Studio, öffnen Sie eine der Aktivität Dateien Ihres Projekt auszuführen, und klicken Sie auf
Ausführen-Symbol in der Werkzeugleiste. Vor dem Start der Anwendung wird Android Studio Display folgende Fenster, um eine Option, wo Sie Ihre Android-Anwendung ausgeführt werden soll.
Wählen Sie Ihr Mobilgerät als Option und prüfen Sie dann Ihr mobiles Gerät, das Ihrem Standard-Bildschirm angezeigt wird -
Gehen Sie zu Ihrem Widget Abschnitt und fügen Sie Ihre erstellte Widget auf dem Desktop oder Home-Bildschirm. Es wäre etwa so aussehen -
Jetzt tippen Sie einfach auf das Widget-Taste, die angezeigt wird, um den Browser zu starten. Aber vorher bitte sicher, dass Sie mit dem Internet verbunden sind. Nach dem Drücken der Taste, würde der folgende Bildschirm angezeigt -
Notiz. Indem Sie ganz einfach die URL in der Java-Datei, wird Ihr Widget Sie Ihre gewünschte Webseite im Browser zu öffnen.
0 التعليقات:
Kommentar veröffentlichen