WIDGET ANDROID LÀ GÌ

1. Widget vào android là gì?

Widget trong app android là 1 trong tiện ích bé dại hay được bỏ lên home screen. Nó vô cùng tiện dụng bởi vì nó có thể chấp nhận được người dùng đặt những vận dụng ưa chuộng của mình lên home screen với truy cập thực hiện chúng một giải pháp nhanh chóng. Trong device của bản thân mình bạn có thể tìm kiếm được các widget tồn tại sẵn nlỗi widget về music, tiết trời, đồng hồ thời trang, báo thức,....Mặc cho dù tiện dụng nhưng lại nó cũng có thể có phần đông lỗi của chính nó. Bởi nó cũng là 1 trong những áp dụng vì thế nó sẽ tốn Ram. Càng nhiều widget trên home page screen bạn sẽ càng tất cả không nhiều dung lượng Ram sử dụng đi. Có nhiều widget còn áp dụng kết nối tới VPS riêng biệt hoặc facebook, yahoo, ... vậy cần sẽ tốn lưu giữ lượng thực hiện của người tiêu dùng. Chính vị vậy mà thỉnh thoảng bạn sẽ thắc mắc sao chả cần sử dụng cái quỷ quái gì nhưng mà lưu lượng cũng trở nên hao nghĩa là sao?

Vậy buộc phải mọi khi áp dụng widget bạn nên lưu ý đến về tính chất cần thiết cùng tiện dụng của nó trước lúc sử dụng.

Bạn đang xem: Widget android là gì

2. Làm sao để chế tác một vận dụng widget

Để tạo ra ứng dụng widget thì cái trước tiên bọn họ buộc phải là 1 trong những đối tượng AppWidgetProviderInfo địa điểm nhưng mà các bạn sẽ khái niệm một tệp tin xml widget đơn nhất. Vậy ta sẽ tạo nên một thư mục là xml vào tlỗi mục res. Tạo một file xml mới trong tlỗi mục xml vừa tạo với mix type của xml tới AppWidgetProviderInfor như sau:

appwidget-provider xmlns:android="http://schemas.apk.com/apk/res/android" android:minWidth="250dp" android:updatePeriodMillis="0" android:minHeight="250dp" android:initialLayout="
layout/activity_main">appwidget-provider>Sau kia các bạn hãy sản xuất những layout cho widget của người sử dụng tới activity_main.xml

Với những class java:Sau khi sẽ thiết kế những layout đến widget, chế tạo ra một class .java và extover AppWidgetProvider.Trong
Override update method đề nghị xác định rõ 2 class PendingIntent cùng RemoteViews:

PendingIntent pending = PendingIntent.getActivity(context, 0, intent, 0);RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.activity_main);Cuối thuộc đề nghị gọi method updateAppWidget() của class AppWidgetManager.

appWidgetManager.updateAppWidget(currentWidgetId,views);Dưới đấy là một vài những method khác đã được quan niệm trong class này:

onDeleted(Context context, int<> appWidgetIds): Gọi Khi instance của AppWidgetProvider được delete.

onDisabled(Context context): Gọi lúc instance cuối cùng của AppWidgetProvider được delete.

onEnabled(Context context): hotline lúc 1 instance của AppwidgetProvider được chế tạo.

Xem thêm: Siêu Thị Điện Máy Xanh Phú Thụy Gia Lâm ), Hà Nội, Xã Phú Thụy

onReceive(Context context, Intent intent): Nó được thực hiện nhằm gửi những cuộc Hotline mang đến các cách thức khác biệt của lớp.

Về tệp tin AndroidManifest.xml ta có ví dụ:

receiver android:name="ExampleAppWidgetProvider" > intent-filter> action android:name="app android.appwidget.action.APPWIDGET_UPDATE" /> intent-filter> meta-data android:name="app android.appwidget.provider" android:resource="
xml/example_appwidget_info" />receiver>3. Ví dụví dụ như sau đây mục đích giúp đọc rộng về phong thái tạo ra, sử dụng một widget vào android.Ứng dụng này đang tiến hành hiển thị một button, trường hợp người tiêu dùng click vào button kia thì sẽ mnghỉ ngơi trình cẩn thận tới url: https://channeljc.com/

Tạo một project apk cùng với android studio:

*
Tại file MainActivity.java:

package com.framgia.widgetandroidreport; import apk.tiện ích.PendingIntent;import app android.appwidget.AppWidgetManager;import game android.appwidget.AppWidgetProvider;import game android.nội dung.Context;import app android.nội dung.Intent;import android.net.Uri;import android.widget.RemoteViews;import apk.widget.Toast; public class MainActivity extends AppWidgetProvider
Override public void onUpdate(Context context, AppWidgetManager appWidgetManager, int<> appWidgetIds) super.onUpdate(context, appWidgetManager, appWidgetIds); for (int i = 0; i appWidgetIds.length; i++) int currentWidgetId = appWidgetIds; String url = "https://channeljc.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(); Sửa file activity_main.xml như sau:

RelativeLayout xmlns:android="http://schemas.apk.com/apk/res/android" xmlns:tools="http://schemas.game android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> Button android:id="
+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:text="Submit"/>RelativeLayout>Sửa tiếp file res/xml/widget.xml.

appwidget-provider xmlns:android="http://schemas.game android.com/apk/res/android" android:initialLayout="
layout/activity_main" android:minHeight="150dp" android:minWidth="150dp" android:updatePeriodMillis="0">appwidget-provider>Cuối thuộc là tệp tin AndroidManifest.xml:

manifest package="com.framgia.widgetandroidreport" xmlns:android="http://schemas.android.com/apk/res/android"> application android:allowBackup="true" android:icon="
style/AppTheme"> receiver android:name=".MainActivity"> intent-filter> action android:name="apk.appwidget.action.APPWIDGET_UPDATE">action> intent-filter> meta-data android:name="game android.appwidget.provider" android:resource="
xml/widget">meta-data> receiver> application> manifest>Sau Khi đọc về cách sử dụng widget, trường hợp gồm thời gian chúng ta cũng có thể tạo thành một widget về tiết trời, facebook, thông tin, báo thức ...với không ít những widget hữu ích khác.

Dưới đó là links download project với file apk:https://drive.google.com/file/d/0B7td9WR1ZtQ0bHZKYTdzVmg0QU0/view?usp=sharing

Chú ý là sau khi thiết lập app chúng ta buộc phải vào phần quản lý widget của dòng sản phẩm và được cho phép nó ra màn hình home page screen nhé.