自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

詳解Android Widget創(chuàng)建過程

移動開發(fā)
Android Widget創(chuàng)建過程是本文要介紹的內容,主要是來了解并學習Android Widget應用的學習,具體內容來看本文詳解。

Android Widget創(chuàng)建過程是本文要介紹的內容,主要是來了解并學習Android Widget應用的學習,本文通過代碼很詳細的講解Android Widget創(chuàng)建過程。具體內容的實現來看本文詳解。

創(chuàng)建一個Widget:

1、創(chuàng)建一個AppWidgetProvider類,設置提供的服務:

  1. publicclasswidgetextendsAppWidgetProvider{  
  2. @Override  
  3. publicvoidonUpdate(Contextcontext,AppWidgetManagerappWidgetManager,int[]appWidgetIds){  
  4. context.startService(newIntent(context,UpdateService.class));//啟動一個服務  

2、再創(chuàng)建一個Service類:

  1. publicstaticclassUpdateServiceextendsService{  
  2. @Override  
  3. publicvoidonStart(Intentintent,intstartId){  
  4. TimeestTime=newTime("BEIJING");  
  5. //TimewestTime=newTime("WEST");  
  6. //westTime.setToNow();  
  7. Stringtime1=estTime.getCurrentTimezone();//獲取手機當前所在地的時區(qū)  
  8. Timetime=newTime(time1);  
  9. time.setToNow();  
  10. //estTime.setToNow();  
  11. intweek=time.getWeekNumber();//獲取當天是本年的第幾周  
  12. RemoteViewsupdateViews=newRemoteViews(getPackageName(),R.layout.digitalclock);//設置時鐘顯示的界面,此界面的設置如3所示  
  13. //updateViews.setTextViewText(R.id.time,estTime.format("%H:%M:%S"));  
  14. updateViews.setTextViewText(R.id.time,time.format("%H:%M:%S"));  
  15. updateViews.setTextViewText(R.id.time1,"第"+week+"周");  
  16. ComponentNamethisWidget=newComponentName(this,widget.class);  
  17. AppWidgetManagerAppWidgetManagermanager=AppWidgetManager.getInstance(this);  
  18. manager.updateAppWidget(thisWidget,updateViews);  
  19. }  
  20. @Override  
  21. publicIBinderonBind(Intentintent){  
  22. returnnull;  

3、設置時鐘顯示界面:

此文件為layout中的digitalclock.xml文件,

  1. xmlns:android="http://schemas.android.com/apk/res/android" 
  2. android:orientation="vertical" 
  3. android:gravity="top" 
  4. android:layout_width="146dip" 
  5. android:layout_height="146dip" 
  6. > 
  7. android:paddingTop="10dip" 
  8. android:id="@+id/time" 
  9. android:textStyle="bold" 
  10. android:textColor="#ff0000" 
  11. android:gravity="center_horizontal" 
  12. android:layout_width="146dip" 
  13. android:layout_height="wrap_content" 
  14. /> 
  15. android:id="@+id/time1" 
  16. android:textColor="#ff0000" 
  17. android:textStyle="bold" 
  18. android:gravity="center_horizontal" 
  19. android:layout_width="146dip" 
  20. android:layout_height="20dip" 
  21. /> 
  22. android:src="@drawable/mm" 
  23. android:layout_width="146dip" 
  24. android:layout_height="72dip" 
  25. /> 

4、設置服務:

此文件為res文件夾下xml文件夾中的est_appwidget.xml文件:

  1. xmlns:android="http://schemas.android.com/apk/res/android" 
  2. android:minWidth="146dip" 
  3. android:minHeight="146dip" 
  4. android:updatePeriodMillis="1000" 
  5. android:initialLayout="@layout/digitalclock"/> 

5、Manifest.xml文件設置:

  1. package="com.test.widget" 
  2. android:versionCode="1" 
  3. android:versionName="1.0"> 
  4. android:label="@string/app_name"> 
  5. android:name="android.appwidget.action.APPWIDGET_UPDATE"> 
  6. android:name="android.appwidget.provider" 
  7. android:resource="@xml/est_appwidget"> 
  8. android:name=".widget$UpdateService"> 
  9. android:label="@string/app_name"> 

6、第1和第2步合并起來就是一個Widget.java文件,如下所示:

  1. importandroid.app.Service;  
  2. importandroid.appwidget.AppWidgetManager;  
  3. importandroid.appwidget.AppWidgetProvider;  
  4. importandroid.content.ComponentName;  
  5. importandroid.content.Context;  
  6. importandroid.content.Intent;  
  7. importandroid.os.IBinder;  
  8. importandroid.text.format.Time;  
  9. importandroid.widget.RemoteViews;  
  10. publicclasswidgetextendsAppWidgetProvider{  
  11. @Override  
  12. publicvoidonUpdate(Contextcontext,AppWidgetManagerappWidgetManager,int[]appWidgetIds){  
  13. context.startService(newIntent(context,UpdateService.class));//啟動一個服務  
  14. }  
  15. publicstaticclassUpdateServiceextendsService{  
  16. @Override  
  17. publicvoidonStart(Intentintent,intstartId){  
  18. TimeestTime=newTime("BEIJING");  
  19. //TimewestTime=newTime("WEST");  
  20. //westTime.setToNow();  
  21. Stringtime1=estTime.getCurrentTimezone();  
  22. Timetime=newTime(time1);  
  23. time.setToNow();  
  24. //estTime.setToNow();  
  25. intweek=time.getWeekNumber();  
  26. RemoteViewsupdateViews=newRemoteViews(getPackageName(),R.layout.digitalclock);  
  27. //updateViews.setTextViewText(R.id.time,estTime.format("%H:%M:%S"));  
  28. updateViews.setTextViewText(R.id.time,time.format("%H:%M:%S"));  
  29. updateViews.setTextViewText(R.id.time1,"第"+week+"周");  
  30. ComponentNamethisWidget=newComponentName(this,widget.class);  
  31. AppWidgetManagerAppWidgetManagermanager=AppWidgetManager.getInstance(this);  
  32. manager.updateAppWidget(thisWidget,updateViews);  
  33. }  
  34. @Override  
  35. publicIBinderonBind(Intentintent){  
  36. returnnull;  
  37. }  

小結:詳解Android Widget創(chuàng)建過程的內容介紹完了,希望通過Android Widget創(chuàng)建內容的學習能對你有所幫助。

責任編輯:zhaolei 來源: 互聯網
相關推薦

2011-09-08 15:07:10

Android Wid搭建

2010-07-13 09:02:19

Widget開發(fā)

2011-09-09 20:14:58

Android Wid

2011-09-07 13:06:04

Android Wid

2011-09-07 10:34:48

Android Wid

2011-02-28 13:04:27

RelativeLayAndroid Wid

2011-09-08 13:11:07

Android Wid實例

2009-09-01 11:07:58

C#項目

2011-09-07 14:20:42

Android Wid組件

2011-09-09 19:05:28

Widget

2011-09-07 16:28:46

QT WidgetQWidget

2011-09-13 15:35:40

Widget

2010-01-19 17:26:37

VB.NET創(chuàng)建過程

2019-07-24 08:34:35

Java對象數據結構

2009-11-02 14:53:30

Oracle創(chuàng)建用戶權

2011-03-14 09:55:25

AndroidWidget

2011-09-08 15:51:33

Android Wid組件

2011-05-27 16:57:13

Android widget

2010-07-23 08:54:02

2010-01-25 14:04:17

Android Wid
點贊
收藏

51CTO技術棧公眾號