Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 9 years ago.
Improve this question
I just started to learn Android development.
My previous experience is majorly .NET framework in C#. I have some experience with Linux and basically no idea about Java.
So, which is the good way to be an Android development expert? Books? Study roadmap? Anything would be appreciated. I am all ears to your advises.
Thanks.
(Apologies if this is not the right place to post such a question.)
The first thing you must do is learn Java. Head First Java would be a nice introduction. Android applications commonly use complex Java concepts, such as inner classes, anonymous classes, generics, etc. You should become a Java expert before becoming an Android expert. It will make your life alot easier.
After this I would recommend learning Android by reading an intro book such as Beginning Android 2.
After this -- or as a supplement to the book -- go check out the android developer's guide, where you will get tons of great tips and sample code. Make sure you understand all of this sample code.
Somewhere along the way, you should check out this wonderful tutorial on creating a "real-life" application. It goes step-by-step and helped me alot.
If you have worked with C# then it should be no problem simply "jumping in"... it's basically the same language, you just have to learn the libraries like anybody else. Just remember to compare strings with .equals() instead of == :) Microsoft did a might fine job evolving (cough copying cough) the Java language so you should feel right at home :)
Seriously, you don't need to bother much with learning Java per-se, just get Eclipse, install the SDK and start read the developper's guide. AFAIK there aren't any good Android books out there, but there are a lot of interesting videos here. The videos should be your best source of information really...
I learned Java and Android at the same time (had no previous experience with Java). I can't really say that my first apps were particularly good but, as with anything else, you get better with time and experience. Now I'm working a full time job developing Android apps (after a few open-source projects) :)
I guess it depends on how you prefer to learn. I started by jumping right in and doing some tutorials and some small apps for myself, so that's all I can recommend (I have not read any Android books). If you want something to read, the developer's guide will keep you entertained for at least a few hours.
For Java I would recommend Thinking in Java, for Android you can find sth interesting (for beginners) here http://developer.android.com/resources/browser.html?tag=tutorial . Personally I tried to read some books about android but they are not particulary interesting (Pro Android 2).
If u want to make a career in Android, first learn basics in JAVA.
Read JAVA The Complete Reference book to improve your understanding.
Then start learning Android. Using Google search will provide you a lot of video tutorials to learn android.
check out Google I/O developer conference and also this video
Related
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
I see a lot of questions about it, a lot of different answers here and there, but nothing past 2014.
I would like to start building apps on Android (we'll see for iOS later). I am home, I have a lot of time, I don't want to spend too much money (I am ok for a subscription around $30/month to whatever platform or buying a book here and there) but basically: Where do I start?
If you could tell me the path you would choose, knowing the advanced state of Android and all resources available nowadays.
You should deal with the advance stuffs later and focus on the fundamentals. If you already know java, then you already have a jumpstart. For android development, the topics that (for me) you should be playing around would be:
Activity Life Cycle.
MultiThreading
Image Processes
Google Material Design (this may come later on but the basic design principles should
be learned).
I recommend O'Reilly's Head First Android Development.
When you learned the basics, you should be able to follow through more advanced stuffs.
EDIT:
Java has been out for decades already, so there should be no problems finding tutorials for it. There are lots of tutorials available starting from ebooks to youtube tutorials. A Head first book I have found may be helpful when starting to learn the language. It is also encouraged that you get familiar with Object Oriented Programming for you will mostly deal with it on android. I'll recommend gaining familiarity with:
Arrays
Inheritance
Polymorphism
You have a long way to go, but once you get familiar with the basics you'll be good to go for android.
I assume you are a beginner . and i will suggest answer according to this.
The first thing you need for android development is being good in java or your base programming language. You dont have to be best in it but have a good touch on it.
In java topics you should be aware of are mainly-
Inheritance , scope assignment to variables , access specifiers , error handling , looping , data types and basic knowledge of database query.
i am suggesting these topics as these are few things which will make you comfortable in android and make it easy for you.
The best place to start your android training is from the official website of android. this is the best place for all the knowledge. but as you are beginner you will have difficult time getting these concepts. so i suggest you first go through some youtube videos . even if you dont get it first after sometimes this will make sense. and after sometime you will get a basic knowledge for android. then you can go through many blogs and the website to gain more and more knowledge. once you are comfortable with the basics you will have no problem going further.
During doing any blog reading or video watching dont only watch or read it , make your own practice with it. because as a programming language you never know when you make mistake unless you do it yourself.
These are some links to follow-
official website
new boston youtube channel
slidenerd youtube channel
vogella blog
tutsplus
androidhive
be persistent . thats the only key. good luck.
https://www.udacity.com/courses/android
Udecity android courses are official android course designed and conducted by google developers.
it will teach you step by step app developent with very interesting real life examples.
course is not free but course material like Videos and sample codes are free.
i think you will not need to subscribe for paid course.
Udecity's Android course material will be far better.
All the best my Bro.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 9 years ago.
Improve this question
I am a computer science undergrad. I am passionate about programming. I studied c and c++ at college. I learned android on my own. i created 2 apps following youtube videos. and then i wrote comments to those code by reading some of the android programming books. i learned so many good stuffs.
now i am trying to create my own app and i have ideas but do not know how to know about imports,classes and methods that i can use...and i do not know if there are classes,methods that can be use to turn my dream app into reality....how to know about classes,methods,imports!
i know about developer's site but how to use it..i mean how to get things done ..can anyone give some example?
like i want my splash screen to be there for 10 secs now how to know required imports,classes and methods....i always go crazy over internet and start to search how others have done and imitate it..what is the real way of learning those stuff?
i am really eager to learn on my own.
You seem to be asking for a superior strategy to help you identify the Classes and methods that you will need to use. I don't think such a strategy exists, but I would suggest a couple of ideas:
Get a good textbook on Android app development, and read the initial chapters, and all later chapters that appear like they might be relevant. This should give you a start on understanding the APIs.
Read through the package-level documentation for all of the packages in the libraries ... including the "java" ones. This will give you an overview of what is available.
Look for relevant tutorials and example code to read / borrow from.
From there, it is largely a matter of intelligently searching the Android API docs. In the case of Java SE and EE, the javadocs include indexes of methods and all classes, together with a type hierarchy and a usage index. I find that searching these using a web browser's page search can be productive. But the most important technique is intelligent choice of keywords for your searches. (If your working vocabulary of IT English is not good, this could be a challenge ...)
I recently started learning how to develop Android apps as well. I learned by reading books and studying the online Android documentation. The books from Commons Ware are very good. You should also study general Java programming concepts. I recommend [Learning the Java Language] from Oracle's Java Tutorials.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
HI i am new to Android
I needed guidence from experienced programmers in this site
I have executed "Hello world" program and simple ones, i found out the best way to lean android programmig is by practicing Google sample codes, i downloaded through eclipse and placed on eclipse workspace
I have ambuiduity in which programs to start like proj1--- then --- proj2 ---later---- proj3
if i randomly open some project the code is complicated and i am lost
it would help if someone direct me to learn the order of projects i need to follow to practice
please share your experience
I am in a similar position. I've been doing a few things at once:
Following the training through from
http://developer.android.com/training/index.html
in order. There's a lot there, I got to about half way through 'getting started' before I was ready to try creating my own app.
Reading the guides on a topic when I start to use it and want to know more
http://developer.android.com/guide/components/index.html
Working on a simple application idea of my own to give me some focus. I've been hacking away at it learning as I go. I found this was better than following someone else's example as I was motivated to see my app work, and it's actually pretty easy going so far. I've been using the Google docs and searches (lots of Stack Overflow threads) to help.
Now I'm at the point where I'm going back and improving the implementation of my app, looking at bits of it I think are messy and researching if there's a better way to do it. Which is all good learning too.
I've only been using the sample apps as a reference if I want to see how something specific was done.
In my personal experience, I find it easier (once you have your idea) to design an example User Interface to display how you want the system to work for the user. This helps keep things more User Friendly once everything is published. I'd suggest looking at example UIs from various Android Apps in Google Play or by finding example source code at places like GitHub.com, like this Ribbon Menu:
https://github.com/darvds/RibbonMenu
Once you have the UI designed, you should move on to designing the network/protocols which drive the background communication. Then it's as simple as connecting the Graphics with the Built-in Sensors and communicating with your network using HTTP, GCM, and/or Sockets.
To further your resources, there are tons of examples on GitHub which can help you learn different programming styles in a published application. If these are still too complex for you, there are many tutorials that could easily be found a Google search of "Android Development Tutorials". I took the liberty to find you one which looks pretty simple, applicable, and somewhat example driven:
http://people.bridgewater.edu/~arn002/csci440/android-tutorial.htm
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I'm looking into doing some Android app development, just for my own pleasure. I've taken a look at some of the developer articles, the basics etc, and it really sounds like there's a hidden basic assumption about one's prior knowledge in relation to app development.
A lot of what was talked about, even in the basics, seemed to go over my head. I'm relatively new to programming, I've mainly done C++ and a little Java. I've not gotten fully into object oriented, still just doing basic programming.
Honestly, I'm a little overwhelmed as where I need to go next in order to make this work. So what direction can you give me in terms of what to learn first. I get that Java will be a big part of it, but is there anything else that would help?
Thanks,
Andy.
The three big things that you need, in terms of background, are:
Java programming
XML
Experience with widget-based UI models (i.e., pretty much anything other than low-level HTML/CSS/JS stuff)
The specific sorts of stuff in Java that you need include:
Language fundamentals (flow control, etc.)
Classes and objects
Methods and data members
Public, private, and protected
Static and instance scope
Exceptions
Threads and concurrency control
Collections
Generics
File I/O
Reflection
Interfaces
Those will all be covered in any decent Java book/course/mind meld from a friendly Vulcan. Those resources will probably go into other stuff as well (Swing, servlets, etc.) that will not typically be relevant to Android.
You should start at the very beginning.
Follow the 'my first app' tutorial step-by-step here, and if you don't understand a word or term or the code, google it. I'd even suggest you re-type the code rather than copy-pasting, so that you actually think about what each line is doing and get some practice debugging what you do wrong.
You should also read and understand about activities as a minimum, but all of the headings under 'app components' are very relevant.
First and foremost, you should be conformable enough with java so that you can easily understand the sample codes. OOP plays a major part and I believe you are going to have a tough time otherwise if you are not fluent with it, as it going to be the building block for Android programming.
And then when you get into the Android part, grab a decent book and follow it as your bible. Don't just skip the theory and start with coding as you would need to have your basics clear. The documentation is going to be your friend as long as you are in Android development, so make sure that you don't hesitate to look things up there. When you download the SDK, there are a lot of sample projects given there and they would provide you a lot of help too.
Once you get into the development, you would find that there are a lot of generic code available online and even Stack Overflow has a plethora of questions on Android.
My suggestion to you would be to get your foundation in java and then start making your own application, because learning hands-on is the best way to do so. Start with small and simple ones, preferably those that are explained in the book that you would be following. Try your hands on the applications and if you get stuck, post here and help would be provided readily.
Note :
This a series of awesome video tutorials. Starts from the very basics and takes you to much higher levels, explaining everything that is happening. Very helpful.
Good luck with Android! May the Droid be with you!
Basically it's all about java + some kind of specific xmlish declarative language.
I guess java as a basis is enough because everything else is more android specific.
One answer here
How do you know if you would understand android with your current knowledge?:
Android Training Skim through code there, if you are able to understand it, that means all you need is java, and some xml layout stuffs.
You can start with these tutorials, in this question:
Online Android Development Tutorial / Beginner's Guide?
Then, as you get more comfortable, familiar, start to look at the sample programs.
There are few tutorials which start with basic. probably you want to have look into it. Before going through these tutorials read about the Android architecture and you are good to go.
Some of the Android basic tutorial.
developer.android.com
Vogella.com
myong.com
Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
Question
Where can I find really good, thorough and comprehensive Android development instruction that goes beyond the basics and ties it all together -- with the minimum time investment and almost-zero budget?
Details
Please don't mistake me -- I understand that learning a new platform takes time. I'm just looking to streamline the process a bit. Here's my situation:
I've been a PHP-focused web developer for years, and have built numerous large applications around MVC and enterprise design patterns. I have a small amount of Java, C++, and C# experience -- mostly what I learned in school, but that was several years ago.
But now I've got to dive in and get up and running building Android applications. I've got a couple of apps that really need building, and the timeframe is simply "ASAP".
I know enough of the basics and I've already been through the Hello World and Notepad tutorials on http://developer.android.com, so I really don't need to start from scratch, but it seems like most of what I've found falls into one of two camps:
Very basic tutorials, which spend more time telling you how to set up the environment than actually design a real-world application, or'
Highly specific "how to" content, which is great for handling very specific scenarios, but not great for learning to organize and implement professional quality apps.
What I'm looking for ideally is a tutorial series, a book, or some well-documented sample applications that actually clearly demonstrate the why and how of designing building professional android applications -- constructing the model, laying out complex views, etc, without necessarily assuming that I'm a Java expert.
So, any good recommendations ?
UPDATE
To clarify, I'm not a complete moron in this area. I've built a couple small Android apps already. The problem is that they're simple and not at all professional or release-worthy, and I'm really not sure where to start when it comes to learning "the right way".
All I'm asking for is some very focused tutorials or guidance, ideally geared toward the the professional coming from another platform. I'm NOT asking for someone to magically teach me how to program.
Side-note: If you're going to down-vote, LEAVE A COMMENT so I at least know what your problem is.
I've found these ones rather helpful: CommonsWare Library.
However the official dev Android portal (http://developer.android.com) with its development guides really provides a great foundation which I'd highly recommend to take as the first source of info. Those guides are just musts.
UPDATE: Since you come from PHP, then I suspect Android application life-cylce would be a quite new concept for you. Make sure to point additional attention to Process lifecycle and Managing the Activity Lifecycle. There is so many crappy apps written without understanding of that. Android is able to break your mind if you don't grasp those concepts fully. They are somewhat new in mobile app development, so it takes time to adopt them.
Android for Programmers; an App-driven Approach
Android Recipes
Android Developer's Cookbook
"ASAP" isn't relevant. Don't know the platform, don't know the language, don't know the libraries, you're at the mercy of the tutorials. You'd be better served by spending time not working on the apps in the beginning. Ultimately you'll spend less time if you focus on learning up-front.