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

正文內容

基于android的手機天氣預報系統畢業(yè)論文(參考版)

2025-07-01 01:47本頁面
  

【正文】 35。而且大大提高了動手的能力,使我充分體會到了在創(chuàng)造過程中探索的艱難和成功時的喜悅。在設計過程中,我通過查閱大量有關資料,與同學交流經驗和自學以及向一些在android方面比較厲害的同學朋友請教以及上網查資料等方式,使自己學到了不少知識,也經歷了不少艱辛,但收獲同樣巨大。此外,還得出一個結論:知識必須通過應用才能實現其價值!有些東西以為學會了,但真正到用的時候才發(fā)現是兩回事,所以我認為只有到真正會用的時候才是真的學會了。 總之,不管學會的還是學不會的的確覺得困難比較多,真是萬事開頭難,不知道如何入手。自己要學習的東西還太多,通過這次畢業(yè)設計,我才明白學習是一個長期積累的過程,在以后的工作、生活中都應該不斷的學習,努力提高自己知識和綜合素質。畢業(yè)設計不僅是對前面所學知識的一種檢驗,而且也是對自己能力的一種提高。經過半年多的奮戰(zhàn)我的畢業(yè)設計終于完成了。本次畢業(yè)設計可以說是圓滿完成,但是該軟件還是有一點的瑕疵,受到天氣接口的影響,目前只能調用國家氣象局的免費天氣預報接口,然而在該接口傳過來的明后天的信息中,天氣圖標的信息傳遞的不準確,導致系統運行時會出現明后天天氣小圖標出現顯示紊亂的現象,同時在2G網絡下該接口也會出現異常,未來希望可以尋找到更好的接口,使程序能夠得到完美的運行。本論文首先進行了大致的進行了項目的背景介紹,開發(fā)的目的及意義,接著進行了系統分析(包括需求分析、研究目標和內容),進而深度分析了Android系統的框架,然后介紹了本系統的所用到的各種技術以及如何進行Android平臺的搭建,最后論述了本系統的詳細設計(包括功能模塊設計、數據庫設計等),接著進行了項目的測試用例分析,最后圓滿完成該設計。本設計使用Android設計技術開發(fā)了一種運用在Android系統上的手機天氣預報軟件系統,本系統通過選擇城市來獲得天氣,風向,溫度等信息。 } } 第六章 系統測試與運行1)加載界面:本天氣預報為掌上天氣,當運行該程序時,會先進入一個加載界面:圖61 加載界面2)進入天氣界面時,因為是第一次進入,所以未設定城市,該界面是:圖62 初始化界面3)當要選擇查詢天氣時,可以點擊菜單按鈕,會出現三個菜單:圖63 顯示菜單項4)點擊進入城市管理界面,在城市管理界面是一個下拉列表,每一個省會下又有自己對應的下拉列表: 圖64 城市管理界面5)定位功能,上圖城市列表中有一個水滴圖標,點擊該按鈕可實現定位: 圖65 定位功能并添加城市6)點擊添加后,進入天氣顯示界面:圖66 天氣顯示界面7)在該界面還可以選擇查看其它城市天氣預報: 圖67 添加其他城市及壁紙自動更換功能8)壁紙功能:由上面合肥和北京兩地的北京圖片可知,當天氣有不同時,背景會隨著天氣的不同而出現自發(fā)的改變。 mExecutor = null。 (mand)。 } return myThreadPool。 private MyThreadPool() { mExecutor = ()。}通過運用線程池可以實現程序高效的運行:public class MyThreadPool { private static MyThreadPool myThreadPool。 if (mNetworkInfo != null) { return ()。 return networkUtil。 }在android手機上運行時需要保持手機網絡通暢,因此需要檢測手機網絡:private NetworkUtil(Context context) { if(cwjManager == null) cwjManager = (ConnectivityManager) ()。 } public static HttpConnect getInstance() {//在寫程序庫代碼時,有時有一個類需要被所有的其它類使用, //但又要求這個類只能實例化一次,是個服務類,定義一次,其它類使用同一個這個類的實例 if (Connect == null) { Connect = new HttpConnect()。 //連接超時 mConnManager = ()。 // 計算網絡超時用 (, 1000 * 10)。這使得用戶可以選擇使用定制,具體程序等來替換某些方面默認實現。//改變時間的定時器 一秒鐘更新一次 }由于本設計是實時天氣預報系統,因此需要聯網,所以要進行連接,先進行請求通過HttpClient接口實現:private HttpConnect() { //HttpClient 是接口,DefaultHttpClient是實現這個接口的子類 Client = new DefaultHttpClient()。 // 周期性更改時間 (new TimerTask() { public void run() { (0)。 = context。 } }public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {//更新widget (Widget onUpdate)。 = context。public void onReceive(Context context, Intent intent) { //widget 接收到廣播 (context, intent)。實現這個功能需要用到AlarmManager類,這個類專門用來設定在某個指定的時間去完成指定的事件。 = (temp)。 = ((cityid)).intValue()。 JSONObject jsonObject = new JSONObject(jsonString)。 InputStream is = (())。通過更新操作獲取實時的天氣信息:/** * 獲取當天實時的天氣 * throws ClientProtocolException * throws IOException * throws ServerResponseException * throws JSONException */ private void updateRealtime() throws ClientProtocolException, IOException, ServerResponseException, JSONException { StringBuilder sb1 = new StringBuilder()。 } return true。 case 2: //退出 finish()。 startActivity(intent)。 } break。 (0)。//進度框 ()。 // (animation)。 } } }對菜單進行選擇操作,通過選擇不同的菜單進入不同的功能界面:public boolean onOptionsItemSelected(MenuItem item) { //menu選擇操作 int item_id = ()。 (0)。 mCity = (0, () 1)。 //通知handle更新 return。 // 獲取省份信息 String temp2 = ()。 return。 }進行定位時,打印log信息,獲取省份和城市信息:private class MyBDLocationListener implements BDLocationListener { public void onReceiveLocation(BDLocation location) { (收到了位置信息!)。 ()。 // 即使有GPS,而且可用,也仍舊會發(fā)起網絡請求。 (3)。 // 設置最多可返回的POI個數,默認值為3。 // 禁用啟用緩存定位數據 (true)。 // 查詢范圍,默認值為500,即以當前定位位置為中心的半徑大小。 // 定位的時間間隔,單位:ms // 當所設的整數值大于等于1000(ms)時,定位SDK內部使用定時定位模式。 (false)。 // 打開GPS,使用gps前提是用戶硬件打開gps。強烈建議您使用自定義的產品線名稱,方便我們以后為您提供更高效準確的定位服務。 (true)。 // 設置是否返回POI的電話和地址等詳細信息。 // 需要地址信息,設置為其他任何值(string類型,且不能為null)時,都表示無地址信息。 (mBDLocationListener)。 } //添加長按菜單當你第一次運行該程序時,進行定位功能時,會出現你當前所在的城市,并且會出現是否添加對話框,定位時調用百度地圖定位的類庫:private void settingLocation() { //初始化定位,調用百度定位的類庫 mLocationClient = new LocationClient(())。 return false。 } })。 sendBroadcast(i)。 ()。 ().changeDefault(().id)。 (new Runnable() { public void run() { for (MyCity city : ) { = false。 (cityAdapter)。 } return dbManager。 }打開數據庫操作:public DBManager openDataBase() { //開啟數據庫操作 if (isDataBaseOpened == false || dbManager == null) { dbManager = (this)。 am = (AlarmManager) getSystemService(ALARM_SERVICE)。 sender = (this, 0, intent, 0)。 }設置一個定時更新的提醒:public void setAlarm() { //設置定時更新提醒 Intent intent = new Intent(this, )。 i++) { if ((i).isDefault) curCityIndex = i。//讀取所有我訂閱的城市信息 if (!()) { //設置默認城市 for (int i = 0。初始化應用:public void init() { //初始化應用 allCities = openDataBase().queryAllCity()。//通過Handler,發(fā)送到消息隊列里面去運行,//執(zhí)行完畢后給handler發(fā)送一個消息 } })。 } catch (InterruptedException e) { ()。 } } finishTime = ()。這里讓線程休眠的目的就控制游戲畫面的刷新頻率。 //所以如果我們使用匿名內部類是運行在UI主線程的,如果我們使用實現這個Runnable接口的線程類,則是運行在對應線程的 public void run() { //定時器 2秒之后跳轉 while (!) { try { (50)。 } } }。//啟動MainActivity finish()。 //Handler運行在主線程中(UI線程中), 它與子線程可以通過Message對象來傳遞數據, //這個時候,Handler就承擔著接受子線程傳過來的(子線程用sedMessage()方法傳弟)Message對象,(里面包含數據), //把這些消息放入主線程隊列中,配合主線程進行更新UI switch () { case 1: Intent intent = new Intent(,)。在啟動界面,當應用程序啟動時,Android首先會開啟一個主線程 (也就是UI線程) , 主線程為管理界面中的UI控件,進行事件分發(fā),如果此時需要一個耗時的操作,你不能
點擊復制文檔內容
范文總結相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1