Android learning path collection, android path collection

Source: Internet
Author: User

Android learning path collection, android path collection

Copyright Disclaimer: This article is an original stormzhang article and can be reproduced at will, but the source must be indicated in a clear position !!!

The story behind this blog

It's not easy to go all the way. I just learned that I was invited to answer questions about how to learn android programming by myself. I just took this opportunity to record the course of my journey on zhihu, I hope to give some positive energy to those who are or are preparing to go through the programming industry. The content is a bit long. If you are interested, you can read it as an inspirational novel.

I have received Weibo private messages from some friends saying that I can give some guidance to new Android users. I can only say that I can't talk about it. After all, I am still learning a lot of things. At the same time, a university student is preparing to switch to Android, it can be said that it was from the beginning, so I would like to give some suggestions as a person who came from here. I just hope that I can take less detours in the course of learning.

Hardware
  • Computer-recommended Mac

First, I declare that I am not a fan, I have used Windows, Linux, and Mac OX systems. I can only say that the development tools on Windows are difficult to compliment, especially the command line is extremely difficult to use, linux has to spend a lot of time on it, but it is not suitable for new users. Max OS is one of the best systems I think so far, so if you don't have any money, we strongly recommend that you start with a Mac and recommend the Pro series. Of course, it is expensive. If it is difficult to start now, we recommend that you start later when you have enough resources, it will bring you a quality experience. (Google engineers are using Mac. It should be convincing)

  • Phone-recommended Nexus 5

The most intolerable thing about Android development is the turtle Speed Simulator. We strongly recommend that you start with Google's Nexus series, native rom, and cost-effective, we recommend that you start with another Xiaomi or Samsung product, not because of their advantages, but because the two brands currently have the largest share of mobile phones, in actual development, adaptation and testing may be required. In short, you need an Android phone. You may also need to know that the meizu mobile phone has a SmartBar, although I think it is really SB. Finally, you still need to use the simulator. Let's recommend a fast Simulator-Genymotion. For details, see my blog on Genymotion, a powerful Android simulator.

Books

There are not many books, which is suitable for you. In fact, most of the books on the market are similar and there is no essential difference. Therefore, books must be available, but it is not recommended to buy too many books at a time. Here we recommend a few books that I think are better. You can click here to purchase them directly.

  • First line of code

Guo Shen's latest masterpiece: Guo Shen's blog is great. I also bought and read some of the books. It is very good and suitable for beginners. It is explained for Android 4.0.

  • Crazy Android handout Version 2

I read this book when I was studying it. Now I have a second version. The advantage of this book is that it is very detailed and has a lot of code. You can follow the code step by step, the disadvantage is that the book is too thick and inconvenient to carry. The last several examples in the book are not so good. I don't know if the second version has changed.

  • Thinking In Java Chinese Version

Thinking In Java is a classic book of Java, a book worth reading over and over again. It can be said that Thinking is a necessary book for anyone who has a certain Java base.

  • Tive Java Chinese Version 2

Tive Java is an advanced and essential book for Java. It will definitely give you a deeper understanding of Java.

Supplement: Thinking In Java is a good book, but it is generally not intended for beginners. Therefore, if you do not have any programming experience, so I will recommend several basic Java books for you, and I will not provide any purchase links. You can search for them to purchase them.

  • Crazy Java handout (Li Gang), JAVA Object-Oriented Programming (Sun weiqin), Java development practices classic (Li Xinghua), Core Java

I have never read these books for beginners, but I have learned a little about them. Finally, I can buy one of these books, and then I can work with video learning. It's not a dream to get started with Tom.

Development Environment
  • Android Studio

It is strongly recommended for Android Developers to abandon Eclipse and embrace the future! This is the latest Android development tool released by Google. Based on IDEA, it compiles Gradle dependencies and has released the official version 1.0. This is the future of Android development tools, therefore, as an Android developer, it is necessary to spend some time learning and using it. After using it, I don't want to touch Eclipse any more.

For this reason, I have also introduced some column learning tutorials for Android Studio, which are the most detailed in history:

Android Studio series tutorial 1-download and install

Android Studio tutorial 2-Basic settings and running

Android Studio series tutorial 3-Shortcut Keys

Android Studio series tutorial 4-Gradle Basics

Android Studio series tutorial 5-Gradle command details and import third-party packages

Android Studio series tutorial 6-Gradle multi-channel Packaging

FQ

As the saying goes, non-FQ programmers are not good programmers, especially recently Google services are blocked, and FQ is required for downloading the above IDE. Here we recommend a reliable VPN to support multi-device MAC, for Windows, Android, and iPhone, if you buy them together with your friends, you only need a few dollars a month and all the friends in the circle are using them. If you buy them through the link below, you and my account both increase 10 yuan.

Yunti VPN

If you do not want to use FQ in any case, you can download the above Android development tool from github.

AndroidDevTools

Google Android official tutorial

Android Training Course in Chinese

Video recommendation

Here, I strongly recommend that new users learn through video. As a person coming from here, it is very difficult for me to get started, but it is hard to understand reading books or materials. At this time, I will explain through video, with your own books and practices, you can get twice the result with half the effort. So don't underestimate the role of the video. Of course, at this stage, I don't need to watch the video at all, because the video is slow to explain, but it has a huge effect on new users. There are many video learning methods, but most of them are similar. I cannot recommend the best videos to you, but I think the quality is good from my own perspective. We recommend the following Android video learning method.

Android video learning recommendation

Android Basics

The above may be a comprehensive and systematic training course. For new users, they may be confused about some things that need to be mastered. Therefore, I will organize the knowledge points that I think new users must master, by the way, it will also include a blog address that feels good.

  • It takes two minutes to understand the lifecycle of an Android Activity )!

The Activity is used most frequently in actual development. This must be understood.

  • Introduction and lifecycle of four basic Android Components

Four components in Android must be known and frequently asked during interviews.

  • Basic use and optimization of ListView

ListView is the most commonly used and complex for beginners. You must master the use of various adapters and ListView optimization.

  • Android standard Intent for Activity

Intent solves the communication between the four main components of Android and is very useful. This blog collects and sorts out the standard Intent of the system.

  • Android screen adaptation

This section describes the basics of Android screen adaptation.

  • Detailed description of SQLite applications in Android

SQLite in Android needs to be mastered. This blog is suitable for beginners.

  • Complete parsing of Android Fragment

Fragment added after 3.0 must be mastered. The current use cases are becoming more and more common.

Android intermediate
  • Lifecycle of Android applications

The lifecycle of Android applications needs to be understood, and interviews are frequently asked.

  • Step by step to learn more about the View

View is the most commonly used in UI development and must be thoroughly understood.

  • Complete parsing of Android Service

As one of the four Android components, Service plays a very important role in every application.

  • Android Gson

The popular data format is json. This blog teaches you how to use the Google Gson library for json parsing.

  • Android Layout Optimization

Xml layout is often used in Android development, so the layout optimization knowledge needs to be mastered.

  • Serializable and Parcelable)

Explains in detail how to transmit objects in Intent in Android

  • Complete parsing of Android Asynchronous Message Processing Mechanism

Asynchronous operations are frequently used in Android development and must be understood.

  • Complete parsing of Android AsyncTask

Another method for Android asynchronous operations

  • Android Custom Loading

A very early demo shows you how to make an App Loading animation.

Android advanced
  • Android Gradle

The new build system of Google's official Android system allows you to conveniently manage dependencies, compile and package data, etc.

  • Android Performance Optimization

A series of Performance Tuning tutorials make your code and apps smoother!

  • A complete open-source project-9GAG

An open-source client that teaches you how to quickly develop a good Android client using Studio, Gradle, and some popular open-source libraries

  • Compiled Android development resources

Some Android development resources, including development, tools, and design, will be useful to you.

Android Design

Before developing an Android App, you need to understand the Design specifications of the Android platform. Here is Google's latest Chinese translation version of Material Design.

  • Material Design
Android compatibility Library

When you understand the design specifications and prepare to develop your App, you also need to consider the versions supported by your App. If it is a brand new App, from the current market share, we recommend that you directly support 4.0 +. Although there is still a portion of the 2.3 share, how many people can actually use the App. Of course, if your company needs to support the 2.x version, you don't have to worry about it. Below are some compatible libraries that meet your adaptation requirements:

  • ActionBarSherlock

An ActionBar compatible library of JakeWharton, which supports the use of ActionBar in 2.x.

  • ActionBar Compact

Previously, the above JakeWharton compatible library was used to use ActionBar. However, Google now has its own ActionBar compatible library. We recommend that you use ActionBar Compact, for more information, see my blog.

  • NineOldAndroids

Some new Animation APIs opened before Android 3.0-Property Animation, another masterpiece of JakeWharton, allows you to use Property Animation In sdk 2. x.

  • Android Support V4

To be compatible with v2.x, you must use the following classes, such as Fragment, FragmentManager, FragmentActivity, FragmentPagerAdapter, CursorLoader, LoaderManager, and AsyncTaskLoader.

Of course, in addition to the above, there are some new controls under the v4 package. You must know

Navigation Drawer)

Before that, you may use the SlidingMenu open source library to implement a drawer navigation on Android. Now you can easily implement it using the official DrawerLayout control.

SlidingPaneLayout

SlidingPaneLayout is a newly added component in the V4 package. You can switch between two panel columns. For more information about the usage and effect, see the blog link.

SwipeRefreshLayout

SwipeRefreshLayout is a pull-down refresh component updated by Google in the support v4 19.1 library. It is easy to use and can easily implement the Google Now effect.

Some open-source libraries required for Android Development

Speaking of open-source libraries, you have to mention GitHub. It can only be said that it is currently the most active open-source community. If you do not know how to register an account to use it, it is definitely a tool for you to quickly improve technology.

Volley

In App development, it is inevitable to interact with the server. volley is an open-source network communication library officially launched by Google, which makes network communication simpler and faster.

  • Volley full Parsing

  • Android volley sample

ActiveAndroid

ActiveAndroid is a lightweight ORM (Object Relation Mapping) framework that allows you to add, delete, modify, and query operations simply by using methods such as save () and delete.

  • ActiveAndroid-Android lightweight ORM framework
Retrofit

Similar to the concept of ORM in the Java field, Retrofit converts structured data to Java objects, while Retrofit converts the data returned by REST APIs to Java objects for convenient operations. It also encapsulates network code calls.

  • Keep fit-Java (Android) REST interface encapsulation class library
Android-Universal-Image-Loader

Android-Universal-Image-Loader is a powerful open-source asynchronous Image loading library. This project aims to provide a reusable instrument for asynchronous Image loading, caching, and display.

  • Android-Universal-Image-Loader
Android open-source project category Summary

A comprehensive GitHub open-source project summary. You do not need to reinvent the wheel.

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.