20 skills required for Android Application Development
Some andorid developers are confused. Next we should look at the system source code and continue to use it. However, we feel that every day we only need to draw the UI and call MobileAPI to process JSON, so there is no room for technological improvement. The following lists the 20 skills that need to be proficient in app r & D:
1)
Activity-related
App application development, with the most Activity used, design LaunchMode, onSaveInstanceState, lifecycle and other technologies.
2)
Fragment related technologies
There are a lot of users who know what is going on. I recommend a book titled Creating Dynamic UI Android Fragments.
3)
Serialization Technology
There are two types: Parcelable and Serializable. The former is Service-based, and the latter is Bundle-based. The implementation principles of the two are different, but the effect is similar.
4)
Principles and usage of ImageLoader
Similarly, you can also learn Fresco, a new open-source Facebook product, to better process images.
5)
Use of fastJSON or GSON
The App does not use the entity to automatically match JSON data, which is equivalent to white.
6)
Multithreading
Including Handler, logoff, and ExecutorService.
7)
Adapter and ListView
These two technologies are bundled together and often prone to crashes, especiallyPagingWhen, you need to carefully study and profound understanding.
8)
User Cookie Design
The login mechanism should be thoroughly clarified, including the technology of carrying cookies in the HttpRequest header for user authentication.
9)
Network request Encapsulation
Use AsyncTask's network underlying encapsulation and Handler + Runnable's network underlying encapsulation.
10)
Interaction between Android and HTML5
Android calls HTML5 and HTML5 calls Android.
11)
Code obfuscation
If you have never used ProGuard and do not know the syntax related to keep, it is still a preliminary level.
12)
Android Packaging Machine
It involves several commands in the Android SDK. Everything about Android packaging is clear. Further, it is the Packaging Technology for multiple Android projects. Ant, Gradle, or Maven. you can master any of these packaging schemes.
13)
Online Crash analysis and repair
You must be able to repair online Crash by analyzing the Crash information.
14)
Memory leakage
Including memory optimization, Eclipse or Android Studio debugging.
15)
Debugging tools
Including debugging functions of DDMS, Eclipse, or Android Studio.
16)
Monkey Mechanism
How do Android Developers perform Monkey testing on an App. Additional skills ~
17)
Unit Test
JUnit. Write unit tests on complex algorithms to ensure they are okay.
18)
Advanced features of GIT
Including Stage, Rebase, Revert, Stash, Cherry Pick, and Sub Module. If SVN is used in the project, you must master the version management policy of SVN.
19)
Plug-in programming
Even if you know the concept of DexClassLoader. This year, I have never done plug-in programming, and I am embarrassed to say that I am developed by Android when I go out for an interview.
20)
Design Mode
Familiar with common design patterns such as factories, generators, adapters, proxies, and policy patterns.
The above 20-point design technology did not spend too much time looking at the source code of the Android system.