Received some friends of the micro-blog private message, said can give some guidance to Android novice, I can only say that guidance is not, after all, I am also a lot of things are learning, at the same time a college students are ready to switch to Android, can be said to start from the beginning, then I would like to give some advice on an experienced identity Just hope that in the course of learning can be less to write detours.
Hardware
First of all, I am not the fruit powder, personal windows,linux,mac ox system have been used, can only say that Windows development tools are simply difficult to compliment, especially the command line super difficult to use, and Linux itself must spend a lot of time in the toss, is not suitable for novice, Max OS is I think the most useful system so far, not one, so if you are not bad money, it is strongly recommended to start a Mac, recommended Pro Series, of course, its price is indeed more expensive, if the temporary difficulties, recommended later on hand when the time to start, will bring you a quality experience. (Google's engineers are using the Mac, should be more convincing it)
- Mobile – Recommended Nexus 5
Android development is the most unbearable is that turtle speed simulator, highly recommended to start my Google Nexus series, native ROM, cost-effective ultra-high, conditional recommendation to start a Xiaomi or Samsung, not because they have more useful, It's because the two brands on the market now have the largest share of mobile phones, which may need to be adapted and tested in practice, in short you need an Android phone. You may also need to know that the Meizu has a smartbar, although I think it is really sb. In the end you still have to use the simulator, then let you recommend a more rapid simulator bar--genymotion, specifically see me this blog a powerful Android simulator genymotion
Development environment
Google helps you integrate a complete Android development environment, including a custom eclipse + ADT plugin, as well as the latest SDK and source code
It is more recommended to use idea than with eclipse and can be seamlessly transitioned to Android Studio later
First of all, this is not suitable for beginners to use, but you must know that this is Google's latest Android development tools, based on idea, compiling dependent gradle, There is no 1.0 official version yet, but you can still be familiar with the amateur program, as this may be the future of Android development tools
Turn over the wall
As the saying goes, not to turn the wall programmer is not a good programmer, especially recently Google services are blocked, the above IDE download will need to turn over the wall, here is recommended a reliable VPN bar, support multi-device Mac, Windows, Android, iphone, etc., If you and the small partners together to buy the monthly only a few dollars, the circle of friends are in use, if you buy through the link below, you and my account will be increased by 10 yuan.
Ladder VPN
If you don't want to flip the wall anyway, here on GitHub you can download the above Android development tools directly
Androiddevtools
Google Android Official Tutorials
Android Training Course in Chinese
Android Basics
The above may be a more comprehensive system of training tutorials, for beginners may be some need to focus on something more confused, so tidy up the personal think the novice must master the knowledge points, the way will also accompany the corresponding feel good to explain the blog address.
- Two minutes to fully understand the Android activity life cycle (graphics)!
Activity is most frequently used in actual development, and this must be understood
- Android four basic components introduction and life cycle
The four components of Android must be known and often asked in the interview.
- Basic use and optimization of the ListView
The ListView is the most commonly used in all controls and is more complex for beginners, and the use of various adapter, as well as the optimization of the ListView, must be mastered.
- Standard intent for activity in Android systems
Intent has solved the communication of four components in Android, which is very useful, and this blog collects and collates the standard of the system intent
- Android screen Adaptation
Introduce some of the basics of Android screen adaptation
- A detailed description of the SQLite app in Android
SQLite in Android needs to be mastered, this blog is suitable for beginners
- Android Fragment Full parsing
After 3.0, the newly added fragment must be mastered, and the current use of the scene is becoming more and more common.
Android Intermediate
- The life cycle of Android apps
The life cycle of Android apps needs to be understood, and interviews are often asked.
- Take you step-by-step insight into the view
View is most commonly used in UI development and must be understood in depth
- Android Service Full parsing
Service as one of the four components of Android, plays a very important role in every application
At present, the more popular data format is JSON, this blog teaches you how to use the Google Gson library for JSON parsing
- Android Layout optimization
The XML layout is often used in Android development, so the knowledge of layout optimization needs to be mastered.
- Two ways to pass objects intent in Android (Serializable,parcelable)
Detailed information on how to transfer objects in intent in Android
- Full parsing of the Android asynchronous message processing mechanism
Asynchronous operations are often used in Android development and must be understood to master
- Android Asynctask Full parsing
Another way to work with Android asynchronously
Early a little demo to teach you if you do an app for loading animations
Android Advanced
Google official Android New build system, can easily manage dependencies, compile packaging, etc.
- Android Performance Optimization
A series of performance tuning tutorials to get your code and apps up and flowing!
- A complete open source project –9gag
An open source client that teaches you to quickly develop a good Android client using studio, Gradle, and some popular open source libraries
- Organize your Android development resources
Self-organizing some of the Android development resources, including development, tools, design, etc., I believe it will be useful to you
Android Design
Before you develop an Android app, you need to understand the design specifications for the Android platform, a series of tutorials on Android design and Google's latest material design Chinese translation.
Android Design
Material Design
Android Compatibility library
When you understand that the design specifications are ready to start developing your app, you also need to consider the version that your app supports, and if it's a brand new app, it's recommended to support 4.0+ directly in terms of current market share, although 2.3 of the share is still part of the app, but how much of this is actually used by people. Of course, if your company must require support for the 2.x version, then don't worry about it, here are a few of the compatibility libraries that you can fit:
A Actionbar compatible library of the Great God Jakewharton, supported in the 2.x version Actionbar
Before this use Actionbar basic will use the above Jakewharton compatibility library, but currently Google has its own set of Actionbar compatibility library, recommended the use of Actionbar Compact, specific introduction and use of the method described in my blog
Android 3.0 before opening some new animated Api–property Animation, the great god Jakewharton Another masterpiece that allows you to use property animations in the 2.x version of the SDK.
If you need a compatible version of 2.x, you need to use the following classes in the V4 package, such as fragment, Fragmentmanager, Fragmentactivity, Fragmentpageradapter, Cursorloader, Loadermanager, Asynctaskloader
Of course, there are some new controls underneath the V4 package, you have to know.
Navigation Drawer (navigation drawer)
Prior to implementing a drawer navigation on Android you might use the Slidingmenu Open Source Library, and now you can use the official Drawerlayout control to easily implement
Slidingpanelayout
Slidingpanelayout is a newly added component in the V4 package, which allows the two-column panel to be switched, using the link to the effect, see Blog
Swiperefreshlayout
Swiperefreshlayout is a drop-down refresh component of Google's support V4 19.1 version of the library update, which is handy for Google Now's results.
Some open source libraries that Android developers must know
When it comes to the open source Library, you have to mention GitHub, only to say that the most active open source community, do not know to quickly register an account to use, is definitely your fast technology to improve the weapon.
Volley
While app development is inevitable to interact with the server, volley is an open source web communication library that Google officially launches, making it easier and faster to communicate on the Web.
Volley Full Parse
Android Volley Sample
Activeandroid
Activeandroid is a lightweight ORM (Object Relation Mapping) framework that simply uses methods such as Save () and delete () to do additions and deletions.
- Activeandroid–android Lightweight ORM Framework
Retrofit
Retrofit is similar to the ORM concept in the Java World, where ORM transforms structured data into Java objects, and retrofit transforms the data returned by the rest API into Java objects for ease of operation. It also encapsulates the invocation of network code.
- Retrofit–java (Android) Rest Interface Encapsulation Class Library
Android-universal-image-loader
Android-universal-image-loader is a powerful open source image asynchronous loading library that is designed to provide a reusable instrument for asynchronous image loading, caching and display.
- Android-universal-image-loader
Android Open Source project subtotals
A very comprehensive GitHub open source project summary, no need to reinvent the wheel, enjoy the open source world
Original: http://stormzhang.github.io/android/2014/07/07/learn-android-from-rookie/