Translating...

Cancel

Kevin Darty
1 year agoEditedPublic
Where To Start - Learning Android Development the Right Way

My wife recently asked for help to get started Developing for Android so I felt it would be best to gather up some resources that would get her off and running in the right direction with style and UI consistency in the forefront to ensure that she knows how important it is to follow the UI Standards set down from Google.

Here are some excellent resources I found that I hope can help you too:


First Things First, Learn Java


If you don't know the Java Programming Language or maybe you are coming from a different language and need to get familiar with some Java constructs, here are some excellent resources to get you started.

Java Tutorial (Extensive Tutorial)
http://www.tutorialspoint.com/java/index.htm

Getting started with Java - "A beginner's guide to Java Programming"
http://www.javacoffeebreak.com/tutorials/gettingstarted/

Introduction to Java Programming - Lars Vogel
http://www.vogella.com/articles/JavaIntroduction/article.html

Introduction to Programming in Java (MIT Course)
http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-092-introduction-to-programming-in-java-january-iap-2010/index.htm

Video - Learning Java: Part 1: Basic Introduction
Learning Java: Part 1: Basic Introduction

Free Interactive Java Tutorial
http://www.learnjavaonline.org/

Java Beginner Tutorial
http://www.javabeginner.com/

Thinking in Java Book by +Bruce Eckel
NOTE: Excellent book. 3rd Edition FREE Online
http://www.mindview.net/Books/TIJ/


Getting Started with Android Development


Resources every Android developer must know by +Sergey Povzner 
http://www.bongizmo.com/blog/android-resources-each-developer-should-know/

NOTE: Even if you skip the rest, make sure to check out Sergey's list above. 

Getting Started with Android Development by +Ray Wenderlich
http://www.raywenderlich.com/5527/getting-started-with-android-development

Getting Started With Android Development by +Chris Lacy 
https://plus.google.com/104649936579980037256/posts/UQD4e1jgLS1

Support Library (to help maintain support with older versions of Android)
http://developer.android.com/tools/extras/support-library.html

Video Training

Android Bootcamp Training
Tutorial: Android Application Development - A 9,000 foot overview

Recommended Books
NOTE: Thanks to Nima Gh for the great Book Reference list posted in the comments.

Best Android Books and Resources 2014 Edition
http://nimooli.com/blog/best-android-books-2014/

FREE eBooks

andbook! Android Programming
http://andbook.anddev.org/

Essential Code Libraries, Samples and Tools to Build Modern Apps

Android Asset Studio by +Roman Nurik 
http://android-ui-utils.googlecode.com/hg/asset-studio/dist/index.html

ActionBarSherlock by +Jake Wharton 
http://actionbarsherlock.com/

AndroidSideMenu
https://github.com/dmitry-zaitsev/AndroidSideMenu

SlidingMenu
https://github.com/jfeinstein10/SlidingMenu

ViewPagerIndicator by +Jake Wharton +Patrik Åkerfeldt 
http://viewpagerindicator.com/

UnifiedPreference
https://github.com/saik0/UnifiedPreference

Pull To Refresh Views for Android
https://github.com/chrisbanes/Android-PullToRefresh

SwipeListView
https://github.com/47deg/android-swipelistview

Android PagerSlidingTabStrip by +Andreas Stütz
NOTE: Slide style Tab Indicator like in the Play Store
https://github.com/astuetz/PagerSlidingTabStrip#__sid=0

Make Your Apps Tablet Friendly - Learn To User Fragments


Working With Fragments by +Shane Conder 
http://mobile.tutsplus.com/tutorials/android/android-sdk_fragments/

Using Fragments in Android - Tutorial by +Lars Vogel 
http://www.vogella.com/articles/AndroidFragments/article.html

_________________________________________


When developing for Android it is important to understand Java, Layouts and Fragments but it is also really important to understand the Android UI Standards and how to use them to ensure consistency in your App Design, as well as, familiarity that will ensure user-friendliness in your design.

Hopefully the resources and links above will be helpful to get you started with Android Development or if you are already Developing for Android, maybe you can find something to make your Apps even better.

Enjoy :-)

Filed under: #AndroidDev   #Android   #Development   #Mobile   #Development   #BestPractices   #Tutorials   #Java   #UI   #Design   #GettingStarted   #Learning  

Resources every Android developer must know
bongizmo.com
278
Stefan Sonesson1 year ago
Very fine collection sir!+1
Kevin Darty1 year ago
Added a new ViewPager code library that will help you mimic what Google does in the Play Store:

Android PagerSlidingTabStrip by +Andreas Stütz 
NOTE: Slide style Tab Indicator like in the Play Store
https://github.com/astuetz/PagerSlidingTabStrip#__sid=0

Thanks to +Nick Butcher for posting this one earlier today :)
Kevin Darty1 year ago
I can't believe I forgot to add one of my most favorite books on Java Programming that is available FREE online in a prior edition. This is one you definitely should add to your bookshelf.

Thinking in Java Book by +Bruce Eckel
NOTE: Excellent book. 3rd Edition FREE Online
http://www.mindview.net/Books/TIJ/

This is actually the book I first started with to learn Java and is still one of the best available. Bruce made this book available for FREE online up until the 4th edition. The latest edition is 4 so the online version is not very stale at all. Take a look and I'm sure you will want to buy this one to add to your technical reference collection.
+8
Furquan Ahmed1 year ago
Really helpful....+2
hello sir..its a great tutorial..i wanna learn about android and the database for android, can you share a link which part do i start to learning it..thanks :)+1
Kevin Darty1 year ago
Hey Vincent, I'm glad you enjoyed all the great information and reminded me that it is time for some good updates to this post.

I've got some new tutorials and components that I think everyone should learn that I will be posting very soon. I'm very busy today but will hopefully get those updates posted soon.

I'll make sure to post some good links to tutorials, ORMs and other good database related frameworks as well.

Updates coming soon :-)
Stefan Sonesson1 year ago
Hi Kevin, you might want to check this app out. Open source libraries for Android where you can run demos of each inside the app to see how it works. https://play.google.com/store/apps/details?id=com.desarrollodroide.repos+1
WIZIQ Java1 year ago
you can start at wiziq.com...here is the link
Android-http://www.wiziq.com/course/21661
Shankar Shastri1 year ago
sir ur great :)+2
basem aljedai1 year ago
Great collection thanks for shearing.. :) +1
this collection rocks!+1
Vivek Malhotra1 year ago
Nice Article+2
Ivan Yudhi1 year ago
+Felicia Sidharta for learning Android+1
raj kumar1 year ago
Hi sir ,
       sir can u share a link for E-Book for ANDROID sir??? i'm in need of it...pls share the link sir...
Murali Kendai11 months ago
Thanks for sharing+2
grzegorz sokolowski10 months ago
I like list of tutorials you have prepared. Love it :)+1
Disha Mehra10 months ago
Sir, is it sufficient to learn the JAVA not from any tutor nut from videos itself??
Kevin Darty10 months ago
+Disha Mehra the concept of "learning" is very specific to each person. Some do well learning from books or classroom instruction while others can apply concepts learned through a YouTube Video with some hands-on practice to pick up new things. I saw go with whatever works best for you.

A seasoned programmer can pick up on syntax for a new language by filtering through good blog articles and StackOverflow Discussions.

Go at your own pace and do what works best for you.

The original post here presents my best advice for learning not only the basics of programming for Android but helps provide resources to get you going faster.

My best advice is to be picky about who you follow on Social Networks. Look for people that really know their stuff and actually have something good to say. Decide what works best for you (books/ebooks, blogs, videos, etc) and do your best to learn the basic concepts of Java and Android Development. Look for projects on Git where people are sharing pieces of code that will help push your App to the next level and follow those Projects and take pay close attention to discussions on User Interface Design and Coding Best Practices as they will help provide a road map of where you should be going.

Hopefully that answers your question and don't hesitate to ask more. If I don't answer, hopefully others will. There are some great groups here on Google+ that can also help so seek those out and keep a watchful eye on the Android and Java Development Discussions on StackOverflow.
Kevin Darty10 months ago
+raj kumar hey there, I want to apologize for not responding sooner. I took a break from Social Media for a while so I didn't get to all the questions people were posting.

In terms of eBooks, I will see if I can find some FREE eBook Downloads I can link to but I won't post to any premium content. For those, you can do a Google Search on your own but I won't do it :-)

Look for my post with links soon. I will need to check with some authors though as I'm seeing some links on somewhat professional looking sites that I question.

Don't forget the "Thinking in Java" eBook I originally linked to. That is an excellent resource.
raj kumar10 months ago
Thanks for your... reply sir...:)+1
Kevin Darty10 months ago
+raj kumar I started looking around for eBooks you can download freely online and unfortunately, the majority were all pirated, which I confirmed by contacting the authors.

I did find this one that is indeed FREE thought it is a little old. Hopefully you can find something here to help you out:

andbook! Android Programming
http://andbook.anddev.org/
+1
jaya shanker9 months ago
That is really an awesome track of information. Thanks for that and also just to make sure i am in right pace.  Learning java (core or any more ?) and Html ing are more than  enough to start developing Android right or any more. Please do let us know . Waiting for your precious response. Thanks in advance
Kevin Darty9 months ago
Hello +jaya shanker good to hear from you.

I believe in terms of Java, as long as you know another programming language then the basic concepts and constructs should be enough to get you going.

More of it will go along with learning the Android way of doing things and the API/SDK pieces that will be needed to build an application for the platform.

As for HTML, you don't really need to know HTML to develop Applications for Android. Now if you happen to want to build an Application that somehow works with Web Pages, WebAPIs or such, I would definitely spend some time getting a good understanding of the DOM and you probably want to find a good HTML Parser if that is the kind of thing you need. However, as a general rule, you won't need to know HTML to do typical Android Development.

My best advice is to review some (or all) of the material I referenced to get a good understanding and get started. Join an Android Development and Design Community here and ask questions. Get familiar with the Android section of Stackoverflow so you know where to go find some excellent help and tips along the way.

Good Luck!
jaya shanker9 months ago
+Kevin Darty thanks Mr. Kevin darty that was nice to hear from you. Just like you said. Will sure do that. I am completely new to android development. So was curious in knowing. Thank you once again. +1
Nima Gh9 months ago
Also wrote a blog with a number books and online resources for Android development, you can check it here: http://wp.me/p3GMyn-eA+2
bujair vm8 months ago
good+1
Munimul Haq8 months ago
Wow.. An organized collection of links and a road map for android dev :) thanks+1
Hitesh Dhankecha8 months ago
sir regarding to your tutorialk i starting java and then i ll start androind
Kevin Darty8 months ago
+Hitesh Dhankecha that all depends on how you learn the best. If you do not know Java or Android Development you can learn as you go by building simple "Hello World" style Apps for Android and adding functionality to test your Java skills as you learn.

This is a good topic though. During my lunch break today I will try to find some good "starter" Android Projects for you and others to dive into as you get started on your path toward learning.

Android Development requires more knowledge than simply learning Java but for simply starting with a "template" project and adding in functionality to test as you learn, the Android Emulator should help to get you started fast.
Dani Bashour8 months ago
I liked the collection so much, and the most things I like that you didn't mention Java's official tutorial (Oracle tutorial) and Android official tutorial. Cause I feel those tutorial are made for people with at least some knowledge in Java and Android (at least intermediate skills).+1
This helps out developers like me, thanks for the sufficient resources on how to start with and to learn a full fledged android app development, Where Should I really look for android game app development??
http://www.contus.com/android-application-development.php  
+1
mostafa sharaf7 months ago
hi, i am an absolute beginner and i wanted to ask about the links you provided above, is it for beginners like me? i am totally new and i just started from 1 month watching youtube tutorials and i learned basics of java . i want to ask about tutorials for people like me who wants to be pros one day. thank you
Jon Y7 months ago
Absolutely WONDERFUL
I think you should add the Codota Chrome extension (http://www.codota.com/extension) as a tool for Getting Started with Android Development and thenewboston video guide to the Video Training section (https://buckysroom.org/videos.php?cat=6)
+2
thanks for sharing!+2
Parth Khanna7 months ago
Hello +Kevin Darty sir. Thanks for all the above collection. I am new to any kind of programming so i just wanted to ask that which programming language should i start with like for eg. c++, python, java,etc...i want to do android app development. I have just started going to college. Thank you. Waiting for your valuable suggestion.
Kevin Darty7 months ago
Hey +Parth Khanna I'm glad to see you joining the ranks of Computer Programmer. There are a lot of great resources out there to help get you started on the right path. The first thing you need to decide is what Languages will best suit where you want to go and what will make you more marketable to help you get a job later.

As of today, the 2014 Programming Language Rankings from IEEE identify the following languages to be the most popular:

1. Java
2. C
3. C++
4. Python
5. C#

The list goes on but that is the Top 5. The list also pinpoints what each Programming Languages is best suited to:

- Web
- Mobile
- Enterprise
- Embedded

In this case, the best languages to focus on are:

- Java
- C#

Why just Java and C# you might ask? They are the only languages from the list that are best suited for Mobile, Web and Desktop/Enterprise Development.

Some people may not know but by using Xamarin you can use the C# Programming Language to target Android, iOS and Windows Phone all while sharing the same code base so it is definitely something to keep in mind.

In College you are likely to find a lot of love for PHP. If you are going to a University the focus will be Java and C (based on the languages in the IEEE study), however, it is very popular for College level Programmers to sway more toward PHP. While this is a good language to know, it continues to fall in the rankings each year. If I were to pick my own top languages from the IEEE list I would order them as follows:

1. Java
2. JavaScript
3. Python
4. C#

IEEE ranks JavaScript at a 7 but personally, if you do any Web Development you will likely use JavaScript every day, no matter what your server-side programming language may be.

With the 4 Languages I listed above, you should find yourself well suited to enter the market with the knowledge needed to meet market demand and to meet your goal of Developing for Android.

As I mentioned, way at the top of this rather long response, there are lots of great resources for getting you started. I have begun collecting some great links in a board on Pinterest that you should take a look at as I've included a lot of "getting started" links there:

http://www.pinterest.com/kdarty71/programming/

While it is pinned to my Pinterest board, here is the link for the IEEE Rankings for 2014 as well:

http://spectrum.ieee.org/static/interactive-the-top-programming-languages

Good luck!
+1
Vladislav Bauer7 months ago
It could be interesting too: http://android-arsenal.com
A categorized directory of libraries, tools, and projects for Android.
+1
milin mestry6 months ago
Thanks +Kevin Darty +1
Nice mr +Kevin Darty. it's cool reference for learn android development+1
Thanks a lot for sharing this valuable info with us .....:)+1
Matheus Cesario4 months ago
Great post mr +Kevin Darty. These sources will be very useful for me in my studies to become a good android developer. Thank you very much! +1
Shankar Shastri2 months ago
I am finding problem during creation of diffrent layout's
 how long developing app  took?
Kevin Darty4 days ago
+وردة حمراء I believe to answer that you would need to take a step back and ask how long it would take to build the same App using another Technology Platform and Language you may be more familiar with. Then add some time in for learning something new like Java, MVC and a new Framework such as what Android presents.

What could take a seasoned Developer 1 Week to build could take a learner 1 Month.

It all really comes down to you and how comfortable you are with programming already. If you know OOP concepts, you understand the fundamentals of MVC and you pick up on new concepts relatively quickly then I would think that you should be able to turn around an App for Android rather quickly. But remember, complexity in desired features will add to your development time and Testing could take double your Development Time depending on to what degree you Test.

With that all in mind, I don't think I could give you a straight answer "it will take this long" because it is just not that easy to say as there are so many contributing factors.
+1
Kevin Darty4 days ago
+وردة حمراء according to this survey of 100 Mobile Developers, it should take about 18 weeks:

http://www.kinvey.com/blog/2086/how-long-does-it-take-to-build-a-mobile-app

Of course the author of this article doesn't mention how many people would need to be on your Team to get an App out the door in 18 weeks.

One person commented on this article saying that his staff only includes one (1) Developer and his staff only gets this Developer for 80% of the time and so far they are 6 months into the Development.

As the saying goes, YMMV (Your Mileage May Vary).

I found the infographic on that page to be really neat, especially with its comparisons but it is really hard to narrow down exactly how long one person or a team of people will take to build a Mobile App. A lot depends on the complexity of the UI, the Backend and amount of time that can be devoted to building it.

There is a question on just this very topic on Quora here:

http://www.quora.com/How-long-would-it-take-an-inexperienced-programmer-to-program-an-iPhone-Android-app

Most people there agreed that it would be very hard to pinpoint an exact time it would take an inexperienced Developer as it is hard to say how long one would take to grasp new concepts.

2 months is a typical number that kept coming out in discussions there. Of course that would vary based on complexity.

Think about what it would take you to build a Desktop App and then think of what it would take to build the same App for the Web. Think about those numbers to come up with an idea of how long the Mobile App would take.

Of course if you are starting out fresh with no prior programming experience, I would expect to take a month just to learn enough to even start and even then, I wouldn't expect your first App to be any good.

It is easy to be proud but we know deep inside, our first App whether it be Desktop, Web or Mobile will likely be the one we laugh about later :-)

...but the journey of learning will pay off in the end.
+1
Thank you for your explanation .Actually am an information technology senior students . So,maybe that will make it easier.