開(kāi)箱即用!Android四款系統(tǒng)架構(gòu)工具
一款功能強(qiáng)大且實(shí)用的開(kāi)發(fā)工具可以為開(kāi)發(fā)者簡(jiǎn)化開(kāi)發(fā)流程,提高工作效率,允許開(kāi)發(fā)者在應(yīng)用開(kāi)發(fā)本身投入更多的時(shí)間和精力,從而提高作品質(zhì)量。本文就為大家分享4款實(shí)用的Android應(yīng)用架構(gòu)工具。
開(kāi)發(fā)者若想開(kāi)發(fā)出一款高質(zhì)量的應(yīng)用,一款功能強(qiáng)大的開(kāi)發(fā)工具想必是不可或缺的。開(kāi)發(fā)工具簡(jiǎn)化了應(yīng)用的開(kāi)發(fā)流程,也能使開(kāi)發(fā)者在應(yīng)用開(kāi)發(fā)本身投入更多的精力。本文就為大家?guī)?lái)4款實(shí)用的Android應(yīng)用架構(gòu)工具。
1. Spring for Android
Spring for Android是Spring框架在Android平臺(tái)上的擴(kuò)展,旨在簡(jiǎn)化Android原生應(yīng)用的開(kāi)發(fā)流程,提高開(kāi)發(fā)者的工作效率。Spring for Android可以幫助開(kāi)發(fā)者簡(jiǎn)化應(yīng)用與服務(wù)器端交互和Auth授權(quán)驗(yàn)證。

很多Android應(yīng)用都要與服務(wù)器進(jìn)行交互,而現(xiàn)在很多應(yīng)用服務(wù)器都會(huì)提供REST服務(wù),數(shù)據(jù)格式一般是JSON、XML、RSS等,使用Spring for Android將會(huì)大大地方便Android應(yīng)用與服務(wù)器端的交互。Spring for Android能夠簡(jiǎn)化JSON的解析工作。截至目前,Spring for Android支持3個(gè)JSON第三方庫(kù)(Jackson JSON Processor、Jackson 2.x和Google Gson)。另外,Spring for Android中的Simple XML Serializer 也可以幫助開(kāi)發(fā)者解析XML文件。
現(xiàn)在很多應(yīng)用都提供開(kāi)放的API服務(wù),Android應(yīng)用往往要經(jīng)過(guò)授權(quán)才能接入這些服務(wù),而如今大多應(yīng)用都采用Auth授權(quán)認(rèn)證,使用Spring for Android可以幫助開(kāi)發(fā)者快速地進(jìn)行授權(quán)處理。
2. GreenDroid
GreenDroid是一款高效的Android開(kāi)發(fā)類庫(kù),可以為開(kāi)發(fā)者提供一個(gè)更為輕便的Android開(kāi)發(fā)環(huán)境。
Android的開(kāi)放性使得各種應(yīng)用的UI設(shè)計(jì)基本上喪失了一致性。不管是官方應(yīng)用還是第三方應(yīng)用,都選擇使用自己的UI交互,開(kāi)發(fā)各種非標(biāo)準(zhǔn)的按鈕和控件。GreenDroid可以使開(kāi)發(fā)者的應(yīng)用與Android生態(tài)系統(tǒng)保持一致,并試圖為開(kāi)發(fā)者打造界面結(jié)構(gòu)與風(fēng)格一致的開(kāi)發(fā)環(huán)境。
GreenDroid能夠很好地利用Android框架所提供的功能,幫助開(kāi)發(fā)者提高應(yīng)用質(zhì)量,還能允許開(kāi)發(fā)者隨時(shí)對(duì)應(yīng)用功能進(jìn)行優(yōu)化。
XML作為承載數(shù)據(jù)的一個(gè)重要角色,如何利用XML成為Android開(kāi)發(fā)中一項(xiàng)重要的技能。GreenDroid可以把XML文件解析到庫(kù)中,幫助開(kāi)發(fā)者充分利用XML。
3. Ignition
開(kāi)發(fā)者通過(guò)使用Ignition所提供的即用組件和樣板文件的實(shí)用類,可以讓所開(kāi)發(fā)的Android應(yīng)用快速起步。
Ignition涵蓋的區(qū)域包括:Widget、Adapter、Dialog等UI組件;允許編寫(xiě)簡(jiǎn)單卻強(qiáng)大的網(wǎng)絡(luò)代碼的HTTP Wrapper庫(kù);加載遠(yuǎn)程Web圖像并進(jìn)行緩存的類;簡(jiǎn)單但有效的緩存框架(將對(duì)所有對(duì)象樹(shù)做出響應(yīng)的HTTP緩存到內(nèi)存或硬盤(pán)中);Intents、diagnostics等幾個(gè)能讓API級(jí)別更容易向后兼容的幫助類;更友好、更強(qiáng)大的AsyncTask實(shí)現(xiàn)。
Ignition包括三個(gè)子項(xiàng)目:Ignition-core——是一個(gè)可以直接編譯到App中的Android庫(kù)項(xiàng)目。Ignition-support——一個(gè)標(biāo)準(zhǔn)的Java庫(kù)項(xiàng)目,被部署為一個(gè)普通的JAR,包含了大部分實(shí)用工具類。開(kāi)發(fā)者可以獨(dú)立使用該工程的核心模塊。Ignition-location——一個(gè)可以直接編譯到應(yīng)用程序中的Android AspectJ庫(kù)項(xiàng)目。能夠讓定位應(yīng)用在不需要Activity位置更新處理的情況下獲取到最新的位置信息。
4. DroidParts
DroidParts是Android開(kāi)發(fā)中一組常用的開(kāi)發(fā)組件,DroidParts可以給開(kāi)發(fā)者帶來(lái)許多都意想不到的便利。DroidParts主要囊括以下幾個(gè)方面:
DI——DroidParts在注入Views、Services方面做到了真正的“開(kāi)箱即用”效果,并且自定義依賴關(guān)系可以定義在DependencyProvider類中。ORM——通過(guò)利用Cursors和Fluent API,DroidParts可以幫助開(kāi)發(fā)者實(shí)現(xiàn)高效模型持久化。JSON——DroidParts中含有簡(jiǎn)單的JSON生成和解析器,實(shí)現(xiàn)了對(duì)嵌套對(duì)象的高效處理。ImageFetcher——可以將圖片異步加載ImageViews中,同時(shí)支持淡入和淡出效果。RESTClient——可以向服務(wù)器發(fā)送各種HTTP請(qǐng)求(用戶也可以自定義請(qǐng)求方式和提交JSON對(duì)象),并顯示服務(wù)器響應(yīng)。
此外,DriodParts改進(jìn)了AsyncTask和IntentService,支持應(yīng)用的異常處理和結(jié)果報(bào)告。