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

正文內(nèi)容

基于android的3g手機(jī)天氣預(yù)報系統(tǒng)設(shè)計(jì)-在線瀏覽

2025-08-05 22:26本頁面
  

【正文】 4. 顯示界面:通過文字和圖片顯示當(dāng)前的天氣情況,包括日期、時間、城市、最高溫度、最低溫度、當(dāng)前溫度等。 2. 到桌面長摁空白桌面,選擇窗口小部件,選擇 chinaweather。點(diǎn)擊保存即可獲得城市的天氣預(yù)報。 南京曉莊學(xué)院 2021 屆本科畢業(yè)論文 6 三、平臺與關(guān)鍵技術(shù)研究 Android 開發(fā)環(huán)境介紹 Android 的上層應(yīng)用程序是用 Java 語言開發(fā),同時還需要基于 Dalvik 虛擬機(jī),所以,使用 Java語言進(jìn)行開發(fā),還應(yīng)該有由 SUN 公司提供的 Java SDK(其中包括 JRE: Java Runtime Environment)。 同時, Google 公司推薦使用主流的 Java 繼承開發(fā)環(huán)境 Eclipse。換句話說,需要以下軟件,才能搭建 Android 開發(fā)環(huán)境,從而進(jìn)行 Android 應(yīng)用程序的開發(fā)。接著再去 站點(diǎn)下載 SDK 。第一步下載工序就結(jié)束了。過一會就會出現(xiàn)一個 Developer Tools 選項(xiàng),勾上以后點(diǎn)擊 Next 以后Eclipse 會自動網(wǎng)上查找 Android 開發(fā)工具插件,然后找到 Android DDMS 和 Android Development Tools,選中這兩個點(diǎn)擊 Finish, Eclipse 就會自動下載并安裝 Android 插件南京曉莊學(xué)院 2021 屆本科畢業(yè)論文 7 了,最后會提示重啟 Eclipse。 4 重啟后選擇 Eclipse 菜單中的 Windows Preferences 在左側(cè)的 Android 項(xiàng)目中 SDK Location中填入 Android SDK解壓后的目錄,然后點(diǎn)擊 Apply。 Activity 就是一個用戶界面,比如打電話程序,實(shí)現(xiàn)一個打電話的 Activity,通訊錄也是一個 Activity,通話記錄也是一個 Activity 等等,這些 Activity 都是獨(dú)立的,但組合在一起就是一個完整功能的應(yīng)用程序了。 Service 在后臺為 Activity提供所需要的功能。服務(wù)不提供用戶界面。用運(yùn)行模 式來看,Activity 是跳,從一個跳到一個,這有點(diǎn)像模態(tài)對話框,給一個輸入,然后不管不顧的讓它運(yùn)行,離開時返回輸出。 但和一般的 Service還是有所不同, Android的 Service和所有四大組件一樣,其進(jìn)程模型都是可以配置的,調(diào)用方和發(fā)布方都可以有權(quán)利來選擇是把這個組件運(yùn)行在同一個進(jìn)程下,還是不同的進(jìn)程下。 Android 中用來做數(shù)據(jù)序列化的類是 Parcel,封裝了序列 化的細(xì)節(jié),向外提供了足夠?qū)ο蠡脑L問接口, Android號稱實(shí)現(xiàn)非常高效。 Receiver 從字面意思是 廣播接收者,其實(shí)和我們生活中得廣播意思相近,在發(fā)生什么事情的時候,會以廣播的形式告知我們。普通廣播是異步的,理論上是同時收到的。有序廣播,在接收到廣播時可以加入自己的操作,傳遞給下一個接收者,也可以終止 廣播 。 內(nèi)容提供者主要用于應(yīng)用程序的數(shù)據(jù)共享設(shè)置,你可以把數(shù)據(jù)存儲在文件系統(tǒng)中,或者 SQLite 數(shù)據(jù)庫上,網(wǎng)絡(luò),或者其他的持久性存儲位置。 在 Android 中,充分考慮了廣泛的這類需求,于是就有了 Broadcast Receiver這樣的一個組件。在此之前和這以后, Broadcast Receiver是否在運(yùn)行都變得不重要了。所以,雖然 Broadcast整個邏輯不復(fù)雜,卻是足夠有用和好用,它統(tǒng)一了 Android的事件廣播模型,讓很多平臺都相形見絀了 Provider 應(yīng)用程序可以通過 Content Provider 來訪問其他應(yīng)用程序的一些私有數(shù)據(jù),這是Android提供的一種標(biāo)準(zhǔn)的共享機(jī)制。 Content Provider可以擴(kuò)展自己的 Content Provider類,通過實(shí)現(xiàn)自己的類的接口來控制其他數(shù)據(jù)的存儲。 任何時候當(dāng) Android系統(tǒng)收到一個需要 某個組件進(jìn)行處理的請求的時候, Android會確保處理此請求的組件的宿主進(jìn)程是否已經(jīng)在運(yùn)行,如果沒有,則立即啟動這個進(jìn)程,當(dāng)請求的組件的宿主進(jìn)程已經(jīng)在運(yùn)行,它會繼續(xù)查看請求的組件是否可以使用,如果不能立即使用,它會創(chuàng)建一個請求的組件的實(shí)例來響應(yīng)請求。你可以訪問這些數(shù)據(jù)或者修改,其他應(yīng)用程序也可以訪問或者修改。 Service如果是一個耗時的場景,往往會提供異步訪問的接口,而 Content Provider 不論效率如何,都提供的是約定的同步訪問接口。 南京曉莊學(xué)院 2021 屆本科畢業(yè)論文 10 四、系統(tǒng)設(shè)計(jì) 天氣預(yù)報顯示 根據(jù)需 求分析可得,用戶在使用這款軟件是希望它的快捷方便,所以我們把這款軟件的主界面定在了手機(jī)桌面上,調(diào)用的數(shù)據(jù)使用在桌面顯示。其中主要是相對布局,劃分區(qū)域,作為以后使用功能上的加強(qiáng)。左下區(qū)域分為日期、城市、天氣。右側(cè)為最搞溫度、最低溫度、現(xiàn)在溫度。 在用戶界面設(shè)計(jì)上,采用了 AppWidget框架結(jié)構(gòu),提供直觀的交互操作。 DetailForecastActivity主要用來顯示詳細(xì)的天氣信息,包括當(dāng)天和未來四天的天氣信息。 ListActivity可以不通過 setContentView( )設(shè)置布局,也不必重載 onCreate( )方法,而直接將顯示列表加載到 ListActivity,增加了使用的便利性。核心代碼如下: //繼承 ListActivity public class DetailForecastActivity extends ListActivity { //獲取游標(biāo),訪問數(shù)據(jù)庫 // Query for any matching forecast data and create adapter Uri forecastUri = (mData, )。 listAdapter = new ForecastAdapter(this, forecastCursor)。 // TODO Autogenerated constructor stub (ForecastAdapter)。 ImageView icon = (ImageView) ()。 TextView condition = (TextView) ()。 (((4)))。 ((5))。 效果如下圖 2所示: 南京曉莊學(xué)院 2021 屆本科畢業(yè)論文 12 圖 42 天氣呈現(xiàn)界面 用戶提醒 用戶提醒功能是天氣預(yù)報額外的功能,主要我們運(yùn)用了手機(jī)自帶的提醒功能,經(jīng)過我們的頁面圖標(biāo)設(shè)置,只要點(diǎn)擊應(yīng)用的圖標(biāo),用戶就可以自然的跳轉(zhuǎn)到提醒功能上去,方便用戶設(shè)置鬧鈴。 數(shù)據(jù)交互 從 Google 提供的 Web Service 中獲取的天氣數(shù)據(jù),數(shù)據(jù)的獲取地址是: //通過 HttpClient創(chuàng)建 Http連接 HttpClient client = new DefaultHttpClient()。 南京曉莊學(xué)院 2021 屆本科畢業(yè)論文 13 try { (TAG, get google39。 //發(fā)出請求 HttpResponse response = (request)。 (TAG, Request returned status + status)。 responseReader = new InputStreamReader((), GB2312)。核心代碼如下: city = ().toString()。 ContentValues values = new ContentValues()。 (, city)。 (, 1)。 ContentResolver resolver = getContentResolver()。 // start service (start Service!)。 startService(new Intent(this, ))。 finish()。 ConfigureActivity的布局文件是 res/layout/,采用了 LinearLayout的布局方式。其過程是:使用ContentResolver對象,通過 URI間接調(diào)用 ContentProvider, 使用 ContentResolver 對象與 ContentProvider 進(jìn)行交互,而 ContentResolver 則通過 URI 確定需要訪問的ContentProvider的數(shù)據(jù)集。 南京曉莊學(xué)院 2021 屆本科畢業(yè)論文 15 C o n t e n t P r o v i d e文 件 系 統(tǒng) 數(shù) 據(jù) 庫 網(wǎng) 絡(luò)C o n t e n t R e s o l v e rU R I 圖 44 ContentProvider調(diào)用關(guān)系 ContentResolver resolver = ()。 ContentValues values = new ContentValues()。 (, ())。 } 注意: for(DetailDateWidgetforecast :())相當(dāng)于 foreach語句,在 ()集合里打印出所有類型為 DetailDateWidget的forecast變量。 調(diào)用輕量級 XML解析器 XmlPullParser對從網(wǎng)絡(luò)上獲取的字節(jié)流數(shù)據(jù)進(jìn)行解析,并且將解析結(jié)果保存在 WidgetEntity對象中。核心代碼如下: AlarmManager alarmManager = (AlarmManager)getSystemService()。 至此,后臺服務(wù)介紹完畢,最后還需要在 。 在“設(shè)置頁面”中,需要 對要顯示天氣預(yù)報的城市及更新頻率進(jìn)行設(shè)置。在“詳細(xì)頁面”動態(tài)顯示當(dāng)前天氣情況,還要顯示未來四天的天氣情況。 圖 45 用戶界面草圖 后臺服務(wù) 后臺服務(wù)是 ChinaWeather工程的核 心模塊,在用戶啟動后持續(xù)在后臺運(yùn)行,直到用戶停止服務(wù)。 App Widget啟動 Android開發(fā)應(yīng)用除了程序應(yīng)用,還有 App Widget應(yīng)用。App Widget是在桌面上的一塊顯示信息的東西,通過單擊 App Widget跳轉(zhuǎn)到程序入口類。這個是典型的 App Widget+app應(yīng)用。 App Widget就是一個 AppWidgetProvider+一個 UI界面顯示(預(yù)先綁定了好多 Intent),界面上的信息可以通過程序控制而改變,單擊 Widget上的控件只能激發(fā)發(fā)送一個 Intent,或發(fā)出一個 Service的啟動通知。 WeatherWidget在設(shè)計(jì)上采用了 AppWidget框架結(jié)構(gòu), AppWidget就是 HomeScreen上顯示的小部件,通過在 HomeScreen空白處長按,在彈出的對話框中選擇 Widget部件來進(jìn)行創(chuàng)建。創(chuàng)建 AppWidget需要以下四個步驟: 定義 Widget布局文件,此文件是 res/layout/,采用 AbsoluteLayout方式進(jìn)行布局 需要注意的是在這個文件中所使用的組件必須是 RemoteViews所支持的。代碼如下: ?xml version= encoding=utf8? appwidgetprovider xmlns:android= android:initialLayout=layout/weatherwidget android:configure= android:minWidth=292dip android:minHeight=144dip android:updatePeriodMillis=0 效果如圖 6所示: 南京曉莊學(xué)院 2021 屆本科畢業(yè)論文 18 圖 46 桌面顯示圖 /appwidgetprovider創(chuàng)建 ,此類繼承自 AppWidgetProvider,主要的功能有:獲取需要更新的桌面小控件;啟動時間信息的服務(wù);啟動獲取天氣預(yù)報信息的服務(wù);更新時間 信息;更新桌面小控件顯示內(nèi)容。 // 獲取需要更新的桌面小 控件 (appWidgetIds)。 // 啟動時間信息的服務(wù) (new Intent(context, ))。代碼如下: !intentfilter說明 appWidget可以接受下面的廣播事件 — intentfilter action android:name= /action /intentfilter !metadata指明屬性文件 — metadata android:name= android:resource=xml/weatherwidget/metadata /receiver 效果如圖 7所示: 圖 47 關(guān)閉系統(tǒng)圖 數(shù)據(jù)庫設(shè)計(jì)與實(shí)現(xiàn) 數(shù)據(jù)提供者 DataForecastService繼承 ContentProvider,是在應(yīng)用程序間共享數(shù)據(jù)的一種接口機(jī)制。而 CotentProvider 為程序員提供了較高級的
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1