As an Android Development noob (at the time of this writing, of course), I've spent many hours watching videos and reading tutorials, only to find out that many are either not very noob friendly, or they are way outdated and thus not very good for those who literally have no clue of what's going on. I've wasted so much time trying to make sense of the endless stream dribble out there, that I nearly gave up entirely. Luckily, I was able to stumble across a few resources that help to tie the pieces together and explain in more detail the things that the others failed to do.
If you (like I was at one point) are struggling to make sense of it all and still need that little extra something to stimulate those much needed neural connections being formed (still need that light bulb moment?), then maybe you've come to the right place.
* * * * * * * * * * * * * * *
TheNewBostonFirst off, every beginner should know about TheNewBoston. This is a site created by a young man by the name of Bucky Roberts who was tired of not getting anywhere in college, and decided to quit and teach himself. He has a wealth of video tutorials on everything from programming and web development to game development, along with 200 videos on Android Development. It's definitely not my favorite resource, mostly because I have ADHD and the constant stream of “umm...uh...and uh, this, uh...um...” in Bucky's videos, along with his apparent inability to correctly pronounce the word “build”, is just too much for me to bear....but, I digress. Luckily, the Android Development videos are done by a guy name Travis and they are considerably more professional. You'd be hard pressed to find more topics covered in a single location for free anywhere else, which is exactly why I think it had to be mentioned first.NewThinkTankA site created by Derek Banas that covers a wide range of topics from web development to...dieting...??? Nevertheless, his Java and Android Development videos are easily the most professional, straight-forward, and easy to understand tutorials I've seen anywhere. If you can walk away after watching his videos and honestly say you still don't understand what's going on, then you should probably pursue a different hobby (or lay off the paint chips).Level Up TutsThis site has video tutorials that are mostly geared towards web development, but they do have 23 Android App Development videos that are easy to understand, and walk you through building a simple app from start to finish. It's a great resource for newbies that just want to skip over the hours of watching videos, get straight into building their first app., and still be able to understand what's going on. You definitely won't learn everything you need to know about building Android apps, but you will walk away with a decent understanding of how to create your layouts while giving them some functionality, and without needing any prior programming experience. VogellaThis website has an immense amount of current information regarding Android, Java, Eclipse and various other topics. There are no videos, but all the information is laid out as you were reading it from a college textbook. It is very easy to understand, but you should probably go through a few of the video courses mentioned previously before getting started on this site. This is definitely a great resource for filling in the gaps left behind by other tutorials.Java RanchJava Ranch is a site specifically geared towards the Java newbie. It mainly consists of a forum where the only rule for posting is to “be nice”. There are quite a few sub-forums for nearly every aspect of Java, including Android and game development, along with a “Java Beginners” sub-forum where there is literally no such thing as a stupid question. Very newbie friendly and a great place to ask your question if you get stuck on something.JavaPractices
A great site for learning good Java coding style. There are several ways to complete a single task in Java, many of which will cause whoever is reading your code to cringe in horror. If you plan to do anything even remotely complicated in Java/Android, you should definitely push yourself to learn good coding practices. It will make your life so much easier when debugging or asking for help.
* * * * * * * * * * * * * * *
Obviously, in order to be an effective Android app Developer, you will need to be able to program in Java (or some other language). And if you're like me, you probably won't get a lot out of simply learning how to create loops and conditional statements without being able to put them to good use. The following are a few sites with Java problem solving exercises (Katas) that test your ability to solve common problems. After many hours of watching videos and reading, they are great resources for you to flex your newly found coding muscles.
CodingBatCodingBat has over 150 different interactive problems that test your code against a predetermined set of arguments. There are 48 “warm-up” problems with solutions available so you can get an idea of how it all works, but after that you're all on your own. Each problem increases in difficulty over the previous ones and they will definitely test your logic like no tutorial can.Cattle DriveJava Ranch's Cattle Drive, is a set of deceptively challenging exercises that are designed to really test your problem solving abilities. The exercises are free to do on your own and you are allowed to ask questions about them in the forums, but you have to enroll in the program if you want experienced developers to “nit-pick” your work and help you develop good coding style and practices. Be sure to research how to pass arguments to your main method using your particular IDE to get the most out of this.ProgrammrThis site has lots of timed, user submitted, interactive problem solving exercises that are mostly geared towards getting the example code to run. You get points for every task completed, and every two weeks the top ten point leaders get $20 gift certificates for Amazon.com. You can choose from several different programming languages including C++, PHP, Javascript, SQL, Python, and they even have an area for Android specific problems (to be added soon). And, although it's kind of buggy, this is a great alternative to the traditional code Katas.ProgrammingPraxisThe largest collection of programming Katas I've seen anywhere. So many, in fact, that they are sorted into themes. Users post their solutions and let others comment on them. Considering the very nature of Katas, the same problems can be solved in numerous different languages, and this becomes very apparent as you view some of the posted solutions, as there are no separate forums for the different languages.
* * * * * * * * * * * * * * *
The following are some great sites that have small tutorials and code examples for performing various tasks that you probably wont find in any of the video tutorials (working with Facebook, sending SMS messages, creating live wallpapers, adding design elements, etc.). These are mostly blog sites with individual entries added periodically, but they're great resources for seeing how the different technologies work and adding to your overall Android Development repertoire. These of course, assume you have at least a basic understanding of the Android Development platform.
http://www.curious-creature.org/category/android/
http://mobile.tutsplus.com/category/tutorials/android/
http://blog.stylingandroid.com/
http://www.javacodegeeks.com/android/
http://www.anddev.org/
http://androiduiux.com/
http://androidweekly.net/
http://www.edumobile.org/android/
http://learnandroideasily.blogspot.com/2013/07/android-development-tutorials.html
http://cssmatter.com/blog/ios-and-android-app-development/
* * * * * * * * * * * * * * *
There should be more than enough here for even the noobiest of noobs to become full-fledged Android Developers without any prior development experience. With that being said, like many of you, I'm still learning, but as I learn and find more resources/tutorials/videos/whatever that are relevant to whatever I'm learning, I will try to list them as well (maybe even try to keep everything up-to-date).
Good Luck, fellow development noobs...you're not alone.
Great List Buddy !!!
Thanks for this...really going to save me the hustle.
Sent from my GT-I9082 using xda app-developers app
thanks great value
Sent from my Primo-N1 using XDA Premium 4 mobile app
This is what i am looking for! Thanks for this man!
Sticky!
Sent from my C5155 using XDA Premium 4 mobile app
Thank you so much !!! I was looking for a list like this. The Java exercises sites list is great, I'll definitely going to use those!
I think this guy should be added to the list he makes great java and android tuts and i have learned a lot from his videos check him out guys, and regards to the new Boston although he does know his stuff i don't think he is a good teacher he is just not very good at explaining the connections between certain aspects of programming but that's just my opinion.
Good Programming Tuts
http://www.youtube.com/user/derekbanas?feature=playlist
Very Awesome list!!! Its helping me out a lot. Thank you
Good,thanks.
I wasted mny of my time already
So if I would have seen tgis b4 I would have been much forword in my development.
Anyhow atleast I got now:sly:
.........................................
visit www.fb.com/softcrush
I am a new person here, and am looking to become an Android Developer.
Thank you for sharing these resources with us, I am hoping greatly advance my skills through them.
Thanks man!
Sent from my Lenovo A390 using XDA Premium 4 mobile app
Thank you so much !
Thanks man that was really really helpful
thank u soooo much 4 your links...I know a lil bit of android development. ..but your links (so kindly put here) are pushing me forward in bounds...thx again & will also press thx obviously ?
Awesome list. Thank you very much
Nice list! Thanks!!
Thanks a lot. Very helpful
Sent from my SM-G900F using XDA Free mobile app
Great!
Sent From Nexus 6
Some useful, some so so.
Programming Praxis giving solutions in Scheme and some in Haskell? Maybe interesting for people doing functional prgoramming. (Which is interesting - though not that relevant.)
Related
Hi Mods, i am a Android user who has been playing around with Android devices for almost a year now, putting ROM's and Kernels, etc on my devices. I had a Mytouch, Galaxy S 4G, and Asus Transformer. Unfortunately, i don't have time to read through all the threads and develop ROMs etc, and i do appreciate all the time and effort that the developers put into it. I am just a normal user who would like to utilize the full potential of my devices (and like to show Apple users how we can kick their A$$e$. I had a thought recently. It would be so useful to all the regular users to have a BIBLE, that gives us the general steps of rooting, installing roms, definitions of terms and abbreviations, and different mods. It doesn't need to be device specific (or maybe it does). I believe it would help everyone out a lot and help bring some uniformity to the world that is Android.
I hope someone would consider this wholeheartedly. And again, BIG THANKS to all the developers!
Yes, I too think that this sounds like an awesome idea. Something like a wiki from xda-developers. With real noob tutorials and introductions. That way, people who are interested in diving deeper into that have a starting point and xda has a recruiting effect. For example I myself would love to learn about developing from scratch because weeks ago i started my studies where I learn java and c++. Having to search for every tiny bit of information is just annoying...
theres already tutorials out there on some basic things...
Yes sure there are some tuts but nothing like a compendium..
Sent from my HTC Sensation Z710e using XDA App
So I came into this with previous programing knowledge, but not knowing java. I've read a book on java, then the programing android book.
So from those of you that actually write apps for the android platform, what do you think is the next step? Just get to it already? Start using eclipse and its built in tools to get started and learn by doing and googling as I go along?
Is that the way most of you have got your start? Any other books I should pick up?
Thanks
Sent from my SCH-I500 using Tapatalk
Questions or Problems Should Not Be Posted in the Development Forum
Please Post in the Correct Forums & Read the Forum Rules
Moving to Q&A
I am getting started too, am beginner / intermediate java programmer with little experience. The android site has some nice resources.
Developer.android.com ... Resources tab: look at the tutorials. The Hello World is a nice intro. You will install the Android SDK, eclipse, write a simple app, and seeit in action using the emulator. I have done Hello World and Hello Views.
I'd also appreciate any advice / guidance from more experienced droid devs!
Sent from my Transformer Prime TF201 using xda premium
I've done that stuff so far. I've also played with the layout manager to.o. I th.ink I might start out making a sound board app. That seems pretty simple to do.
I'm just looking for some advice as the best way to precede
You're on the right way. The next step as a developer is just to develop software. Thats it.
You can look at some books and resources on the Internet to learn basics.
But I think the best thing to do is to imagine a mini-app (very simple, for example a calculator), and try to make it from scratch.
You'll learn how to search information and this will be less boring.
You can also create new projects from samples of the SDK, they are quite interesting.
Write code! Seriously. Screw the books (or you can waste money like me). I am sure that if you start building something like I have coming from a similar background, you will know what books to pick up when its time.
If you are a coder, just make up a project and learn Android in the trenches by figuring it all out as you go. That said, it would be invaluable to read up on the platform itself (the Android dev site is great) as programming for it is a bit different than what a lot of us are use to.
It's fun after you figure out the build environment on your platform. Also, if you are like me you live and die by text editors. That said, I have learned to finally embrace both Eclipse and Java thanks to Android.
EDIT:
I am now getting a lot of mileage out of Creating Android Applications by Chris Haseman. This is only after wasting money on books I wont read or that teach me to do things the wrong way. I was only able to make an informed decision after hacking together my first serious app. This book is packed with nuggets of insight from a and immediately answers questions I have from my experience with the ocassionally sparse documentation. I would highly recommend this book and because of it my future code is going to be very solid without the "did I do the right" feeling. <-- typed on g2x in Browser
Your right, I think I have enough background to dive in. I was playing around and created an app that plays mp3's when you click on buttons, didn't take long at all. Next thing I want to do is create a splash screen, and I took a quick look to see how to create buttons that are a picture and text, similar to the buttons in the google api sample.
Having fun with it so far.
Sent from my SCH-I500 using Tapatalk
I am a high school student inchina, I want to become a Android developer, what should I do
Sent from my XT910 using xda premium
Hi,
If you're looking for information regarding development of ROMS, working on the actual Android operating system itself or developing hacks for the hardware, you are in the right place. XDA is an absolute goldmine of information regarding this. There are many many posts on how to cook your own ROM, how to use tools such as RSDLite and QPST; all you have to do is read inbetween the lines and dig a little deeper to understand how these tools could be used for your own purposes (retrieving/modifying Android system files for example) and you are well on your way.
If you are looking to develop Android apps and games, then take a look here and here. The reason I link to a Java Beginners site is that Android development can be done in Java, and it is a fairly good, solid language for anyone who has not previously used object orientated programming techniques or ever developed deployable applications before.
I hope this helps a little as a starting point. There is so much more I could write here but I'm not going to - as a developer, you will run into issues that people aren't going to be able to answer to you as these issues are going to be unique to you and you alone. That means you are going to have to go off and research these issues either via Google or searching online resources (such as XDA).
Develop app's?
Okay the run down on me and my knowledge, only thing I really know and ever learned was possibly advanced html, but it's gotten me pretty far in my ways.
The way I learned was by sourcing pages and piecing together different sections of codes going through trial, error and asking for help when running into a dead end.
Is there a similar way I could learn the basics of javascript for app development by sourcing some apk's, or what and how would be a good way to start for me really? I really don't want or see a point in taking a full course in javascript (Or flash) just to pickup and start learning the basics of developing app's, I'd much rather progress as I go on continuing to develop and keep evolving each time, rather than learn this first, then learn that then finally once pretty much mastered those start developing app's.
We all have different learning methods.
I've got a few app's I'd love to work on and develop out of boredom and knowing nobody else would develop them so why not me and give it a shot. 2 social site app's and 1 exercising app, really not an app for exercising but more of a idea brought into those types of recording app's.
Hi xda-developers,
I am an Embedded developer with vastnexperience in Firmware development in C programming (for microcontrollers), pcb designing, corel draw/photoshop (intermediate level) . Now I am looking to stretch my self a lil further by trying my hands on Android Programming. I have no prior experience in Software development. It would be kind of experienced developers out here to guide me with possible approaches that I can give to Android development without a much steep learning curve. As I would be practicing android development mostly on weekends (as of now), I would like to get started with things that I can relate with already. That way it would keep me going. Help me out with:
1. Possible applications I should work on. Something that can also be helpful for the community of users and developers.
2. Starting point and other obstacles I would come across while development.
3. Application ideas.
P.S: I also have a rPi lying around catching dust.
Some of the features still cant use on this. Libraries could be use.
Start with "Hello World"
Regardless of your software development capabilities you should always just mess around with the tools that are available and see what you like and what you don't like.
Try every tool you can, when you feel like you know those inside out have a go at extending the functionality of one of those.
For me when it comes to learning a new technology like Android SDK just playing with it inspires me to want to create real and practical applications.
Goodluck and have fun.
PS: I would stick around and see what happens with the release of Qt 5.2 Hint hint...
Yea. Android like embedded requires you to set up a Dev environment so get that up first. ROM building vs app developing are hugely different. Decide which and download the tools. (May require you to install a whole new os and tweak it heavily. Last time I ventured to compile a ROM it was a day to set up my Linux distro of choice)
And like what was said before start with hello world and move up in small bites. You will gain better understanding of how things work and will be less frustrated. Don't expect a full featured app to appear. Once you play around with all the little components eventually you will see a big picture and the building blocks for the "big app" will be there ready to use.
Sent from my One using xda app-developers app