Android Learning route Summary, Absolute Dry

Source: Internet
Author: User
Tags ming java se

First, preface

Unconsciously I have been doing a few years of development, by remembering just came out of work when I feel I can be a good, now think back up feeling well ignorant. The more you know, the less you will find.

If your knowledge is a circle, the larger the circle, the greater the world outside.

Recently seen a lot of Android Novice asked Android learning route, learning method Ah, how to get started Ah, so I found some information from the Internet, and then to my work experience to summarize, let you less detours, to extract some of the work often used in the technology.

Ii. Summary of Learning Knowledge 1, Java SE Foundation

1). Java basic data types and expressions, branching loops.
2). Use of string and stringbuffer, regular expressions.
3). Object-oriented abstraction, encapsulation, inheritance, polymorphism, classes and objects, object initialization and recycling, parameter passing of constructors, this keyword, methods and methods, static keyword, inner class.
4). Object instantiation process, method overwrite, final keyword, abstract class, interface, advantages and disadvantages of inheritance, Object polymorphism: transformation between subclass and parent class, application of abstract class and interface in Polymorphic, polymorphism brings benefits.
5). Java exception handling, exception mechanism principle.
6). Common Design Patterns: Singleton, Template, strategy mode.
7). JAVAAPI Introduction: Basic data Type wrapper class, System and runtime class, date and Datefomat class, etc.
8). Java Collection Description: Collection, set, List, ArrayList, LinkedList, Hashset, Map, HashMap, iterator and other common collection Class API.
9). JAVAI/O input and Output streams: File and filerandomaccess classes, byte stream InputStream and OutputStream, character stream reader and writer, and corresponding implementation classes, IO performance analysis, bytes and characters of the conversion stream, The concept of packaging flow, as well as commonly used packaging classes, computer coding.
10). Java Advanced Features: reflection and generics.
11). Multithreading principle: How to create multithreading (thread, Runnable), thread-safety issues, thread synchronization, communication between threads, deadlock in a program.

2. Android UI Programming

1), Android development environment build: Android Introduction, Android development environment build, first Android app, Android app directory structure.

2), the use of Android primary controls:

Use of the TextView control
How to use the button control
How to use EditText controls
How to use ImageView
How to use RadioButton
How to use a checkbox
How to use Menu

3), the use of Android advanced controls:

How to use the ListView
How to use the GridView
How to use Adapter
How to use Spinner
How to use Gallary
How to use ScrollView
Recyclerview

4, the use of dialog boxes and menus:

The basic concept of dialog
How to use Blockquotealertdialog
How to use Datepickerdialog
How to use Menu
How to implement a custom menu

5. Layout method of the control:

How to use linear layouts
How to use relative layouts

6. Multi-acitivity Management:

The role of the Androidmanifest.xml file
How to use intent
Ways to pass data using intent
How to start activity
How to use Intentfilter
How Activity Group is used

7. Custom control Implementation Method:

How to implement Custom ListView
How to use the collapsible listview
How to implement custom adapter
How to implement Custom view
On the implementation method of dynamic control layout
Pull-up Refresh drop-down load more

3, Android network programming and data storage

1). HTTP communication based on the Android platform:

HTTP protocol Review
Methods of using the Get method to submit data to the server
Implementation of submitting data to the server using the Post method
Multi-threaded download using the HTTP protocol
Using HTTP protocol to implement breakpoint continuation

2). Android Data storage technology:

SQLite3 Database Introduction
SQL statement Review
SQLite3 Programming Interface Introduction
SQLite3 Transaction Management
SQLite3 How to use Cursors
SQLite3 Performance Analysis
Ways to access SDcard
Ways to access Sharedpreferences

Reference from: http://www.cnblogs.com/zhuawang/p/3672228.html

Third, Advanced Road (junior, Intermediate, Senior) 1, junior engineer

Xiao Ming before completely contact with Android development, is a fresh, his treatment is 13k, then Xiao Ming to the identity of the school recruit into the Baidu, and then xiaoming need to learn how to become a junior engineer? At this time, Xiao Ming on the basis of programming, data structure, C language have a certain basis, Java grammar and so also have mastered the better, Android has the Java language, helpless is xiaoming will not engage in Android.

Xiaoming first need to buy an Android primer book, in order to learn Android faster, Xiao Ming's spare time is also used to read while reading the book as the example of the code, the results of 2 weeks Xiaoming learned the book. After reading this book, Xiao Ming has a general understanding of the history, structure, code specification, etc. of Android, and Xiao Ming has been able to write some simple activity. This time in Xiao Ming's eyes, Android development is very simple and fun, by placing some buttons in the XML text box or something can do some interface.

Xiao Ming began to follow his technical tutor to do the demand, some simple small demand Xiao Ming naturally is a little bit. Suddenly one day came a demand, the demand for Xiao Ming in the activity for a button plus an animated effect, Xiao Ming panic: "Completely did not contact, the book also did not say, how to do?" "Xiao Ming calm down, opened the Baidu Search, input" Android animation ", open a few links, Xiaoming suddenly dawned, follow the online example to achieve the needs. Later, the instructor told him: "Learn Android, official documents are necessary to see, both comprehensive and authoritative." Then Xiao Ming unsanitary environment, spent a year to see the above guide and training all over, and he also copied a few small examples.

One day, Xiaoming needs to do an animation-related needs, which can not be difficult to come to Xiao Ming, it skillfully opened the www.baidu.com, the input "Android animation", suddenly he stared at a moment: "Always can not write animation to Baidu a bit!" , so he opened a blog in Csdn, the animation related to the knowledge points are written, so that the back of the animation related to the code will not be Baidu to search, the facts? After the animation related to the code, Xiao Ming does not have to go to Baidu search, because by writing an animated blog, he put the details of the animation has been remembered, so that he can no longer refer to any document, and then Xiao Ming also learned to put some trivial inconvenient on the blog on the things written to the impression notes above, When you forget, you can quickly get back within 10 seconds instead of spending 10 minutes searching again.

Here's a summary of the basics of Android, where you need to have an introductory book, study the contents of the book, and spend a year looking through the training and guide in the official Android document, and summarizing it by blogging and taking notes. It is recommended that you make every blog worthwhile. Through a year of study, I believe that everyone can reach the level of intermediate engineers.

Technical Requirements:
-Basic knowledge points
such as how to use the four components, how to create a service, how to layout, simple custom view, animation and other common technologies
-Book Recommendation
"First line of Android", "Crazy Android"

2. Intermediate Engineer

Xiao Ming after a year of hard study finally became Android intermediate engineer, the monthly salary became 17k. To the intermediate engineer, has been able to do a lot of physical work in the company, but some very important task xiaoming can not be a person to take up, this time xiaoming need to learn a lot of content, as follows:
-Aidl: Familiar with Aidl, understand its working principle, understand the difference between Transact and ontransact;
-Binder: The Java layer probably understands how Binder works and understands the use of parcel objects;
-Multi-process: Master multi-process operation mechanism, understand messenger, socket, etc.
-Event Distribution: elastic sliding, sliding conflict, etc.;
-Play View:view of the drawing principle, a variety of custom view;
-Animation series: familiar with the different points of view animation and property animation, understand the working principle of property animation;
-Understand performance optimization, familiar with tools such as Mat
-Understand some common design patterns

Learning methods

Read advanced books, read the Android source code, read official documents and try to write related technical articles, need to have a certain technical depth and self-thinking. At this stage of the learning process, there are 2 points are more disturbing everyone, one is reading source, the other is custom view and sliding conflict.

How to read the source code? It's a headache, but the source code has to be read. When reading the source code, do not go into the details of the codes can not extricate themselves, to focus on the code process and try to dig out the application layer development useful conclusions. In addition to carefully read the source code in a class or method of comments, in the source code can not understand, the source of the comments to help you better understand the source of work, although the process is difficult, but there is no other way.

How do I play a custom view? My advice is not to learn to customize view by learning to customize view. Why do you say that? Because the type of custom view is too many, a variety of gorgeous custom effects, how to learn to play it! We want to look at the nature of the phenomenon and focus more on the knowledge points needed to customize the view, here's a summary:
-Understand the sliding principle of view
-Understand how to achieve elastic sliding
-Understand the sliding conflict of the view
-Understand the measure, layout and draw of the view
-then learn some examples of existing custom view
-Finally you can fix the custom view, the so-called original aim

It will take about 1-2 years to reach the technical level of senior engineer. I personally think that the process can be shortened from 0.5 to 1 years through the "Android Exploration for art" and the "Android Elite biography". Attention, to achieve the technical level of senior Engineer does not mean that can immediately become a senior engineer (by chance, whether the impact of job-hopping), but the technology reached, become a senior engineer is just very simple thing.

Technical Requirements:
-a bit more in-depth knowledge
Aidl, Messenger, Binder, multi-process, animation, sliding conflict, custom view, Message Queuing, etc.
-Book Recommendation
"Android Development Art exploration", "Android Heroes biography"

3. Senior Engineer

Xiaoming became the dream of senior engineer, monthly salary reached 20k, also got a lost stock. At this time, Xiao Ming's Android level has been good, but Xiao Ming's goal is senior engineer, Xiao Ming heard that senior engineer salary can reach 30k+.

To become a senior Android engineer, there are more things to learn, and some are not that specific, as shown below:
-Continue to deepen understanding of what is defined in "slightly deeper points of knowledge"
-Understand system core mechanisms:
1. Understand the Systemserver startup process
2. Understanding the message loop model of the main thread
3. Learn how AMS and PMS work
4. Ability to answer questions "How many Windows does an app exist?" “
5. Understand the approximate workflow of four components
6 .....

    • Details of basic knowledge points

      1. Activation mode of activity and performance of different activity under abnormal circumstances
      2. Onbind of the Service and Onrebind Association
      3. The difference between onservicedisconnected (ComponentName className) and binderdied ()
      4. Asynctask performance details on different versions
      5. Details and parameter configuration of the thread pool
      6. ...
    • Be familiar with design patterns and have an architectural awareness learning approach

This time has not been too specific learning methods, is nothing more than reading, read the source and do projects, usually a variety of summary, as far as possible to integrate knowledge to form a systematic feeling. At the same time this stage has certain requirements for architecture, the architecture is abstract, but the design pattern is specific, so we must strengthen the design mode of learning. About the design mode of learning, a recent book recommended to everyone "Android source design mode analysis and actual combat", can learn design patterns, but also may experience the Android source design ideas, I have recently read this book.

Technical Requirements:
-a bit more in-depth knowledge
-System core Mechanism
-Details of basic knowledge points
-Design Patterns and architectures
-Book Recommendation
"Android Development Art exploration", "Android source design mode analysis and Combat", "Android Kernel anatomy"

Reference from: http://blog.csdn.net/singwhatiwanna/article/details/49560409

Iv. Learning videos and books

When you have a study line, learn what content, also know how to go after the road, theory to see a lot of the total to practice, I here to you to tidy up about 80G of learning video and books, hurry up and point me to my point I ... Download..

If you want the first time to read our late article, sweep code attention to the public, the weekly not regularly push the Android development of practical tutorial articles, you also wait for what, quickly pay attention to it, learn technology, as CEO, win white rich beauty ....

      Android开发666 - 安卓开发技术分享            扫描二维码加关注

Android Learning route Summary, Absolute Dry

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.