【正文】
自動生成一個 Id 19 ()。除此之外,在這里又創(chuàng)建了三個 Activity,當(dāng)然會有對應(yīng)的布局文件,這些布局文件都要在配置文件中進(jìn)行注冊,之后才能引用這些布局。 if(()){ //對用戶輸入的城市進(jìn)行判斷,盡可能的判斷輸入的是合法的。 MyBinder binder = new MyBinder()。 //指定 Webservice的命名空間和要獲取信息時調(diào)用的 Webservice的方法名 SoapObject rpc = new SoapObject(SERVICE_NAME, METHODNAME)。 = true。 這里的 detail 是 SoapObject 對象,這個 detail 相當(dāng)于一個數(shù)組,第一條語 句的意思是取出 detail 中的下標(biāo)為 6 的數(shù)據(jù),并轉(zhuǎn)換為 String類型,將結(jié)果賦給 tmp,(“ ”)[0]是指首先將 tmp 里的字符串以空格為結(jié)束符,分為字符數(shù)組, [0]就是指數(shù)組的下標(biāo),這樣就獲得了日期和天氣的信息了。} 同時 還要設(shè)置下拉的監(jiān)聽事件,如果符合條件就會進(jìn)行刷新操作。 23 // 如果截斷事件,我們則仍然把這個事件交給刷新 View去處理,典型的情況是讓 ListView/GridView將按下 if (mIsHandledTouchEvent) { (event)。最后,我采用了多線程,在主線程中開了一個線程,并讓這個子線程在完成綁定前休眠若干個10ms,最后成功的解決問題。 圖 57 未來天氣 30 ( 6) 當(dāng)用戶在信息主界面點(diǎn)擊菜單按鈕時,會進(jìn)入查詢界面,如圖 13。 2 完成和改善了城市天氣查詢功能,方便用戶查詢信息。解決的問題還有很多,當(dāng)然也還有沒有完善的問題 以下是我自己所列的不足之處: 1 代碼耦合性高 2 界面或背景在切換時沒有做一定的修飾動畫 3 沒有盡可能的優(yōu)化 java 代碼 4 在輸入城市時,暫時沒有實現(xiàn)對亂碼和英文進(jìn)行判斷 5 下拉刷新這一個功能模塊沒有做好 6 當(dāng)我在加入了“天氣實況”之后,顯示除中國之外的城市時信有誤息,因為 webservice 中提 供的信息不完整。 除此之外,還有我在上文中提到的沒有成功獲取調(diào)用 service 的 binder 實例,導(dǎo)致程序在運(yùn)行時直接出現(xiàn) crash。經(jīng)過查閱大量的資料,我按質(zhì)按量完成了設(shè)計的功能。 圖 56 城市介紹 28 ( 4)當(dāng)用戶在城市介紹界面時,如果繼續(xù)向右滑動,那么會切換背景,如圖 11。調(diào)試信息如圖 6: 在獲取位置時,導(dǎo)致阻塞在getLocation函數(shù)里面 24 圖 52 調(diào) 試分析 另一個比較重要的問題是,在我用 binder 通信機(jī)制時出現(xiàn)了一個 crash。amp。 mHeaderHeight = headerHeight。 = 日期: + ( )[0]。 (rpc)。}} 在線程的執(zhí)行函數(shù) run中會調(diào)用函數(shù),從 WebXml網(wǎng)站這個 webservice服務(wù)中獲取天氣信息。采用的是 binder 通信機(jī)制在類中,構(gòu)建一個內(nèi)部類 MyBinder,讓它實現(xiàn)一個定義的一個接口。 然后再給其設(shè)置一個監(jiān)聽事件,實現(xiàn)監(jiān)聽函數(shù)接口 onClick() public void onClick(View v) { String cityname = null。 當(dāng)用戶繼續(xù)向右滑動界面時會切換這個界面的背景。調(diào)用的線性布局的對象的系統(tǒng)函數(shù)。 這里的 WeatherInfo是代表天氣信息的一個類,包含與天氣相關(guān)的各種信息,如表 1: 18 表 : WeatherInfo 成員變量的含義 類型 變量名 保存的信息 String city 城市名 String weather 天氣狀況 String tem 溫度 String wind 風(fēng)向和強(qiáng)度 String date 日期 String mesg 各項指數(shù),如穿衣指數(shù) String nowinfo 天氣實況 String tomorrow 明天的天氣信息 String afterTom 后天的天氣信息 String intro 城市的介紹信息 NextPage 當(dāng)用戶向左滑動屏幕時,界面會進(jìn)入 NextPage,在這個界面會顯示明天和后天的天氣情。 try {//調(diào)用 service中的函數(shù),實際上是調(diào)用 IGetWeather接口中的接口函 //數(shù), 這個接口是在 Service中實現(xiàn)的 weatherinfo = (cityname)。 (new () { //在這里設(shè)置了一個匿名內(nèi)部類,如果用戶點(diǎn)擊了這個按鈕,則會 //通過 Intent跳轉(zhuǎn)到 GetInfo類 public void onClick(View v) { Intent intent = new Intent(,)。當(dāng)用戶進(jìn)入到這個類時,首先是進(jìn)入 onCreate 方法,在這個方法中先進(jìn)行一些類似初始化的工作。 setImageView(i)。 } if (i 1) i = 1。 case : { oldTouchValue = ()。 Timer timer = new Timer()。 背景設(shè)置:這個界面的背景在安桌應(yīng)用程序的配置文件中設(shè)置,不做過多的設(shè)計。 查詢界面 當(dāng)用戶在信息的主界面中點(diǎn)擊菜單按鈕后,就會進(jìn)入查詢界面。 導(dǎo)航按鈕:有三個小按鈕,其中最右邊的一個是標(biāo)為藍(lán)色的按鈕代表當(dāng)前頁。 9 滑動切換:左右滑動切換到信息界面二( NextPage)或者信息界面三( PreviousPage)。 氣溫:格式為當(dāng)天的最低溫度 /最高溫度,單位是攝氏度。在開機(jī)時會顯示一張圖片,在程序休眠一至兩秒后啟動另一個畫面 ,在這個畫面中會根據(jù)用戶的選擇 ,向左或者向右滑動時會顯示前一張圖片或者是下一張圖片,總共會顯示四張。然后分別在幾個界面中顯示。 ( 2)天氣情況,這中間包括了天氣、氣溫、風(fēng)力。 ( 2)充分研究 android 平臺 應(yīng)用程序開發(fā)的 技術(shù)的理論,掌握 Android 框架下開發(fā)應(yīng)用程序的相關(guān)技術(shù)與流程。 ( 4) 降低功耗 我們在編寫應(yīng)用程序 時要注意功耗問題,要確保應(yīng)用程序使用電量是合理的。 ( 3) 附加信息 5 在設(shè)計時,可以增加定位和網(wǎng)絡(luò)檢查功能。 選擇開發(fā)一個基于安卓操作系統(tǒng)的天氣預(yù)報應(yīng)用程 序能夠一定程度的順應(yīng)時代的潮流。無論人們想下載什么程序, 這些應(yīng)用程都已經(jīng)完成了。 安卓應(yīng)用采用的是 java 語言,具有豐富的類庫,而且邏輯代碼與界面設(shè)計分離,這也給開發(fā)人員帶來了強(qiáng)大的便利性,還有最主要的一點(diǎn)是權(quán)限控制開放。當(dāng)想把自己程序的數(shù)據(jù)和別的程序進(jìn)行互相通 信,就可以通過配置自己的消息提供者,這樣就可以以允許其他程序來訪問它的數(shù)據(jù)。安卓有四個主要組件 ,分別是 Activity,是應(yīng)用程序中的表示層。 充足的 RAM 空間 , 可以 確保 手機(jī)同時 打開 多個應(yīng)用軟件 也能表現(xiàn)出很流暢 ,基本上不會出現(xiàn)卡機(jī)現(xiàn)象 。當(dāng)然在這里就會牽涉到界面設(shè)計,安卓開發(fā)程序員可以通過 XML 文件來配置,也通過直接在這個文件中設(shè)置數(shù)據(jù),將結(jié)果顯示給用戶。 安卓最新版本為 KitKat。作為在安卓手機(jī)上運(yùn)行的應(yīng)用程序,也是在不斷的快速發(fā)展,達(dá)到了日新月異的輝煌局面。 關(guān)鍵字:智能手機(jī),安卓,操作系統(tǒng),應(yīng)用程序 II THE DEVELOPMENT OF WEATHER FORECAST APPLICATION BASED ON THE ANDROID OPERATING SYSTEM ABSTRACT When android operating system has bee true, Android is being one of most popular application platform in all over the world . Every day hundreds of thousands of android are activated what indicates that the future development pattern will undoubtedly bee the focus of the object and of the related industries are ,which is run on the android OS are developing rapidly and has reached the changing situation. Users can install all kinds of application software which are needed and connect the Inter , in order to continuously expand the function of mobile phone. By using the phone itself and work hardware and software resources as much as possible , and connect to the Inter , users can access to all kinds of resources on the work easily and get all sorts of useful information. KEYWORDS: Android , operating system , smartphone, application i 目錄 摘要 ................................................................ I ABSTRACT ........................................................ II 1 前言 .............................................................. 1 安卓操作系統(tǒng)簡介以及發(fā)展 ..................................... 1 應(yīng)用程序介紹和發(fā)展 ........................................... 2 應(yīng)用程序開發(fā)現(xiàn)狀 ............................................. 3 項目開發(fā)意義 ................................................. 4 2 項目需求分析 ...................................................... 4 功能分析 ..................................................... 4 性能分析 ..................................................... 5 安全分析 ..................................................... 5 研究內(nèi)容和開發(fā)環(huán)境需求 ....................................... 6 3 項目設(shè)計分析 ...................................................... 6 程序功能模塊圖 ............................................... 6 顯示信息設(shè)計 .....