国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
安卓開發(fā)經(jīng)驗(yàn)分享:資源、UI、函數(shù)庫、測試、構(gòu)建一個(gè)都不能少

除了高超的武藝,每位黑忍者還需要裝備最好的武器。在軟件開發(fā)的世界里,好的工具能讓我們的生活變得更輕松,在更短的時(shí)間里寫出更棒的代碼。

時(shí)光回到2008年,那時(shí)安卓還很年輕。只有幾個(gè)相關(guān)的博客和谷歌官方的幾個(gè)應(yīng)用開發(fā)教程,沒有函數(shù)庫也沒有代碼生成器,甚至連成熟的設(shè)計(jì)模式也沒有(除了OOP和一些Java實(shí)踐)。今非昔比,我們已經(jīng)有了一個(gè)成熟的OS、很棒的開發(fā)工具、穩(wěn)定的Eclipse插件和其他IDE,數(shù)不清的開發(fā)書籍和相關(guān)的技術(shù)博客。

這里,我想分享自己在開發(fā)安卓應(yīng)用時(shí)用到的工具和一些技巧,希望可以讓大家少走一些彎路。

1. 資源

所有的UI指南都可以在這里找到。有些時(shí)候我們需要快速地找到資源,我們需要工具欄圖標(biāo)、主題、其他圖標(biāo)和各種安卓應(yīng)用需要的設(shè)計(jì)資源。Android Assets Studio是最佳工具之一。它可以為你生成各種分辨率 (mdpi, hdpi, xhdpi)的啟動(dòng)器、標(biāo)簽、工具欄、菜單圖標(biāo),可以按照你的配色生成主題,還可以生成工具欄資源 適用于Sherlock Action Bar。轉(zhuǎn)換和縮放DPI是很痛苦的,所以你需要Android Dpi Calculator

2. UI組件

只要遵循安卓官方的UI設(shè)計(jì)理念,我們就在重用UI組件。有很多優(yōu)秀的通用組件可以利用,當(dāng)然你可以基于他們開發(fā)適合自己的組件。你可以在Android Views上找到他們。這里我只提出幾個(gè)“必備的”組件:

  • Sherlock Action Bar:作者Jake Wharton。這個(gè)工具欄設(shè)計(jì)擴(kuò)展了支持函數(shù)庫,可以通過一個(gè)API操作各個(gè)版本的安卓工具欄。該函數(shù)庫會(huì)在合適的時(shí)候自動(dòng)調(diào)用原生工具欄,也可以在你布局基礎(chǔ)上封裝一個(gè)自定義實(shí)現(xiàn)。這樣你就可以很輕松地為各種2.x及以上的安卓版本開發(fā)一個(gè)帶工具欄的應(yīng)用。
  • Sliding Menu :這是時(shí)下非常流行的UI模式。Google Play市場上很多最佳應(yīng)用都采用了這個(gè)UI模式,比如Google Plus、Facebook、Youtube以及其他的應(yīng)用程序都采用了Sliding Menu。
  • Cards:一個(gè)非常漂亮簡介的UI組件,可以讓你的應(yīng)用看起來和Google Home一樣。你可以在屏幕上添加一個(gè)或者層疊若干個(gè)卡片。

3. 函數(shù)庫

安卓應(yīng)用不僅僅是UI,還包括了很多顏色和圖片資源。Optimus Prime(譯著:《變形金剛》里面正義一方的領(lǐng)袖)曾經(jīng)說過:“真相不只是眼前所見”。我們還需要編寫后臺(tái)代碼加載和緩存圖片、加快與服務(wù)器通訊、編寫數(shù)據(jù)庫操作工具等等。接下來,我們理所應(yīng)當(dāng)?shù)貢?huì)重用一些最佳實(shí)踐代碼。我的最愛(以及常用的工具)包括:

  • Android Universal Loader:高度可定制圖片下載和加載函數(shù)庫。支持從緩存或文件加載,配置非常簡單。
  • Spring for Android:如果你沒有聽說過Spring…那么請(qǐng)先去搜索一下。這個(gè)最流行的Java框架已經(jīng)將他的產(chǎn)品線延伸到了移動(dòng)領(lǐng)域。正如他們所說“移動(dòng)就是未來”。Spring for android提供了幾個(gè)很棒的函數(shù)庫和框架,包括:
    • Spring RESTtemplate:一個(gè)非常流行的基于Java REST客戶端。Spring for Android RestTemplate模塊提供了一個(gè)可以在安卓環(huán)境下工作的RestTemplate版本,為你的安卓應(yīng)用程序提供了一個(gè)非常靈活的REST API。
    • 驗(yàn)證支持:OAuth是該領(lǐng)域快速崛起一個(gè)的協(xié)議。OAuth是一個(gè)開源協(xié)議,為用戶提供第三方應(yīng)用支持,提供對(duì)其他網(wǎng)站受限資源或服務(wù)的訪問。
  • Square:他們?cè)贕itHub上發(fā)布了很多優(yōu)秀的函數(shù)庫。我最喜歡的是RetoFit,正如他的介紹那樣“一個(gè)類型安全的安卓和Java REST客戶端”。
  • OrmLite :編寫和維護(hù)數(shù)據(jù)庫表通常是很乏味的。OrmLite是一個(gè)支持安卓和Sqlite的ORM框架。通常完成這項(xiàng)工作會(huì)有數(shù)不清的備選工具,但是如果你正在創(chuàng)建一個(gè)需要很大數(shù)據(jù)庫的應(yīng)用也許OrmLite會(huì)是你的最佳選擇。最好的事情是——OrmLite是通過注解驅(qū)動(dòng)的。
  • AndroidAnnotations:UI和代碼之間的粘合劑,通過它可以編寫更少的代碼并且輕松維護(hù)現(xiàn)存的代碼。

4. 測試

作為開發(fā)者,我們會(huì)不時(shí)地進(jìn)行一些測試。畢竟,我們必須確保開發(fā)的程序能正常工作。能遵循測試驅(qū)動(dòng)開發(fā)(TDD)當(dāng)然最好,但是有時(shí)候我們只需要一些簡單的測試。這只是我個(gè)人的看法,最終選擇權(quán)始終在你手上。

  • Monkey:檢查應(yīng)用是否會(huì)出現(xiàn)ANR(譯者注: ApplicationNotResponding應(yīng)用程序無響應(yīng))的最簡單、快速和有效的方法。它會(huì)在你的應(yīng)用上執(zhí)行N次隨機(jī)點(diǎn)擊。你可以在午休時(shí)運(yùn)行一下Monkey。
  • Android Test :一個(gè)基于JUnit的安卓測試框架。它提供了所有類型的測試。你可以為UI/活動(dòng)編寫測試用例。功能測試或者黑盒UI測試不要求測試者對(duì)應(yīng)用的實(shí)現(xiàn)細(xì)節(jié)非常了解,只需要從用戶角度了解執(zhí)行特定動(dòng)作或者輸入特定內(nèi)容會(huì)有怎樣的輸出結(jié)果。這個(gè)方法可以讓開發(fā)和測試人員在你的組織里獨(dú)立地工作。
  • Robotium :這是一個(gè)安卓自動(dòng)化測試框架,支持原生應(yīng)用和混合型應(yīng)用。通過Robotium你可以輕松地編寫功能強(qiáng)大、健壯性好的黑盒測試用例。測試開發(fā)者可以編寫涵蓋各種安卓操作的功能測試、系統(tǒng)測試和驗(yàn)收測試用例。此外,Robotium還有一個(gè)非常活躍的開發(fā)者論壇。
  • 云端測試:你可以在大量設(shè)備上運(yùn)行你的測試并獲得所有崩潰和錯(cuò)誤信息。相關(guān)的工具有:

他們不是免費(fèi)的,但確實(shí)好用。

5. 構(gòu)建

這是我最喜歡的部分。我們?nèi)諒?fù)一日、年復(fù)一年地工作…..是時(shí)候展示自己的產(chǎn)品了。你的應(yīng)用可能會(huì)分付費(fèi)版、免費(fèi)版或?qū)侔?。他們?huì)有通用的部分和一些專有邏輯。也許你會(huì)有一個(gè)為100個(gè)客戶定制的應(yīng)用,不同的包名、顏色、名稱、各種資源和產(chǎn)品風(fēng)格…..我剛才提到了構(gòu)建版本嗎?一個(gè)開發(fā)版、不同階段的測試版、生產(chǎn)測試版、客戶Beta版…..(軟件版本命名)等等。

在一天工作結(jié)束的時(shí)候,秘密就在維護(hù)和管理發(fā)布流程。對(duì)于這項(xiàng)工作,我只推薦下面幾個(gè)構(gòu)建工具。

  • Ant:我從Ant開始,因?yàn)樗荍ava開發(fā)者最熟悉的一個(gè)工具。如果你通過Ant構(gòu)建一個(gè)安卓項(xiàng)目,你會(huì)編寫一個(gè)包含了所有默認(rèn)構(gòu)建任務(wù)的build.xml,它會(huì)為你完成一些簡單的工作。如果你需要更高級(jí)的功能,深呼吸準(zhǔn)備好進(jìn)一步鉆研吧……如果要進(jìn)行依賴管理,這是更艱巨的任務(wù)。
  • Maven:我的一個(gè)朋友曾經(jīng)說過:“Maven管理安卓應(yīng)用只有Hello World”。Maven從未被谷歌或者安卓官方支持。社區(qū)開發(fā)的幾個(gè)Maven插件在安卓構(gòu)建工具的每個(gè)新版本上都會(huì)崩潰。Maven配置困難,但維護(hù)和運(yùn)行很容易。它的依賴管理做的很好,但是很多安卓函數(shù)庫并沒有包含在Maven主倉庫。
  • Gradle:谷歌IO 2013發(fā)布了Gradle。它是安卓官方支持的構(gòu)建工具,也是Android Studio IDE的一部分。Spring和其他幾個(gè)業(yè)界巨頭也都支持Gradle。我發(fā)現(xiàn)Gradle的語法簡單而且易于理解。我成功地構(gòu)建了一個(gè)簡單項(xiàng)目,一個(gè)帶有復(fù)雜構(gòu)建邏輯的項(xiàng)目并在24小時(shí)內(nèi)從ant/maven上移植了3個(gè)項(xiàng)目到Gradle。Gradle的依賴管理很棒,支持從Maven和Ivy倉庫獲?。╬ulling)文件以及多項(xiàng)目構(gòu)建。我得說:Gradle是新的安卓官方構(gòu)建工具,相關(guān)的安卓插件在不久的將來應(yīng)該會(huì)很快開發(fā)并支持,所以繼續(xù)關(guān)注。

我總是會(huì)鼓勵(lì)開發(fā)者使用并重用經(jīng)過檢驗(yàn)的概念、模式、框架和函數(shù)庫。當(dāng)然,只是針對(duì)產(chǎn)品的發(fā)布版本。你總是需要學(xué)習(xí)和實(shí)驗(yàn)新工具和新框架。因?yàn)榧词故亲畈顒诺娜陶咭残枰チ磷约旱奈涫康?)

編程快樂!

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
AndroidStudio Gradle 和 Gradle plugin的區(qū)別
安卓平臺(tái)與SDKTools版本以及ADT版本的對(duì)應(yīng)關(guān)系
干貨|手把手教你寫一個(gè)安卓app
安卓智能地圖開發(fā)與實(shí)施(一)配置離線SDK
使用Gradle構(gòu)建Android項(xiàng)目
Android Gradle編譯學(xué)習(xí)日記之一(搭建 Gradle 環(huán)境以及編譯 Android 應(yīng)用)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服