Adam Outler · Apr 30, 2012 at 02:00 pm

Want to Learn How to Program for Android? Start Here

Everyone has experienced the desire to program at one point or another. However, there are generally four limiting factors: Time Constraints, Study Material, Mental Blocks, and Attention Span. So clear your schedule, clear your mind, and self-medicate your ADD with a nice cup of your favorite coffee because here’s the material you need to learn how to program.

The hardest part of learning to program is overcoming a mental block. First, there is no programming deity out there who grants code-literacy to anyone. Learning to code is the same as learning any language—there are nouns, verbs, and sentences that come together in a certain way in order to make sense to the computer. Once you’ve written down a complete thought, the program works properly.

Second, even Java experts with PhDs in computer science think of Java as having huge black-boxes with inputs and outputs. Just as with any language, the higher your expertise means the more obscure language structures you can use. Anyone can learn basic language structures though.

The third mental block is to get motivated and “Just do it.” The tools are free.  The resources are available. Anyone who wants to write a program can do it and publish their work.  So you need to just jump right into your IDE and start making something.

Tools: How to Build an Android App Part 1: Setting up Eclipse and the Android SDKSetting up Eclipse and the Android SDK will give you the basic tools you need to get started making an Android app.  As with any project, you should start by gathering up your tools and learning to use them first.

Skills: “The Java Tutorials”The Java Tutorials is essentially an http E-Book that is laid out in the same format as many certifications and online courses. Many people have stated that they want to “Sit-down and learn Java.”  The Java Tutorials are a great way to do precisely this. This is tailored to writing generic Java applications, and not specifically Android’s implementation of Java. Learning this material will give you a strong knowledge base for programming Java applications.

Materials: Android “Package Index”The Android Package Index is a reference for all of the Packages, Classes, and APIs provided by Google.  Once you learn how to program in Java, you need to learn about the individual building blocks of an application. Each of these packages function as the nouns and verbs in your writing. The documentation show the appropriate time and place to use these words as well as what you get out of them. This package index serves as your dictionary.

Architecture: “Android Design”The Android Design page is a great launchpad for ideas in your Android application. This page is examples of what Google would like to see.  Each page shows design implementations recommended by Google.

The Human Aspect: Our Android hacking forum is the perfect place to ask questions, get answers, and see the works of other developers.

So, we’ve covered all the basics needed to get started creating your own Android applications. There are almost infinite resources available on the Internet. Please share your favourite resources below.


_________
Want something on the XDA Portal? Send us a tip!

Adam Outler

AdamOutler is an editor on XDA-Developers, the largest community for Android users. Electronics Tech/ Developer View AdamOutler's posts and articles here.
GermainZ · Mar 30, 2015 at 02:41 pm · 3 comments

DexPatcher: Patch Android APKs Using Java

You've probably seen or installed modified applications, be it a patched dialer for your resolution or a custom WhatsApp version with added features. How do developers do that, though? A lot of the time, the applications' source code isn't even available, so how does it all work? We'll see that first, then take a look at a new tool that aims to make the process much easier, and finally compare it to the popular Xposed framework to see how they...

XDA NEWS
Emil Kako · Mar 30, 2015 at 01:53 pm · 2 comments

Is Cloud Storage Ready to Replace External Storage?

With more and more OEMs ditching SD cards on their flagships, cloud storage is becoming even more important in the mobile world. Services like Dropbox and Google Drive have already become widely adopted by the majority of smartphone users, but is cloud storage ready to replace external storage? Let us know your thoughts below.

DISCUSS
Mario Tomás Serrafero · Mar 30, 2015 at 11:20 am · 1 comment

M9: Is Throttling a Non-issue? Can’t We Trust Benchmarks?

When the first reports of the M9 overheating came to light, many forum users began a collective joke-round calling the phone a popcorn machine, a grill, and other unoriginal remarks that we’ve seen with every device that presents sign of overheating, from gaming consoles to graphics cards. In this sense, the internet is not very inventive, and the cycle of rehashed jokes re-surfaces on different products every year or so. This time it was the M9’s turn and it was...

XDA NEWS
Share This