Android應用開發必備的20條技能
有些andorid開發人員感覺很迷茫,接下來該去看系統源碼還是繼續做應用,但是感覺每天僅僅實在畫UI和調用MobileAPI處理JSON,沒有技術上升的空間。下面是包建強老師的《APP研發錄》當中列舉的20條需要精通的技能點看看你是否完全掌握:
1)
Activity相關
App應用開發,以Activity使用最多,設計LaunchMode、onSaveInstanceState、生命週期等技術。
2)
Fragment相關技術
用的人不少,明白是怎麼回事的人不多,推薦一本書《Creating Dynamic UI Android Fragments》
3)
序列化技術
有Parcelable與Serializable兩種。前者是基於Service的,後者是基於Bundle的,二者實現原理不同,但是達到的效果近似。
4)
ImageLoader的原理和使用
類似的,還可以學習Facebook新近開源的Fresco,它對圖片的處理會更好一些。
5)
fastJSON或GSON的使用
做App不會用實體自動匹配JSON資料,相當於白做。
6)
多線程相關
包括Handler、Looper、ExecutorService等。
7)
Adapter和ListView
這兩個技術捆在一起,經常容易崩潰,尤其是分頁的時候,要仔細研究深刻領會。
8)
使用者Cookie設計
需要把登陸機制徹底搞清楚,包括在HttpRequest頭中夾帶Cookie來進行使用者身分識別驗證的技術。
9)
網路請求封裝
使用AsyncTask的網路底層封裝,使用Handler+Runnable的網路底層封裝。
10)
Android與HTML5的互動
包括Android調用HTML5的方法,以及HTML5調用Android的方法。
11)
代碼混淆
沒有用過ProGuard,不知道keep相關文法,就仍是初級水平。
12)
Android打包機制
涉及Android SDK中的若干命令。對Android打包過程做的每一件事都很清楚。進一步是Android多項目以來的打包技術。Ant、Gradle或者Maven,掌握其中任何一種打包機制即可。
13)
線上Crash分析並修複
要具備通過分析Crash資訊修複線上Crash的能力。
14)
記憶體泄露
包括記憶體最佳化、Eclipse或Android Studio的調試功能。
15)
調試工具
包括DDMS、Eclipse或Android Studio的調試功能。
16)
Monkey機制
Android開發人員如何對一款App進行Monkey測試。附加技能~
17)
單元測試
JUnit。對複雜的演算法寫過單元測試以保證其沒有問題。
18)
GIT的進階功能
包括Stage、Rebase、Revert、Stash、Cherry Pick和Sub Module等概念。如果項目中使用的是SVN,要掌握SVN的版本管理原則。
19)
外掛程式化編程
哪怕知道一點DexClassLoader的概念也好。這年頭,沒做過外掛程式化編程,出門面試都不好意思說自己是Android開發的。
20)
設計模式
對常見的設計模式如工廠、產生器、適配器、代理、策略模式耳熟能詳。
以上20點設計的技術完全掌握之前,並不用花太多精力去看Android系統源碼。