Android learning advanced Route Navigation Line (Android source code sharing)

Source: Internet
Author: User

Reprinted please indicate the source:Http://blog.csdn.net/qinjuning

 

 

Recently, many new interns from the company looked at their confident but childish faces and thought of themselves last year. Is that true?

What about them now? What have I changed now? The training system specified by the company for these interns is still relatively complete (I am a cainiao ). But I do

Come and think, if it was me, what kind of short-term or long-term plan would I develop? Summarizes the knowledge you have learned and forms a learning line.

A little help from the Taoist.

 

 

I graduated more than August years ago, along with my experience in Android development. By carefully thinking about the past work content, it is also a little pitiful-mainly to maintain the FM reception

The audio generator module, or look at the code of the Lancher module. Even so, in general, during the past eight months of learning, I felt that I had gained a lot of self-learning experience.

Knowledge about Android. Although there is still a long journey for the real Daniel, he will continue to learn and stick to it.

Once again, I will sum up some of my experiences in the learning process to help thoseUsers who have just entered Android and have gained some experience but do not know how

Friends who are moving onHope you can see the dawn of hope in the Android world as soon as possible. You are also welcome to make a brick.

 

In addition, some learning routes summarized in this article are aimed at Java upper-layer application development. Development related to the middle layer is not involved.

 

I. the skills required in the basics are as follows:

1. Master the use of basic controls and container controls;

Common basic controls include buttons, TextView, EditText, and ListView.

Common container controls include FrameLayout, LinearLayout, and RelativeLayout.

2. Be familiar with the registration and use of related listeners:

Common listeners include OnClickListener, OnLongClickListener, and OnItemClickListener.

3. master Log usage and analysis methods;

4. Master the lifecycle and usage of Activity and Service;

5. Master the acceptance and use of BroadcastReceiver (broadcast;

6. Master the use of Intent and IntentFilter;

7. have basic knowledge about databases, including how to use SQLiteDatabase and ContentProvider

In addition, we must know how to use adb shell. Common functions include:

Adb pull, adb push, adb remount command, etc.

Since shell is similar to Linux shell, We have to master basic Linux commands, such as cat and cd.

 

Knowledge acquisition channels include:

Android SDK and Internet blog.

Appendix: introduction to basic knowledge: some books in China are really poor in quality and taste the same as chewing wax. It is strongly not recommended to buy books at this stage.

At this time, you have become a little bit more familiar with Android development. Here, we recommend a video for explaining Android projects:

I strongly recommend that you use zhengping.

Video:Http://www.verycd.com/topics/2847310/

 

 

I wish you a hand, of course.Instructor Mars.

 

Practice. At this stage, you can write some small demos to help you develop at a deeper level.

PS: I wrote a simple music player Demo after reading the video from teacher Mars, and I felt quite fulfilled.

 

Through the previous study, we can successfully enter the second stage.

 

2. Skills to be mastered in improving the article are as follows:

1,Understanding the use of the Canvas class-- How to draw

2,Master the Message Communication Mechanism--- Usage and principle of Handler-related classes

3,Understand the Context class and implementation principles

4,Master the process of drawing the View tree. The View rendering process is very important. You can basically master one of the core Android systems.

4.1 master the distribution process of touch events-onInterceptTouchEvent and onTouchEvent method Process

4.2. Master the call mechanism of related listeners. For example, how do I call the OnClickListener listener?

4.3. Ability to write custom views and viewgroups

5,Understanding the Binder Mechanism---- The Binder mechanism is very important. Android processes communicate with each other through it. Only by mastering it can we complete the next step.

.

6. Basic KnowledgeActivityManagerServiceClass usage, the main knowledge points include:

6.1 startActivity () process, that is, the process of starting an Activity;

6.2 startService () process, that is, the process of starting a Service;

7. Basic KnowledgePackageManagerServiceClass usage, the main knowledge points include:

7.1. How to parse the information of all installed Apk packages during startup

7.2 matching rules and parsing process of Intent and IntentFilter

8. Basic KnowledgeAdd View to windowProcess --- the usage of the WindowManagerIml and WindowManagerService classes

Knowledge channels:

Blog about Daniel on the Internet. (I have a little goods in this three-acre land. (* ^__ ^ *))

Required books: <Android Kernel Analysis>

Android source code

PS: You must have an Android source code on your PC. Otherwise, you may be surprised.

Iii. Advanced

1. Basic understanding of the SystemServer class loading process and WatchDog functions

2. more ......

I am still a newbie. I don't know more about it. We hope to improve it in the future. Grow together with everyone.

 

Finally, some of the learning points I have summarized are just a outline to help you learn the points or lines of growth. For example, I am in charge of the address book module.

Database knowledge is clear. Otherwise, what should I do for the company. Therefore, when you are learning, find out what is more suitable for you.

 

Some may wonder why I cannot use it at work? I once again advise you to recharge yourself after work, and learn more, only good or bad.

I hope you can make better progress every day and grow closer to the sky in your mind.

 

I recommend two blogs that I often visit here:

 

1. In terms of applications, we mainly use Wei zhulin's csdn blog:Http://blog.csdn.net/Android_Tutor. However, his blog mainly focuses on code,

You need to combine the source code to try it out.

2. In terms of framework, the csdn blog of Lao Luo is mainly used:Http://blog.csdn.net/Luoshengyang/. However, his blog mainly uses process analysis.

However, the preliminary preparation knowledge required by the process is insufficient, which seems hard to understand at the beginning 《Android Kernel AnalysisYes

, You can refer to the source code carefully comprehend, strongly recommended this book.

Because the Android source code on the network is not very easy to find, we herebyShare some Android source code, Including the framework layer, middle layer, and some apps.

It is very helpful for middle-layer development:

 

Source code directory ::

 

Frameworks http://115.com/file/dpna22jr#frameworks.rar

Packages http://115.com/file/dpnay9ug#packages.rar

Kernel http://115.com/file/anqptq4l#kernel.rar

Ndk http://115.com/file/c2libfmk#ndk.rar

System http://115.com/file/beh14i2o#system.rar

 

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.