2015.4.7
From http://www.zhihu.com/question/28425576
One: Development skills
Programming languages, object-oriented thinking, functional programming ideas, design patterns, algorithms and data structures, network programming, TCP/IP protocol, refactoring, versioning (git, etc.)
II: Mobile Application Development
You can do this from: MVC, which is a three-part comparison.
M: Data layer
Mobile Application Data structure features
Data storage: SQLite database, file storage
Data format: XML format, JSON format serialization and deserialization
Data query: Mobile application General database is mainly using SQLite
(to say, the SQLite database alone can take a lot of time to learn, because for an application, the data is basically the core)
V: View Layer
Mobile Application Interface Features
Common methods of mobile application building interface
Mobile app Interaction Features
Mobile app Animations
System UI system features, advantages, disadvantages and limitations
C: Control layer
Mobile application Control Layer features
The life cycle of the control layer
multithreaded, UI thread, background thread
Add one more layer:
E: Event Layer
event handling, touch events, gestures, event response chains
Three: Android Development
Tool article-工欲善其事, its prerequisite
How's the Android Studio going?
Will Adb and related tools work?
Gradle Build the system?
Documentation-See how Android is officially defined to develop various skills.
I believe you often see the official Android developer site, you will benefit a lot, I do not have to read the following.
System Chapter
Android multithreaded programming, asynchronous programming Features-Loop,handler,intentservice,broadcast,messagequeue
Android UI framework features, advantages and disadvantages
Then you press MVC to analyze the parts of Android and summarize them.
Android Development Skills