Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

How Android learns

2025-03-26 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Development >

Share

Shulou(Shulou.com)06/02 Report--

This article is about how Android learns. The editor thinks it is very practical, so share it with you as a reference and follow the editor to have a look.

Let's start with a mind map of learning roadmap for android development knowledge points.

The Android learning route makes a comprehensive analysis of the learning process of Android from four stages: Android junior, intermediate, senior and senior engineers.

Only for Android application development, not for Rom development and reverse engineering and so on. For convenience, the virtual "Little D" describes the growing characters.

Junior engineer

Small D has no contact with Android development before, has a certain foundation for programming, data structure, C language, and has a good grasp of Java syntax, and does not know how to do Android.

First of all, you need to buy an introduction to Android (now it is more recommended to watch video tutorials and online tutorials). In order to learn Android faster, Xiao D spends his spare time typing the code according to the examples in the book. As a result, Xiao D learned the book again in 2 weeks. After reading this book, I have a general understanding of the history, structure and code specifications of Android, and I can write some simple Activity. At this time, in the eyes of small D, Android development is very simple and fun, and you can do some interface by placing some button text boxes in xml.

Little D began to follow his technical mentor to make requirements, and some simple small requirements were fine. Suddenly one day there came a demand, which asked to add an animation effect to a button in Activity. Little D panicked: "I haven't touched it at all, and it's not in the book. What should I do?" Little D calmed down, searched for "Android Animation", opened the first few links, suddenly realized, and realized the requirements according to the examples on the Internet.

Later, the mentor told him: "to learn Android well, official documents must be read, both comprehensive and authoritative." Then Xiao D took a year to read both guide and training, and he copied a few small examples.

One day, Xiao D needed to do a demand related to animation and searched for "Android Animation". Suddenly he froze: "you can't search every time you write an animation!" So he opened a blog on CSDN and wrote all the knowledge points related to animation, so that he didn't have to search for animation-related code later. What's the truth? After writing animation-related code, there is really no need to search, because by writing an animation blog, he has memorized all the details related to animation, so that he does not have to refer to any documents. Later, Xiao D also learned to put some trivial and inconvenient things on the blog into his notes, and when he forgot to find them quickly within 10 seconds. Instead of spending 10 minutes searching again.

Summary: when you are getting started with Android, you need to have an introductory book (or video tutorial), study the contents of the book carefully, and spend a year reading training and guide in the official Android documentation. At the same time, summarize it by writing a blog and taking notes. It is recommended to make each blog valuable. Through a year of study, I believe that everyone can reach the level of intermediate engineers.

Technical requirements:

-basic knowledge points

For example, how to use the four major components, how to create Service, how to layout, simple custom View, animation and other common technologies

-Book recommendation

"the first line of code Android", "Crazy Android"

Intermediate engineer

After a year of hard study, Xiao D finally became an intermediate engineer in Android. By the time he is an intermediate engineer, he can already do a lot of manual work in the company, but some very important tasks Xiao D cannot be undertaken by himself. At this time, Xiao D has a lot to learn, as shown below:

-AIDL: familiar with AIDL, understand how it works, understand the difference between transact and onTransact

-Binder: roughly understand how Binder works from the Java layer, and understand the use of Parcel objects

-Multi-process: proficient in multi-process operation mechanism, Messenger, Socket, etc.

-event distribution: elastic sliding, sliding conflicts, etc.

-play with the drawing principle of View:View, various custom View

-Animation series: familiar with the differences between View animation and attribute animation, understand how attribute animation works

-knowledge of performance optimization, familiarity with mat and other tools

-know something about common design patterns

Learning method

Reading advanced books, reading Android source code, reading official documents and trying to write relevant technical articles requires a certain degree of technical depth and self-thinking. In this stage of the learning process, there are two points are more disturbing, one is to read the source code, the other is a custom View and sliding conflicts.

How to read the source code? This is a headache, but the source code must be read. When reading the source code, do not go deep into the details of the code, pay attention to the flow of the code and try to dig out useful conclusions for application layer development. In addition, carefully read the comments on a class or method in the source code, when you do not understand the source code, the comments in the source code can help you better understand the working principle of the source code, this process is difficult, but there is no other way.

How to play with custom View? We should look at the essence through the phenomenon and pay more attention to the knowledge points needed for custom view:

-understand the sliding principle of view

-figure out how to achieve elastic sliding

-understand the sliding conflicts of view

-understand view's measure, layout and draw

-then learn a few existing examples of custom view

-finally, you can fix the custom view. The so-called "everything is the same".

It will take another 1-2 years to reach the technical level of a senior engineer. I personally think that through "Android Development Art Exploration" and "Android Group Biography", this process can be shortened to 0.5-1 year. Note that reaching the technical level of a senior engineer does not mean that you can immediately become a senior engineer (affected by opportunities and job-hopping), but when the technology is achieved, it is very simple to become a senior engineer.

Technical requirements:

-A little in-depth knowledge

AIDL, Messenger, Binder, multiprocess, animation, sliding conflicts, custom View, message queues, etc.

-Book recommendation

"exploring the Art of Android Development" and "the Biography of Android in English"

Senior engineer

Little D became the coveted senior engineer. At this time, Xiao D's Android level is good, but Xiao D's goal is a senior engineer. Xiao D heard that the monthly salary of a senior engineer can reach 30k +.

In order to become a senior engineer in Android, there is more to learn, and some are not so specific, as follows:

-continue to deepen your understanding of what is defined in "slightly deeper knowledge points"

-understand the core mechanism of the system:

1. Understand the startup process of SystemServer

two。 Understand the message loop model of the main thread

3. Understand how AMS and PMS work

4. Can answer the question "how many Window are there in an application?"

5. Understand the general workflow of the four components

6.

-details of basic knowledge points

1. The startup mode of Activity and the performance of different Activity under abnormal circumstances.

2. The relationship between Service's onBind and onReBind

3. The difference between onServiceDisconnected (ComponentName className) and binderDied ()

4. Details of the performance of AsyncTask in different versions

5. Details and parameter configuration of thread pool

6.

-familiar with design patterns and architecture awareness

Learning method

At this time, there are no more specific learning methods, nothing more than reading books, reading source code and doing projects, usually a variety of summaries, and try to integrate knowledge to form a sense of systematization.

At the same time, this stage has certain requirements for the architecture, the architecture is abstract, but the design pattern is specific, so we must strengthen the learning of design patterns. With regard to the learning of design patterns, it is recommended that "Android source code design pattern analysis and practice", you can not only learn design patterns, but also experience the design ideas in Android source code.

Thank you for reading! This is the end of the article on "how to learn Android". I hope the above content can be of some help to you, so that you can learn more knowledge. if you think the article is good, you can share it for more people to see!

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Development

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report