胡清華 重慶育才成功學(xué)校
Android平臺(tái)屬于開(kāi)源性質(zhì),有其自身的獨(dú)特優(yōu)勢(shì),主要包括以下幾個(gè)方面.1)更簡(jiǎn)單.Android本身的開(kāi)源決定了平臺(tái)本身在整個(gè)Internet網(wǎng)絡(luò)中的查詢和部署的實(shí)施,很多的技術(shù)相關(guān)人員可以熟練地運(yùn)用相關(guān)技術(shù)來(lái)編寫和開(kāi)發(fā)開(kāi)源軟件。2)非常靈活。Android平臺(tái)開(kāi)源已經(jīng)使其具有靈活的特性,允許一些特殊的軟件獲得更加自由和個(gè)性化的研發(fā)空間使技術(shù)人員能夠按照公司自身的獨(dú)立情況完成個(gè)性化設(shè)計(jì),為企業(yè)獲得最佳經(jīng)濟(jì)效益的軟件.3)成本相對(duì)較低。在產(chǎn)品設(shè)計(jì)過(guò)程中,使用一些開(kāi)源軟件,可以大大降低產(chǎn)品成本投入。
Android平臺(tái)應(yīng)用程序的開(kāi)發(fā)應(yīng)基于其平臺(tái)功能的基本架構(gòu),根據(jù)Android平臺(tái)的層次結(jié)構(gòu)從下到上主要分為四個(gè)層次,首先是與硬件進(jìn)行直接交互的LinuxKernel層,這層別主要是各種設(shè)備驅(qū)動(dòng)程序,其次是Android類庫(kù)和運(yùn)行時(shí)庫(kù)文件,主要提供了Dalvik虛擬機(jī)以及核心庫(kù)運(yùn)行所必需的文件、同時(shí)還提供了類似于Sqlite數(shù)據(jù)庫(kù)支撐、OpenGL圖形渲染庫(kù)文件、SSL安全訪問(wèn)控制等等;再次,即應(yīng)用程序框架,主要包括Activity、ViewSystem、Notification管理、Window管理等等。
通常而言,每個(gè)Activity對(duì)應(yīng)一個(gè)UI界面,UI設(shè)計(jì)有兩種方式,一種是通過(guò)XML顯示,另一種是通過(guò)代碼來(lái)顯示的方式。本文提出了XML格式的UI界面設(shè)計(jì),使開(kāi)發(fā)人員能夠有效地將視圖層和代碼層分離開(kāi)來(lái),有利于開(kāi)發(fā)人員開(kāi)發(fā)UI層。
Service組件即服務(wù)組件,對(duì)應(yīng)于Activity組件,與Activity最大的區(qū)別是其運(yùn)行不可見(jiàn)。服務(wù)組件包括遠(yuǎn)程服務(wù)和本地服務(wù)是兩種類型的遠(yuǎn)程服務(wù)是獨(dú)立的進(jìn)程,即使在Activity被終止之后,這個(gè)服務(wù)仍然可以高度靈活地運(yùn)行。附著在主流程上的本地進(jìn)程,在一定程度上節(jié)省了系統(tǒng)資源。
安卓中廣播接受者組件的生命周期相對(duì)簡(jiǎn)單,主要包括創(chuàng)建BroadcastReceiver對(duì)象、調(diào)用onReceive方法,廣播銷毀三個(gè)步驟。在Android中有三種類型的廣播,即常規(guī)廣播(所有廣播聽(tīng)眾都可以接收廣播),異步廣播(打印輸出后仍然存在意向),以及有序廣播(通過(guò)廣播接收方優(yōu)先廣播接收)。
內(nèi)容提供者組件是Android平臺(tái)為開(kāi)發(fā)者提供的在不同應(yīng)用程序之間共享數(shù)據(jù)的機(jī)制。以短信為例,通常需要選擇聯(lián)系人,這時(shí)Content Provider組件就可以提供極大的方便。安卓平臺(tái)給每一個(gè)資源都提供了資源名,并以URI的形式給出,其形式類似于“content://應(yīng)用程序的標(biāo)準(zhǔn)前綴/URI標(biāo)識(shí)/路徑/需要獲取的記錄的ID”,Conten Provider就是基于URI基礎(chǔ)進(jìn)行實(shí)現(xiàn)的。利用Content Provider進(jìn)行數(shù)據(jù)共享的時(shí)候主要通過(guò)其接口中的標(biāo)準(zhǔn)方法,onCreate、insert、delete、update、query等方法進(jìn)行操作。
安卓平臺(tái)一共提供了五中數(shù)據(jù)存儲(chǔ)形式,即Shared Preferences、SQLite、網(wǎng)絡(luò)、文件以及外儲(chǔ)。作為一個(gè)輕量級(jí)的RD數(shù)據(jù)庫(kù),很少使用資源在Android平臺(tái)上扮演重要的存儲(chǔ)角色。利用Sqlite進(jìn)行數(shù)據(jù)存儲(chǔ)是非常好的一種選擇,通過(guò)簡(jiǎn)單的步驟就可以完成新建,更新,查詢,刪除等操作,在利用Sqlite數(shù)據(jù)庫(kù)時(shí)主要是利用SQLiteOpenHelper中execSQL方法進(jìn)行SQL語(yǔ)句操作。除此之外,安卓平臺(tái)還有一個(gè)AHibernate進(jìn)行更加便捷的數(shù)據(jù)庫(kù)操作,直接將查詢結(jié)果進(jìn)行對(duì)象化處理,這與JavaWeb中常見(jiàn)的Hibernate框架有一定的相似性。另外,基于Android平臺(tái)的應(yīng)用開(kāi)發(fā),以及布局設(shè)計(jì),數(shù)據(jù)顯示,網(wǎng)絡(luò)數(shù)據(jù)采集,傳感器數(shù)據(jù),GPS數(shù)據(jù)采集等諸多內(nèi)容都受到空間限制,本文不會(huì)做太多的介紹總之,使用Android平臺(tái)進(jìn)行應(yīng)用軟件開(kāi)發(fā)主要是基于各個(gè)功能設(shè)計(jì)組件來(lái)滿足用戶需求。