-
Notifications
You must be signed in to change notification settings - Fork 6.3k
Beginning Android Resources
This guide was adapted from this reddit post and this document which is the original source. The original content was created by jokerbrb. The information has been formatted and made available here.
- If you are starting from scratch, first get the Android SDK here
- If you are really starting from scratch, you should learn Java first (see resources below)
- Consider starting with this video tutorial - This is a great series that will guide you through the basics of an Android app. I recommend that you not only watch the video but repeat what he is doing simultaneously.
- A great companion book is The Busy Coder's Guide to Android Development. If you don't want or can't buy the book, consider looking at its many code examples available for free
- Learn how to search for solutions before you ask questions; check sources like StackOverflow and the cliffnotes for answers.
- Learn how to debug your code -- This means using LogCat and reading stack traces, also learning how to use breakpoints
- Your friends can be a great source of help and feedback. Ask kindly, do not harass them.
- Unless your app is the next big thing since sliced bread, do not bother too much with announcing it before it's ready. There are too many "pre-apps" out there, nobody cares.
If you never programmed at all before or if you are interested in some basic information, consider looking at these first:
- Java Language Fundamentals
- Dealing with Exceptions
- Understanding Threads and Runnables
- Using Interfaces
- Using Event Listeners
- Creating your own Callbacks and Listeners
Understanding the concepts is a good thing because it lets you search for practical ways to achieve something. Almost everything you can think of doing has already been tried and documented by someone else. You just need to know how to find it. Which leads me to my next set of things you may consider to learn first:
- Learn how to search -- I cannot stress this enough. Seriously, just Google it. If you are stuck or in doubt, search for your question. And most of all: Search before you ask.
- Learn how to debug your code There is a surprisingly high number of learners who do not debug their code at all and can't really understand their code's log. If you are using Eclipse, [check this out] (http://stackoverflow.com/questions/8551818/how-to-debug-android-application-line-by-line-using-eclipse)
Speaking of Eclipse, the IDE most people still use to program for Android, whether you want to use it or not is up to you. Bear in mind the following though:
- The alternative IDE most people talk about, Android Studio (which is based on IntelliJ), is still in an early access preview. The official Android page has the following warning about it: "Android Studio is currently available as an early access preview. Several features are either incomplete or not yet implemented and you may encounter bugs."
- Most tutorials and documentation for beginners are still based on the use of Eclipse. All the resources I talk about here which are connected to an IDE, refer to Eclipse.
With the basics in mind, it is time to start coding your first Android app. To begin, download and install the [Android Developer Tools] (http://developer.android.com/sdk/index.html). Then consider the following tutorials and resources:
-
The Android official training guides are a good place to start. The Building Your First App lesson is very easy to follow and already gives you a good understanding of some key concepts of the Android SDK.
-
The Android Development Tutorial by Derek Banas is great for those of you who prefer video lessons. It has 25 video lessons in total ranging from 10 to 30 minutes each. I used the first lessons to get a feel of the development process, specially to understand layouts.
-
Common tasks are a useful list of typical things you can do in your app and how to develop them.
-
Android Guides give you even more explained code recipes and examples on how to build most common things in an Android app. I wish this was published when I started learning. It would have certainly helped.
-
Tasker is a great app available on the Google Play Store. You probably have heard of it. This app won't teach you anything about how to develop Android apps but it will show you what an Android app can do with your phone. I learned a lot from it. Whenever I realised I wanted to do something specific, I knew I could do it because I had done it before on Tasker.
-
DevAppsDirect is another great app you can get from the Play Store. While it also won't teach you how to develop an app, it will show you what is available out there. The app maintains a list of open source libraries you can use in your project for a variety of purposes. Knowing what you can reuse will save you a lot of time in the future.
In addition, my favorite book is by far The Busy Coder's Guide to Android Development. The book is comprehensive with its over 2,400 pages but starts with the basics, explaining the concepts. It also has those "do-it-yourself" tutorials to help you retain what you are learning. The book is a bit expensive but it comes with a one-year subscription to keep it updated during the period.
All code examples are free and can be found here: https://github.com/commonsguy/cw-omnibus/ Even if you don't buy the book, consider browsing through some of the examples there to learn how other programmers do things. Finally, Mark Murphy, the author of the book, is helpful whether you contact him by e-mail or on the Stackoverflow website. Check out his profile. He is in the all time top-10 ranking list there.
Again this guide above was originally posted on reddit and was adapted here for wider access.
Created by CodePath with much help from the community. Contributed content licensed under cc-wiki with attribution required. You are free to remix and reuse, as long as you attribute and use a similar license.
Finding these guides helpful?
We need help from the broader community to improve these guides, add new topics and keep the topics up-to-date. See our contribution guidelines here and our topic issues list for great ways to help out.
Check these same guides through our standalone viewer for a better browsing experience and an improved search. Follow us on twitter @codepath for access to more useful Android development resources.