Android learning route
I am a newbie: I have always wanted to write something. It's a fate to learn about Android. I heard about Android development in my freshman year. At that time, I felt a little tall, however, I think Android is quite interesting. I am a communication engineering major, and most basic electronic courses should be similar. When I was in my sophomore year, I went to the lab to participate in the electronic design competition, I have been there for a while and want to participate in a competition like everyone else. I have to win a prize or something, but after all there are a lot of people who will not participate in the competition in the future, but the single-chip microcomputer course is our most professional and fun. After learning it, you can make a remote control car and remotely control what the plane is, it is quite attractive. I always thought that I would learn embedded things after graduation. I did not know more about the android industry until a later publicity Conference and an android training company recruited students for publicity, under the Comprehensive influence of various arguments, we have embarked on the road to Android learning, and, and now let us get back to the truth, cough, and say, after I decided to learn about android, I bought two books, one called Java crazy handout and the other android crazy handout. If it wasn't for me to take the book for study, maybe I have been scraped away; I can imagine 850 pages of books, and then find various open-source video teaching resources on the Internet. I personally think watching videos is more interesting than reading books, reading is too boring. You can go to the official website or post bar of each training institution to download the video. If you have a strong self-learning ability, there is no need to spend nearly 20 thousand yuan on training ,,,,,,,,,,,,,,,,,,,,,,,, er er, however, when learning Java, there is no need to look at Java interface programming. Some people are very interested in Interface Programming, so they thought about it. Later, they learned about android, although the android interface is slightly different, there is no need to work too much at the beginning of the interface,
[Book Selection] I bought the crazy handout from instructor Li Gang when I was studying. I have never been able to get started for a long time. It doesn't mean that there is a problem with Miss Li's book, but that a beginner is facing a book about 850 pages, it is easy to explain in a certain chapter, and it is difficult to understand it. Later I saw Guo Lin, Weibo star's most popular blogger, "the first line of code" and thought that this is an entry guide, the book is not big, and there are only about 500 pages. There are a lot of text in the book instead of code, so you can see clearly that Miss Li's book is suitable for additional study after getting started, then you will find that although the first line of code is good, but a lot of knowledge is not mentioned, after all, the content is limited; then you can look at it again, android crazy handouts have a clear feeling;
[2] There are many learning routes online. I have roughly found a similar one for you.
Stage 1: Java Object-Oriented Programming
1. Java basic data types and expressions, and branch loops.
2. Use of String and StringBuffer and regular expressions.
3. object-oriented abstraction, encapsulation, inheritance, polymorphism, classes and objects, object initialization and collection; parameter transfer process, static keyword, internal class of constructors, this keywords, methods and methods, javadoc introduces the zookeeper recycle mechanism in Java.
4. analysis of Advantages and Disadvantages of Object Instantiation process, method coverage, final keywords, abstract classes, interfaces, and inheritance; object polymorphism: the conversion between sub-classes and parent classes, the application of abstract classes and interfaces in polymorphism, and the benefits of polymorphism.
5. Java Exception Handling and exception mechanism principle.
6. Common design patterns: Singleton, method foreman, MVC, and Strategy.
7. JavaAPI Introduction: it is a basic data type packaging class, including System and Runtime, Date and DateFomat.
8. Java Collection Introduction: Collection, Set, List, ArrayList, Vector, sorted List, Hashset, TreeSet, Map, HashMap, TreeMap, Iterator, Enumeration, and other common Collection APIs.
9. java I/O input and output stream: File and FileRandomAccess class, byte stream InputStream and OutputStream, bytes stream Reader and Writer, and corresponding implementation class, IO performance analysis, byte and character conversion stream, the concept of packaging stream, as well as common packaging classes, computer coding.
10. Java advanced features: Reflection, proxy, and generics.
11. multithreading principle: how to create multiple threads (Thread and Runnable) in a program, Thread security issues, Thread synchronization, inter-Thread communication, and deadlocks.
12Socket network connection
Stage 2: Java Web Development
1. XML parsing and JSON parsing.
2. MySql database application and multi-Table connection query application.
3. Jsp and Servlet applications.
4. Http resolution.
5. Application configuration of the Tomcat server.
6. Configure the application for the WebService.
Speaking of this, it is necessary to point out that after learning about the database and network connection in Java, you will basically be able to use android. interface programming is not included above! Because even the interface in Java is outdated, it will be learned again in android;
Stage 3: android UI Programming
1. Android Development Environment Construction: Android introduction, Android development environment construction, first Android Application, and Android Application directory structure.
2. Use of the basic Android control:
How to Use the Button control of the TextView control EditText control ImageView use RadioButton use of Checkbox use of Menu
3. Use of Android advanced controls:
How to Use Autocompletion: How to Use ListView: How to Use GridView: How to Use Adapter: How to Use Spinner: How to Use Gallary: How to Use ScrollView
4. Use of the dialog box and menu:
Basic concepts of Dialog: How to Use AlertDialog DatePickerDialog
5. layout of controls:
Use of linear layout the use of relative layout the use of table layout
6. Multi-Acitivity management:
AndroidManifest. xml file function Intent usage method use Intent data transmission method start Activity method IntentFilter usage method Activity Group usage method
7. Custom Controls:
Custom ListView implementation method foldable ListView usage method custom Adapter implementation method custom View implementation method dynamic control layout Implementation Method
Stage 4: android Network Programming and data storage
1. HTTP Communication Based on the Android platform:
Http protocol review Apache Commons toolkit introduces how to submit data to the server using the Get method to parse server response data using the POST method to submit data to the server implementation method to the server non-text data Implementation methods multi‑thread download using Http
2. Android Data Storage Technology:
SQLite3 database introduction SQL Statement Review SQLite3 programming interface introduction SQLite3 Transaction Management SQLite3 cursor usage method SQLite3 Performance Analysis Method access SDCard method access SharedPreferences Method
3. ContentProvider usage: ContentProvider implements shared data, URI parsing and UriMatcher, ContentUris usage, and ContentResolver is used to operate ContentProvider and ContentProvider to listen to asynchronous operations in Android: Handler usage; basic concepts of asynchronous tasks; How to Use AsyncTask.
Stage 5: android mobile Hardware Management
1. Map and positioning technology: Overview of GPS; use of LocationManager; add a tag on Google Map; query methods of buildings near a certain place; use Google Map for point-to-point navigation.
2. Sensor usage: use of sensors, such as orientation, acceleration (gravity), light, magnetic field, distance, and temperature.
3. Near-Field Communication Technology: NFC technology introduction; NFC technology is a scenario introduction; NFC technology implementation method.
4. Media Management Technology: How to Use MediaPlayer.
5. Touch Screen Technology: Gesture Recognition and multi-touch technology.
Stage 6: Android Graphic Programming Technology
1. Graphic Processing basics: 2D Graphic programming basics;
2. How to draw basic graphic elements such as points, lines, and surfaces;
3. Introduction to the Android animation framework;
4. Implementation of displacement animation;
5. Implementation of Fade-in and fade-out animations;
6. Implementation of rotation animation;
7. How to Use Matrix.
Stage 7: Android game development
1. Android game development: Android game development overview;
2. How to Use SurfaceView;
3. Physical ball technology;
4. Collision Detection Technology;
5. Usage of images, text, background music, and other resources;
6. Basic concepts of game engines;
7. Cocoa2d-Android engine usage;
8. How to use OpenGL ES.
Although the route is roughly like this, but there are still some not listed, such as fragment knowledge, broadcast, and service, the question is coming? After getting started, you will be okay. How can you learn it next? It is estimated that you can solve it by yourself. It is difficult to start with everything !! My level is limited. Maybe you will become bigger then.
Many resources are available on the Internet,
I have drawn more than 10 thousand training courses like this, and almost all the knowledge has been moved to the blog. But can you take full advantage of the 10 thousand K knowledge.