編輯:Android資訊
本文由碼農網 – 小峰原創翻譯,轉載請看清文末的轉載要求,歡迎參與我們的付費投稿計劃!
這些Android開發的技巧都是我個人的經驗。總共10條,所以我又把它們叫做是“Android開發的10大技巧”。如果想看有關編程方面的技巧,推薦《受益無窮的遺產——編程十誡》。
下面讓我們進入正文:
大多數Android開發是在Eclipse中進行的,其實IntelliJ IDEA的社區版也挺不錯,我用它非常順暢地編寫了一些應用程序。就個人而言,我對於Eclipse的UI拖放接口並不怎麼在乎。不過它確實令人印象深刻,很多工作需要在這裡完成。
我們都喜歡使用最新的Android版本,因為上面會出來一些新的很酷的玩意兒。但是,目前市場上的Android智能手機還跟不上新版本發布的速度。所以在投入到編碼之前,應該先做一個初步的調查。看看舊版本編寫的應用程序是否還是主流。如果答案是肯定的,那麼想用新版本,你可能就還需要再等一段時間。
模擬器不但非常的慢,而且測試的東西很有限。我一般只用它來測試我的應用程序放到更大尺寸的屏幕上時,看上去怎麼樣,並且僅此而已。我的建議是,如果你想要節省時間,使用通過USB連接到真實設備。不過實際上你需要配備兩台設備,因為有些東西你需要做設備對設備的通信測試,比如說SMS、藍牙等。當然如果第二個設備的屏幕尺寸與第一個不一樣就更好了。設備越不同,應用程序的測試效果就越好。
所有Android的UI都是基於XML的,這一開始的時候讓我頭大無比。雖然也有其他工具可以完成UI的某些方面,比如Action Bar生成器(如Sherlock),但是目前我還不知道其他全面化的GUI生成工具。所有可視化的編輯工具,不是測試起來有bug就是不全面。所以,如果你知道什麼好的工具,請讓我們這些XML狗知道。
打造一個像樣的UI所需要的XML數量會變得迅速…令人望而生畏。因此,可以使用includes和fragments盡可能多地構建在不同布局中都能重用的組件。fragments是在3.0版本中引入的,不過如果你用早期版本開發,那麼也可以下載支持庫。
或者你自己成為一個設計師。有一些在線工具,如Android Asset Studio,可以添加常見的GUI元素至你的應用程序。如果這樣還不能滿足你的要求,那你就需要自己設計以適應不同的屏幕。此外,請務必閱讀正式的Android Design指導方針。
Android特定的解決方案通常更簡單,性能更好。以多線程和異步處理為例,在打開java.util.concurrent包之前考慮使用IntentService或AsyncTask。不過在某些情況下,這種做法可能會顯得繞遠路。
雖然Android開發的官網上也有很多文檔,但是谷歌搜索的速度更快。舉個具體的例子,關於刪除SMS消息,用谷歌搜索到的在stackoverflow上面的真知灼見比官方文檔要多得多。
具體就不點名了,不過一定要警惕那種宣稱可以全面簡化智能手機開發(包括Android、iOS和Blackberry RIM多種系統)的產品。我並不是說這些產品就一定都是垃圾,但首先應該確保通過開發一個簡單但有意義的應用程序來測試它們,在它們上面進行部署。每一個都應該看上去像OS上的本機應用程序一樣。當然,如果你只需要為移動設備開發一款Web應用,那麼可忽略此條。
廣泛的測試(比如說使用Monkey),設計國際化和本地化,使用設計模式等,都是很好的軟件開發實踐。
如果你覺得過於繁瑣,那麼最少最少也應該將UI代碼從業務邏輯中分離出來,即使是最小的應用。否則在不久的將來,當各種問題接踵而至的時候,你就追悔莫及了。
Android開發是一個令人興奮的體驗,讓我們一起加油吧。
2015年伊始,Google發布了關於Android性能優化典范的專題, 一共16個短視頻,每個3-5分鐘,幫助開發者創建更快更優秀的Android App。課程
越來越多的黑客盯上了移動應用,每天都會增加,因為移動應用中有黑客感興趣的東西,如用戶數據。硬編碼(Hard-coded,注,固定寫死,不能修改的)安全秘鑰,SD
0. 文前閒話 作為一個由原生桌面應用程序開發者(VC、Delphi)轉行的Android菜鳥,虐心的事真是數不勝數:安裝個開發工具下載個SDK需要整整一夜;早晨
新年新氣象,奮斗的一年,在這一章,我們將學習以下內容: 理解Gradle文件 編寫簡單的構建任務 自制構建腳本 Gradle for Android 第一篇(