20 Essential Skills for Android Application Development

Some andorid developers feel very confused. Next, they should look at the system source code or continue to make applications, but they feel that they only draw UI and call MobileAPI to process JSON every day, and there is no room for technical improvement. The following are the 20 skill points that need to be mastered in Teacher Bao Jianqiang's "APP R & D Record" to see if you fully master it:

1) Activity related 

For App application development, Activity is used the most, and technologies such as LaunchMode, onSaveInstanceState, and life cycle are designed.

2) Fragment related technologies 

Many people use it, and not many people understand what is going on. I recommend a book "Creating Dynamic UI Android Fragments"

3) Serialization technology 

There are Parcelable and Serializable. The former is based on Service, and the latter is based on Bundle. The implementation principles of the two are different, but the effect achieved is similar.

4) The principle and use of ImageLoader

Similarly, you can also learn Facebook's newly open-sourced Fresco, which handles images better.

5) Use of fastJSON or GSON

Making an App will not automatically match JSON data with entities, which is equivalent to doing it in vain.

6) Multithreading related

Including Handler, Looper, ExecutorService, etc.

7)Adapter和ListView

These two technologies are bundled together and are often prone to collapse, especially when paging , and should be carefully studied and understood.

8) User Cookie Design

It is necessary to thoroughly understand the login mechanism, including the technology of carrying cookies in the HttpRequest header for user authentication.

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系统源码。

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=326773293&siteId=291194637