freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

android3g手機天氣預(yù)報系統(tǒng)設(shè)計畢業(yè)論文(編輯修改稿)

2025-07-16 08:12 本頁面
 

【文章內(nèi)容簡介】 @Override public void bindView(View view, Context context, Cursor c) { // TODO Autogenerated method stub (View ForecastAdapter)。 ImageView icon = (ImageView) ()。 TextView day = (TextView) ()。 TextView condition = (TextView) ()。 TextView temp = (TextView) ()。 (((4)))。 ((1))。 ((5))。 ((2) + ℃/ + (3) + ℃)。效果如下圖2所示: 圖42 天氣呈現(xiàn)界面 用戶提醒用戶提醒功能是天氣預(yù)報額外的功能,主要我們運用了手機自帶的提醒功能,經(jīng)過我們的頁面圖標設(shè)置,只要點擊應(yīng)用的圖標,用戶就可以自然的跳轉(zhuǎn)到提醒功能上去,方便用戶設(shè)置鬧鈴。這個功能是有待開發(fā)的,在天氣溫差過大時,我們能提供給用戶數(shù)據(jù)反饋,提醒用戶注意溫差,在天氣降溫時,提醒用戶注意保暖,這是一種很有用的功能,但現(xiàn)在主要是主觀上的控制,客觀上的提醒功能還有待開發(fā)。 數(shù)據(jù)交互從Google提供的Web Service中獲取的天氣數(shù)據(jù),數(shù)據(jù)的獲取地址是: 。核心代碼如下: //通過HttpClient創(chuàng)建Http連接 HttpClient client = new DefaultHttpClient()。 //創(chuàng)建Http Get請求 HttpGet request = new HttpGet((WEBSERVICE_URL, postalCode))。 try { (TAG, get google39。s weather infomation)。 //發(fā)出請求 HttpResponse response = (request)。 StatusLine status = ()。 (TAG, Request returned status + status)。 //取出回復(fù)信息 HttpEntity entity = ()。 responseReader = new InputStreamReader((), GB2312)。 } 用戶交互 城市交互 ,AppWidget第一次啟動之前會先運行ConfigureActivity,會出現(xiàn)設(shè)置頁面用戶進行設(shè)置,點擊保存按鈕就會將設(shè)置好的參數(shù)會存儲到SQLite中。核心代碼如下:city = ().toString()。updatetime = (().toString())。 ContentValues values = new ContentValues()。 (, widgetId)。 (, city)。 (, updatetime)。 (, 1)。 (, 1)。 ContentResolver resolver = getContentResolver()。 (, values)。 // start service (start Service!)。 (new int[]{widgetId})。 startService(new Intent(this, ))。setConfigureResult()。 finish()。 break。ConfigureActivity的布局文件是res/layout/,采用了LinearLayout的布局方式。效果如圖3所示:圖43 城市選擇頁面 數(shù)據(jù)庫交互以往數(shù)據(jù)查詢將解析好的數(shù)據(jù)存儲到SQLite數(shù)據(jù)庫中。其過程是:使用ContentResolver對象,通過URI間接調(diào)用ContentProvider,使用ContentResolver對象與ContentProvider進行交互,而ContentResolver則通過URI確定需要訪問的ContentProvider的數(shù)據(jù)集。核心代碼如下,調(diào)用關(guān)系如圖4所示。圖44 ContentProvider調(diào)用關(guān)系ContentResolver resolver = ()。 (forecastUri, null, null)。ContentValues values = new ContentValues()。for (DetailDateWidget forecast : ()) { ()。 (, ())。 ...... (forecastUri, values)。 }注意:for(DetailDateWidgetforecast :())相當于foreach語句,()集合里打印出所有類型為DetailDateWidget的forecast變量。 系統(tǒng)管理 天氣數(shù)據(jù)管理()方法操作數(shù)據(jù)庫取出所需要的數(shù)據(jù),這一部分與上一節(jié)的“將解析好的數(shù)據(jù)存儲到SQLite數(shù)據(jù)庫中”的關(guān)鍵點相同,為節(jié)約篇幅,此處不贅述。調(diào)用輕量級XML解析器XmlPullParser對從網(wǎng)絡(luò)上獲取的字節(jié)流數(shù)據(jù)進行解析,并且將解析結(jié)果保存在WidgetEntity對象中。 時間管理AppWidget一啟動就會啟動DataTimeService這個后臺服務(wù),此服務(wù)設(shè)置了每隔20秒刷新一次時間,“顯示頁面”通過這個后臺服務(wù)獲取系統(tǒng)時間從而顯示。核心代碼如下:AlarmManager alarmManager = (AlarmManager)getSystemService()。(, now + updateMilis, pendingIntent)。至此,后臺服務(wù)介紹完畢。service android:name=ForecastService/serviceservice android:name=ForecastTimeService/service 頁面現(xiàn)實布局管理根據(jù)需求分析可以知道,應(yīng)用程序應(yīng)包含三個主要的用戶界面,這里需要進一步分析每個用戶界面中應(yīng)該包括哪些顯示內(nèi)容。在“設(shè)置頁面”中,需要對要顯示天氣預(yù)報的城市及更新頻率進行設(shè)置。在“顯示頁面”中,顯示當前的天氣狀況,包括城市名稱、溫度、濕度、風向、雨雪情況和獲取數(shù)據(jù)時間等信息。在“詳細頁面”動態(tài)顯示當前天氣情況,還要顯示未來四天的天氣情況。根據(jù)對用戶界面顯示內(nèi)容的分析,繪制出用戶界面的草圖,如圖5所示。圖45 用戶界面草圖 后臺服務(wù)后臺服務(wù)是ChinaWeather工程的核心模塊,在用戶啟動后持續(xù)在后臺運行,直到用戶停止服務(wù)。后臺服務(wù)主要有三個功能,一是周期性的獲取Google的天氣數(shù)據(jù)并存儲到SQLite,二是從SQLite讀取出要顯示的數(shù)據(jù),三是定時更新“顯示頁面”的時間。 App Widget啟動Android開發(fā)應(yīng)用除了程序應(yīng)用,還有App Widget應(yīng)用。先簡單說說App Widget的原理。App Widget是在桌面上的一塊顯示信息的東西,通過單擊App Widget跳轉(zhuǎn)到程序入口類。而系統(tǒng)自帶的程序,典型的App Widget是music,這個Android內(nèi)置的音樂播放小程序。這個是典型的App Widget+app應(yīng)用。就是一個程序既可以通過App Widget啟動,也可以通過App啟動。App Widget就是一個AppWidgetProvider+一個UI界面顯示(預(yù)先綁定了好多Intent),界面上的信息可以通過程序控制而改變,單擊Widget上的控件只能激發(fā)發(fā)送一個Intent,或發(fā)出一個Service的啟動通知。而AppWidgetProvider可以攔截這個Intent,而進行相應(yīng)的處理。WeatherWidget在設(shè)計上采用了AppWidget框架結(jié)構(gòu),AppWidget就是HomeScreen上顯示的小部件,通過在HomeScreen空白處長按,在彈出的對話框中選擇Widget部件來進行創(chuàng)建。此外,長按部件后并拖動到垃圾箱里進行刪除。創(chuàng)建AppWidget需要以下四個步驟:定義Widget布局文件,此文件是res/layout/,采用AbsoluteLayout方式進行布局需要注意的是在這個文件中所使用的組件必須是RemoteViews所支持的。定義Widget的基本屬性文件,此文件是/res/xml/。代碼如下:?xml version= encoding=utf8?appwidgetprovider xmlns:android= android:initialLayout=@layout/weatherwidget android:configure= android:minWidth=292dip android:minHeight=144dip android:updatePeriodMillis=0效果如圖6所示: 圖46 桌面顯示圖/appwidgetprovider,此類繼承自AppWidgetProvider,主要的功能有:獲取需要更新的桌面小控件;啟動時間信息的服務(wù);啟動獲取天氣預(yù)報信息的服務(wù);更新時間信息;更新桌面小控件顯示內(nèi)容。核心代碼如下:public class WeatherWidget extends AppWidgetProvider { @Overridepublic void onUpdate(Context context, AppWidgetManager appWidgetManager,int[] appWidgetIds) { (context, appWidgetManager, appWidgetIds)。 // 獲取需要更新的桌面小控件 (appWidgetIds)。 // 啟動獲取天氣預(yù)報信息的服務(wù)(new Intent(context, ))。 // 啟動時間信息的服務(wù)(new Intent(context, ))。 } //更新桌面小控件顯示內(nèi)容public static RemoteViews updateViews(Context context, Uri uri) { } //更新時間信息 public static RemoteViews updateTime(Context context) { }AppWidgetProvider對應(yīng)一個receiver屬性。代碼如下:!intentfilter說明appWidget可以接受下面的廣播事件— intentfilter action android:n
點擊復(fù)制文檔內(nèi)容
電大資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1