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

正文內(nèi)容

基于android平臺(tái)的天氣查詢系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)安卓天氣預(yù)報(bào)畢業(yè)論文(編輯修改稿)

2025-07-25 00:43 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 eiverIntent Receiver 是實(shí)現(xiàn)的應(yīng)用能夠?qū)σ粋€(gè)外部的事件作出響應(yīng)。Intent Receiver 中注冊(cè),( )進(jìn)行注冊(cè)。當(dāng)一個(gè)IntentReceiver 被觸發(fā)時(shí),應(yīng)用不必對(duì)請(qǐng)求調(diào)用 Intent Receiver,系統(tǒng)會(huì)在需要的時(shí)候啟動(dòng)應(yīng)用。( )將它們自己的Intent Receiver廣播給其他應(yīng)用程序。(3) ServiceService 是一段長(zhǎng)生命周期的、沒(méi)有用戶界面的程序。例如媒體播放器這個(gè)Activity ( )來(lái)啟動(dòng)一個(gè)Service,從而可以在后臺(tái)播放音樂(lè)。同時(shí),系統(tǒng)也將保持這個(gè)Service 一直執(zhí)行,直到Service 運(yùn)行結(jié)束。( )方法,連接到一個(gè)Service 上(如果這個(gè)Service 還沒(méi)有運(yùn)行將啟動(dòng)它)。當(dāng)連接到一個(gè)Service 之后,還可以利用Service 提供的接口與它通信。就媒體播放器來(lái)說(shuō),還可以進(jìn)行暫停、重播等操作。 (4) Content ProviderContent Provider是Android 應(yīng)用程序能夠?qū)⑺鼈兊臄?shù)據(jù)保存到文件、SQL 數(shù)據(jù)庫(kù),甚至是任何有效的設(shè)備中。Content Provider 實(shí)現(xiàn)了應(yīng)用數(shù)據(jù)與其他的應(yīng)用程序的共享。Content Provider 類實(shí)現(xiàn)一組標(biāo)準(zhǔn)的方法,能夠讓其他應(yīng)用程序保存或讀取此ContentProvider處理的各種類型數(shù)據(jù)。在Android 中,默認(rèn)使用SQLite 作為系統(tǒng)數(shù)據(jù)庫(kù),但使用方法略有不同。Android 中每一個(gè)應(yīng)用程序都運(yùn)行在各自的進(jìn)程中,當(dāng)訪問(wèn)其他應(yīng)用程序的數(shù)據(jù)時(shí),需要在不同的虛擬機(jī)之間傳遞數(shù)據(jù),這樣操作起來(lái)會(huì)有些困難(正常情況下,不能讀取其他應(yīng)用程序的數(shù)據(jù)庫(kù)文件)。ContentProvider 正是解決不同的應(yīng)用包共享數(shù)據(jù)的工具。 用戶界面Android系統(tǒng)的界面空間分為定制控件。定制空間是用戶獨(dú)立開(kāi)發(fā)的空間,或者通過(guò)繼承并修改系統(tǒng)空間后所產(chǎn)生的新空間,能夠提供特殊的功能和顯示需求。系統(tǒng)控件是Android系統(tǒng)中已經(jīng)封裝好的界面控件,而在代碼中動(dòng)態(tài)修改需要更新?tīng)顟B(tài)的界面元素。當(dāng)然,用戶也可以將所有的界面元素,無(wú)論在程序運(yùn)行后是否需要修改其內(nèi)容,都放在代碼中進(jìn)行定義和聲明。很明顯這不是一種良好的界面設(shè)計(jì)模式,會(huì)給后期界面修改帶來(lái)不必要的麻煩,是應(yīng)用程序開(kāi)發(fā)過(guò)程中最常見(jiàn)的功能控件。系統(tǒng)控件更有利于進(jìn)行快速開(kāi)發(fā),同事能夠使Android應(yīng)用程序的界面保持一定的一致性。常見(jiàn)的系統(tǒng)控件包括TextView、EditView、Button、ImageButton、CheckButton、Spinner、ListView和Tablehost。界面布局(layout)是用戶界面結(jié)構(gòu)的描述,定義界面中所有的元素、結(jié)構(gòu)和相互關(guān)系。一般生命Android程序的界面布局有兩種方法,第一種是使用XML文件描述界面的布局,另一種是在程序運(yùn)行時(shí)動(dòng)態(tài)添加或修改界面布局。Android系統(tǒng)在生命界面布局上提供了很好的靈活性,用戶既可以獨(dú)立使用任何一種聲明布局的方式,也可以同時(shí)使用兩種方式。一般情況下,使用XML文件來(lái)描述用戶界的基本元素,而在代碼中動(dòng)態(tài)修改需要更新?tīng)顟B(tài)的界面元素。當(dāng)然,用戶也可以將所有的界面元素,無(wú)論在程序運(yùn)行后是否需要修改其內(nèi)容,都放在代碼中進(jìn)行定義和聲明。很明顯這不是一種良好的界面設(shè)計(jì)模式,會(huì)給后期界面修改帶來(lái)不必要的麻煩,而且界面較多時(shí),程序代碼也會(huì)顯示凌亂不堪。使用XML文件聲明界面布局,能夠更多地將程序的表現(xiàn)層和控制層分離,在修改界面時(shí)將不再需要更改程序的源代碼。界面布局的種類:(1) 線性布局:線性布局(LinearLayout)是一種重要的界面布局,也是經(jīng)常使用的界面布局。在線性布局中,所有子元素都在垂直或水平方向按照順序在界面上排序。(2) 框架布局: 框架布局(FrameLayout)是最簡(jiǎn)單的界面布局,用來(lái)存放一個(gè)元素的空白控件,且子元素的位置不能夠制定的,只能夠放置在空白空間的左上角。(3) 表格布局:(TableLayout)也是一種常用的界面布局,它將屏幕劃分為表格,通過(guò)制定行和列可以將界面元素添加到表格中。(4) 相對(duì)布局:(RelativeLayout)是一種非常靈活的布局方式,能夠通過(guò)指定界面元素與其他元素的相對(duì)位置關(guān)系,確定界面中所有元素的布局為止。(5) 絕對(duì)布局:(AbsoluteLayout)能通過(guò)指定界面元素的坐標(biāo)文職,來(lái)確定用戶界面的整體布局。 FragmentFragment的主要目的在大屏幕設(shè)備上實(shí)現(xiàn)靈活的、動(dòng)態(tài)的界面設(shè)計(jì)。例如,在Android的平板電腦上,因?yàn)槠聊挥懈嗟目臻g來(lái)配置更多的組件,并且這些組件之間還會(huì)產(chǎn)生一定的數(shù)據(jù)交互。Fragment支持這種設(shè)計(jì)理論,開(kāi)發(fā)人員不需要管理復(fù)雜的試圖結(jié)構(gòu)變化,而且把這些動(dòng)態(tài)的管理交給Fragment和回退堆棧(back stack)完成,在進(jìn)行界面設(shè)計(jì)時(shí),只需要將界面布局按照功能和取于劃分為不同的模塊,每個(gè)模塊設(shè)計(jì)成一個(gè)Fragment即可。Fragment具有和Activity類似的生命周期,但是比Activity支持更多的事件回調(diào)函數(shù)。Fragment生命周期中回調(diào)函數(shù)。 網(wǎng)絡(luò)編程之使用HttpClient進(jìn)行Get方式通信基于Android 操作系統(tǒng)的天氣實(shí)況預(yù)報(bào)系統(tǒng)設(shè)計(jì)的核心是通過(guò)調(diào)用通信協(xié)議SOAP(Simple Object AccessProtocol)的接口,從Web Service 提供商中提取天氣預(yù)報(bào)的數(shù)據(jù)信息。采用HttpPost來(lái)與后臺(tái)交互,然后對(duì)數(shù)據(jù)進(jìn)行解析,從中找到需要的數(shù)據(jù)。如下圖所示為提供webservice服務(wù)的網(wǎng)站網(wǎng)絡(luò)拓?fù)鋱D 圖 21 網(wǎng)絡(luò)拓?fù)鋱D在Android開(kāi)發(fā)中,Android SDK附帶了Apache的HttpClient,它是一個(gè)完善的客戶端。它提供了對(duì)HTTP協(xié)議的全面支持,可以使用HttpClient的對(duì)象來(lái)執(zhí)行HTTP GET和HTTP POST調(diào)用。HTTP工作原理:(1) 客戶端(一般是指瀏覽器,這里是指自己寫(xiě)的程序)與服務(wù)器建立連接(2) 建立連接后,客戶端向服務(wù)器發(fā)送請(qǐng)求(3) 服務(wù)器接收到請(qǐng)求后,向客戶端發(fā)送響應(yīng)信息(4) 客戶端與服務(wù)器斷開(kāi)連接HttpClient的一般使用步驟:(1) 使用DefaultHttpClient類實(shí)例化HttpClient對(duì)象(2) 創(chuàng)建HttpGet或HttpPost對(duì)象,將要請(qǐng)求的URL通過(guò)構(gòu)造方法傳入HttpGet或HttpPost對(duì)象。(3) 調(diào)用execute方法發(fā)送HTTP GET或HTTP POST請(qǐng)求,并返回HttpResponse對(duì)象。(4) 通過(guò)HttpResponse接口的getEntity方法返回響應(yīng)信息,并進(jìn)行相應(yīng)的處理。usespermission android:name= /聚合數(shù)據(jù)全國(guó)天氣預(yù)報(bào)數(shù)據(jù)接口使用HttpClient進(jìn)行Get方式通信,通過(guò)HttpClient建立網(wǎng)絡(luò)連接,使用HttpGet方法讀取數(shù)據(jù),并且通過(guò)HttpResponse獲取Entity返回值。第3章 開(kāi)發(fā)環(huán)境配置 Android開(kāi)發(fā)框架下圖是Android的體系架構(gòu)圖,自上而下分別為應(yīng)用層、應(yīng)用框架、類庫(kù)和Alvik運(yùn)行時(shí)環(huán)境以及Linux內(nèi)核。 Android的體系架構(gòu)圖一般來(lái)說(shuō),我們想從事Android開(kāi)發(fā),可以從應(yīng)用開(kāi)發(fā)作為切入點(diǎn),逐漸熟悉其整個(gè)體系,并慢慢往其底層滲透,從而能做到軟硬兼?zhèn)?,Android系統(tǒng)開(kāi)發(fā)班的課程設(shè)置就充分考慮到了這一點(diǎn),既涉到應(yīng)用開(kāi)發(fā)的透徹掌握,又幫助大家在系統(tǒng)開(kāi)發(fā)層面上做好充分的準(zhǔn)備。而從學(xué)習(xí)的路線圖上來(lái)說(shuō),先熟悉Java SE編程,能比較熟練的使用Java語(yǔ)言進(jìn)行編程,熟悉Java語(yǔ)言語(yǔ)法特點(diǎn),熟悉Java IO、Java線程、網(wǎng)絡(luò)編程、XML處理等。另外,因?yàn)楹芏嗟腁ndroid應(yīng)用在運(yùn)行時(shí)都需要去訪問(wèn)網(wǎng)站服務(wù)器,因此,熟悉一種網(wǎng)絡(luò)編程語(yǔ)言也是必要的。 無(wú)論是從開(kāi)發(fā)班的課程設(shè)置就充分考慮到了這一點(diǎn),既涉到應(yīng)用開(kāi)發(fā)的透徹掌握,又幫助大家在系統(tǒng)開(kāi)發(fā)層面上做好充分的準(zhǔn)備。而從學(xué)習(xí)的路線圖上來(lái)學(xué)習(xí)的方便性還是市場(chǎng)占有情況來(lái)說(shuō)使用JSP/Servlet都是不二的選擇,另外,在這個(gè)階段也順便學(xué)習(xí)一下SQL語(yǔ)法和熟悉一種SQL數(shù)據(jù)庫(kù),以方便后續(xù)Android開(kāi)發(fā)中進(jìn)行SQLite數(shù)據(jù)庫(kù)開(kāi)發(fā)。學(xué)習(xí)完這些課程后,就可以開(kāi)始進(jìn)行Android的應(yīng)用開(kāi)發(fā)的學(xué)習(xí),例如Android中的UI組件、基本組件、數(shù)據(jù)存儲(chǔ)、傳感器、圖形圖像處理、多媒體處理、游戲開(kāi)發(fā)等。Android包含一套C/C++庫(kù),Android系統(tǒng)的各式組件都在使用。這些功能通過(guò)Android應(yīng)用框架暴露給開(kāi)發(fā)人員。Android的核心類庫(kù)提供Java類庫(kù)所提供的絕大部分功能。每個(gè)Android應(yīng)用都運(yùn)行在自己的進(jìn)程上,享有Dalvik虛擬機(jī)為它分配的專有實(shí)例。為了支持多個(gè)虛擬機(jī)在同一個(gè)設(shè)備上高效運(yùn)行,Dalvik被改寫(xiě)過(guò)。 Dalvik虛擬機(jī)執(zhí)行的是Dalvik格式的可執(zhí)行文件(.dex)該格式經(jīng)過(guò)優(yōu)化,以降低內(nèi)存耗用到最低。Java編譯器將Java源文件為class文件,class文件又被內(nèi)置的dx工具轉(zhuǎn)化為dex格式文件,這種文件在Dalvik虛擬機(jī)上注冊(cè)并運(yùn)行。在一些底層功能——比如線程和低內(nèi)存管理方面,Dalvik虛擬機(jī)是依賴Linux內(nèi)核的。為了更好地進(jìn)行應(yīng)用編程,可以有選擇的對(duì)其Lib類庫(kù)進(jìn)行分析,以加深對(duì)其工作機(jī)制的理解。再往下,就是操作系統(tǒng)層級(jí)了,這里應(yīng)該要對(duì)Linux操作系統(tǒng)進(jìn)行學(xué)習(xí),熟悉其內(nèi)核和運(yùn)行原理,熟悉ARM體系架構(gòu)以及常用指令并熟悉驅(qū)動(dòng)的編寫(xiě)方式,掌握其移植方法等。Android的核心應(yīng)用程序就是依賴框架層次API開(kāi)發(fā)的,程序員們可以充分使用這些API。應(yīng)用架構(gòu)設(shè)計(jì)的初衷是,簡(jiǎn)化組件復(fù)用機(jī)制,任何應(yīng)用都能發(fā)布自己的功能,這些功能又可以被任何其他應(yīng)用使用,當(dāng)然要受來(lái)自框架的強(qiáng)制安全規(guī)范的約束。每個(gè)Android應(yīng)用程序都存在于它自己的世界之中,默認(rèn)情況下,每個(gè)應(yīng)用程序均運(yùn)行于它自己的Linux進(jìn)程中。當(dāng)應(yīng)用程序中的任意代碼開(kāi)始執(zhí)行時(shí),Android啟動(dòng)一個(gè)進(jìn)程而當(dāng)不再需要此進(jìn)程而其它應(yīng)用程序又需要系統(tǒng)資源時(shí),則關(guān)閉這個(gè)進(jìn)程。 每個(gè)進(jìn)程都運(yùn)行于自己的Java虛擬機(jī)(VM)中。所以應(yīng)用程序代碼實(shí)際上與其它應(yīng)用程序的代碼是隔絕的。 默認(rèn)情況下,每個(gè)應(yīng)用程序均被賦予一個(gè)唯一的Linux用戶ID,并加以權(quán)限設(shè)置,使得應(yīng)用程序的文件僅對(duì)這個(gè)用戶、這個(gè)應(yīng)用程序可見(jiàn)。當(dāng)然,也有其它的方法使得這些文件同樣能為別的應(yīng)用程序所訪問(wèn)。Android應(yīng)用的構(gòu)成和工作流程如圖 Android應(yīng)用的構(gòu)成和工作流程每個(gè)Android應(yīng)用程序都存在于它自己的世界之中,默認(rèn)情況下,每個(gè)應(yīng)用程序均運(yùn)行于它自己的Linux進(jìn)程中。當(dāng)應(yīng)用程序中的任意代碼開(kāi)始執(zhí)行時(shí),Android啟動(dòng)一個(gè)進(jìn)程而當(dāng)不再需要此進(jìn)程而其它應(yīng)用程序又需要系統(tǒng)資源時(shí),則關(guān)閉這個(gè)進(jìn)程。每個(gè)進(jìn)程都運(yùn)行于自己的Java虛擬機(jī)(VM)中。所以應(yīng)用程序代碼實(shí)際上與其它應(yīng)用程序的代碼是隔絕的。默認(rèn)情況下,每個(gè)應(yīng)用程序均被賦予一個(gè)唯一的Linux用戶ID,并加以權(quán)限設(shè)置,使得應(yīng)用程序的文件僅對(duì)這個(gè)用戶、這個(gè)應(yīng)用程序可見(jiàn)。當(dāng)然,也有其它的方法使得這些文件同樣能為別的應(yīng)用程序所訪問(wèn)。(l) 應(yīng)用程序架構(gòu): 在應(yīng)用程序架構(gòu)內(nèi)已經(jīng)具備多種不同的基礎(chǔ)組件,在開(kāi)發(fā)應(yīng)用程序時(shí),就可以直接調(diào)用這些組件來(lái)使用,可以節(jié)省開(kāi)發(fā)應(yīng)用程序的心力及時(shí)間。(2) Dalvik虛擬機(jī)器: 在Android平臺(tái)上所使用Java虛擬機(jī),不是Sim公司的標(biāo)準(zhǔn)Java虛擬機(jī),而是使用Google自主開(kāi)發(fā)的代號(hào)為Dalvik的虛擬機(jī),它在保證API方面的兼容的同時(shí),針對(duì)移動(dòng)手機(jī)進(jìn)行了大幅優(yōu)化,占用資源更小,運(yùn)行效率更高。(3) 集成的瀏覽器: 集成的瀏覽器是Android內(nèi)建的瀏覽器,是以WebKit的瀏覽引擎為基礎(chǔ)所開(kāi)發(fā)成的。WedKit是一個(gè)開(kāi)源瀏覽器網(wǎng)頁(yè)排版引擎,目前使用WebKit引擎的瀏覽器主要有:Safari、Midori、Epiphany等。配合Android手機(jī)的功能,可以在瀏覽網(wǎng)頁(yè)時(shí),達(dá)到更好的效果,例如:局部性的縮放網(wǎng)頁(yè)上的資訊、觸控式的操作等效果。
(4) 優(yōu)化的繪圖能力: 在程序里可以用到的繪圖功能分為2D與3D兩個(gè)方面。在2D方面Android提供了一套特有的類庫(kù)(SGL。(openGL for Embedded systems)規(guī)范的類庫(kù)。它們是一種非??斓膱D形引擎,并且支持硬件加速。(5) SQLite數(shù)據(jù)庫(kù): SQLite提供結(jié)構(gòu)化的數(shù)據(jù)存取。SQLite是一款輕型的數(shù)據(jù)庫(kù),它的設(shè)計(jì)目標(biāo)是嵌入式的,目前已經(jīng)在很多嵌入式產(chǎn)品中使用了它,它占用的資源非常低。它能夠支持Windows/Linux/U nix等主流的操作系統(tǒng),同時(shí)能夠跟很多程序語(yǔ)言相結(jié)合,比如:php、Java等,還有ODBC接口,同樣比起Mysql、PostgreSQL來(lái)講,它的處理速度比它們都快。它無(wú)需安裝和管理配置,它是一個(gè)儲(chǔ)存在單一磁盤(pán)文件中的完整數(shù)據(jù)庫(kù),體積小只有250KB但支持?jǐn)?shù)據(jù)庫(kù)大小至2TB。它雖然很小巧,但是支持的SQL語(yǔ)句毫不遜色于其它開(kāi)源數(shù)據(jù)庫(kù)。同時(shí)它還支持事務(wù)功能和并發(fā)處理等等。SQLite也是一套開(kāi)放性的關(guān)聯(lián)式資料庫(kù)其特點(diǎn)在于輕量性方面的設(shè)計(jì)結(jié)構(gòu),更適合在手機(jī)上使用。(6) 多媒體的支持能力: 主要用于播放媒體文件。這同時(shí)包括對(duì)音頻(如播放MP3或其他音樂(lè)文件等)和視頻(如播放從網(wǎng)上下載的視頻)的支持,并支持“播放URI地址”(Note:URI即是統(tǒng)一資源識(shí)別地址)模式—在網(wǎng)絡(luò)上直接播放的流媒體。另外支持各種通用的靜態(tài)圖像格式,例如:JPG、PNG、GIF等格式。(7) GSM技術(shù): Global System for Mobile Communications,即全球移動(dòng)通訊系統(tǒng),俗稱”全球通”,是一種起源于歐洲的移動(dòng)通信技術(shù)標(biāo)準(zhǔn),是第二代移動(dòng)通信技術(shù),其開(kāi)發(fā)目的是讓全球各地可以共同使用一個(gè)移動(dòng)電話網(wǎng)絡(luò)標(biāo)準(zhǔn),讓用戶使用一部手機(jī)就能行遍全球。GSM技術(shù)是屬于手機(jī)硬件方面的展現(xiàn)。它無(wú)需安裝和管理配置,它是一個(gè)儲(chǔ)存在單一磁盤(pán)文件中的完整數(shù)據(jù)庫(kù)
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1