Related
This is me: college kid, no developing experience whatsoever (unless you could a basic HTML course in like 9th grade... lol), relatively intelligent, interested in technology.
What do I need to learn?
I found a "java 101" article to read here: Learn Java from the ground up - JavaWorld
Is android just Java or is there any other kind of language..? I've heard something about C++? or is that part of Java?
As you can tell, I'm a noob lol.
Then I read that I need Eclipse (what does that do again?), which one should I get (I'm on a Mac): Eclipse IDE for Java EE Developers, Eclipse IDE for Java Developers, or Eclipse Classic 3.6?
Is this a bad idea considering I know nothing? Like am in way over my head?
Any other ideas or links anyone can share?
I made this same post on a different forum, and someone told me that XDA was a great place to learn programming and such.
Any help is appreciated. Thanks!
Oh and can I program without a problem from OS X or should I use bootcamp and do it all under Windows 7?
This is me: high school kid who is a noob Java programmer.
1. Learn Java. That's what Android apps are written in (I think).
2. C++ is a different language. Don't think it's of use here.
3. Eclipse for Java Dev.
4. Embrace your Mac.
I'm in much the same boat you are. I went and grabbed a book called, "Android Application Development" from my local book store tonight (oreilly.com). I am not endorsing the book yet as I'm only a few pages in and it was the only Android book at the store. There was not a single book on Java. I'll be turning to the many many web sites available for that until I get a solid recommendation for a book from someone.
The only thing I've ever done that's even remotely close is built SQL databases, reports and queries which I now manage as a cardiac researcher. I have no classes or anything else useful other than I know my way around PCs enough to build them and install my own OS's.
The advice in the book for the dev environment is:
1. JDK 5 or 6 and the book says that OSX comes with 5.
2. Eclipse IDE for Java Developers for your OS. Get the latest version (which defaulted as such for me for Vista 64).
3. The Android SDK.
After the above, there are some steps to take a look at on the Android SDK site. Follow those and read it all. I'm pretty sure I'm just a person of average intelligence and I think I have a handle on getting to where I can start working and the Hello World bit seems to make sense right now. We'll see how things go as I learn more of the Java syntax.
Good luck!
I would love any advice on sites/books for a non-programmer to start to get a grip on Java and creating an Android app in general. I have some plans for some specific medical uses for my job and I have always been interested in writing programs. Seems like a great time to start.
For Java, a good place to start (other than the Sun site itself) is JavaRanch. I'm too new to post links, but the URL is easy to figure out, and a quick search would turn it up as well. The site has lots of information, links to book reviews for Java, forums and so on. It was a good resource when I was studying Java in college!
Good luck!
nebulosity said:
For Java, a good place to start (other than the Sun site itself) is JavaRanch. I'm too new to post links, but the URL is easy to figure out, and a quick search would turn it up as well. The site has lots of information, links to book reviews for Java, forums and so on. It was a good resource when I was studying Java in college!
Good luck!
Click to expand...
Click to collapse
Thanks much! I found an Intro to Programming with Java class at the local community college here but it doesn't start until Sept. =/ That site looks good though, hopefully I can find a book that seems to fit.
(edit: the following assumes you've more or less mastered Java already; I really don't know what to recommend for someone who's trying to learn Java AND Android programming simultaneously. I suspect part of the reason for the lack of books for THAT niche is due to the fact that it's more or less impossible to take any programming class in college that doesn't either involve Java or have it as a non-negotiable prerequisite, even if Java per se isn't directly relevant. It's just part of the baseline cultural background noise).
If you buy nothing else, buy "Beginning Android 2" by Mark Murphy. If you're not totally broke, buy "Pro Android 2" by Sayed Hashimi while you're at it. Don't try to skip the first and go straight to the second... there's a lot of medium-level stuff that's covered thoroughly in "Beginning" that's barely touched upon in "Pro".
Those two books aren't great if you like to jump around and learn things in random order as need arises, but they're probably the gold standard right now for books that comprehensively teach Android Programming in a sensible order from start to finish.
"Professional Android 2 Application Development" by Reto Meier is a great complement to those books, because it IS more of a "jump around and grab important details as the need to learn them arises" book. I refer to all three on a regular basis.
"Hello, Android" is one of those books that you'll probably never look at again two weeks after you first start reading it... but if cash isn't really a problem, it's a nice tutorial for brand new Android developers.
Content-wise, the pdf commonsware.com books by Mark Murphy (yeah, the same Mark Murphy who wrote the Apress book) are probably the best of all, because they literally ARE updated regularly as typos & bugs get found (every book has 'em, few books ever usefully fix 'em) and new versions of Android get released. The problem is, unless you have an ebook reader, let's be honest... ebooks kind of suck. Sometimes, a real book is nice to have. So, I'd say Murphy's books kind of break new ground between online articles and real books... they go into a lot more depth, more coherently, than any one online source of info about Android programming... but unfortunately, because they're ebooks, they're about as pleasant to casually read as those same online articles.
18 months from now, when Android tablets with 1280x720(*) displays or better are common and relatively cheap, eBooks are going to be the norm for Android books going forward, because THEN they'll let you have the best of all worlds -- the coherent editing and comprehensive content of "real" books, the up-to-date accuracy of the best online sources of info, and a reading experience that doesn't kind of suck. Five years from now (when the eBook experience has finally become civilized), I'll be shocked if programming books even exist anymore in printed form, aside from maybe books like "${Language}: How to Program" that deal with topics that don't really change radically from month to month and are more or less universal as college textbooks. Programming and system administration are the kind of topics that are really too volatile for paper books, and for they most part they've ALWAYS been... there just hasn't really been a civilized alternative to them. IMHO, Android tablets will be what finally make it a civilized experience, because for the first time normal people (meaning developers who don't work for huge corporate entities like Amazon and Sony) will be able to develop ebook apps with their own UI experiments. Right now, all we have are devices optimized for reading mass-market top-20 fiction... devices that largely suck for the specific task of reading (and referring to) programming books (where you generally flip around a lot, and 700ms latency every time you change a page will drive you insane in 3 minutes).
So, in summary, here's my recommended buying order:
If cash is abundant and you want a nice intro: Hello, Android (latest edition)
Absolutely mandatory: Beginning Android 2
Equally mandatory, but maybe a few weeks later: Pro Android 2
then, it's a toss-up between a commonsware "Warescription" for Murphy's other books (which gives you access to the latest and greatest versions of them for a year, plus perpetual ownership the last copies you downloaded before the year ran out) and Meier's book (if you really hate ebooks). Personally, I'd recommend the Warescription AND Meier's book
(*)1280x720 is the rock-bottom minimum resolution viable for comfortably reading an O'Reilly-Manning-sized book in pdf form two pages at a time. 800x480 is just a hair below the resolution you really need to comfortably read ONE O'Reilly-Manning sized page at a time.
bitbang3r said:
<snip>
18 months from now, when Android tablets with 1280x720(*) displays or better are common and relatively cheap, <snip>
So, in summary, here's my recommended buying order:
If cash is abundant and you want a nice intro: Hello, Android (latest edition)
Absolutely mandatory: Beginning Android 2
Equally mandatory, but maybe a few weeks later: Pro Android 2
then, it's a toss-up between a commonsware "Warescription" for Murphy's other books (which gives you access to the latest and greatest versions of them for a year, plus perpetual ownership the last copies you downloaded before the year ran out) and Meier's book (if you really hate ebooks). Personally, I'd recommend the Warescription AND Meier's book
(*)1280x720 is the rock-bottom minimum resolution viable for comfortably reading an O'Reilly-Manning-sized book in pdf form two pages at a time. 800x480 is just a hair below the resolution you really need to comfortably read ONE O'Reilly-Manning sized page at a time.
Click to expand...
Click to collapse
The bolded above is the exact reason I am learning. I need to be able to write my own app for the upcoming tablets. We are planning to move a lot of document work to tablets over the next few years in the medical industry and the existing product lines are hilariously and prohibitively expensive. Since I already work extensively with our privacy laws and and regulations, I'm fairly sure that I can get a working solution for us over the next three years instead of investing millions of dollars in proprietary systems.
Thank you SO much for this advice. I'm ordering Beginning Android tonight and will pick up the other suggestions about halfway through the first book. My class will start in September. If you happen to have any other suggestions that might ease my way into programming concepts in general I would also appreciate those. Again, thanks a ton for the great advice.
Yeah i hear ya man. I took Java Programming in my senior year of highschool and got an A in it. So i know im capable for doing android, but im still finding my way around. hopefully one day i can actually do it! I hope!
bitbang3r said:
(edit: the following assumes you've more or less mastered Java already; I really don't know what to recommend for someone who's trying to learn Java AND Android programming simultaneously. I suspect part of the reason for the lack of books for THAT niche is due to the fact that it's more or less impossible to take any programming class in college that doesn't either involve Java or have it as a non-negotiable prerequisite, even if Java per se isn't directly relevant. It's just part of the baseline cultural background noise).
If you buy nothing else, buy "Beginning Android 2" by Mark Murphy. If you're not totally broke, buy "Pro Android 2" by Sayed Hashimi while you're at it. Don't try to skip the first and go straight to the second... there's a lot of medium-level stuff that's covered thoroughly in "Beginning" that's barely touched upon in "Pro".
Those two books aren't great if you like to jump around and learn things in random order as need arises, but they're probably the gold standard right now for books that comprehensively teach Android Programming in a sensible order from start to finish.
"Professional Android 2 Application Development" by Reto Meier is a great complement to those books, because it IS more of a "jump around and grab important details as the need to learn them arises" book. I refer to all three on a regular basis.
"Hello, Android" is one of those books that you'll probably never look at again two weeks after you first start reading it... but if cash isn't really a problem, it's a nice tutorial for brand new Android developers.
Content-wise, the pdf commonsware.com books by Mark Murphy (yeah, the same Mark Murphy who wrote the Apress book) are probably the best of all, because they literally ARE updated regularly as typos & bugs get found (every book has 'em, few books ever usefully fix 'em) and new versions of Android get released. The problem is, unless you have an ebook reader, let's be honest... ebooks kind of suck. Sometimes, a real book is nice to have. So, I'd say Murphy's books kind of break new ground between online articles and real books... they go into a lot more depth, more coherently, than any one online source of info about Android programming... but unfortunately, because they're ebooks, they're about as pleasant to casually read as those same online articles.
18 months from now, when Android tablets with 1280x720(*) displays or better are common and relatively cheap, eBooks are going to be the norm for Android books going forward, because THEN they'll let you have the best of all worlds -- the coherent editing and comprehensive content of "real" books, the up-to-date accuracy of the best online sources of info, and a reading experience that doesn't kind of suck. Five years from now (when the eBook experience has finally become civilized), I'll be shocked if programming books even exist anymore in printed form, aside from maybe books like "${Language}: How to Program" that deal with topics that don't really change radically from month to month and are more or less universal as college textbooks. Programming and system administration are the kind of topics that are really too volatile for paper books, and for they most part they've ALWAYS been... there just hasn't really been a civilized alternative to them. IMHO, Android tablets will be what finally make it a civilized experience, because for the first time normal people (meaning developers who don't work for huge corporate entities like Amazon and Sony) will be able to develop ebook apps with their own UI experiments. Right now, all we have are devices optimized for reading mass-market top-20 fiction... devices that largely suck for the specific task of reading (and referring to) programming books (where you generally flip around a lot, and 700ms latency every time you change a page will drive you insane in 3 minutes).
So, in summary, here's my recommended buying order:
If cash is abundant and you want a nice intro: Hello, Android (latest edition)
Absolutely mandatory: Beginning Android 2
Equally mandatory, but maybe a few weeks later: Pro Android 2
then, it's a toss-up between a commonsware "Warescription" for Murphy's other books (which gives you access to the latest and greatest versions of them for a year, plus perpetual ownership the last copies you downloaded before the year ran out) and Meier's book (if you really hate ebooks). Personally, I'd recommend the Warescription AND Meier's book
(*)1280x720 is the rock-bottom minimum resolution viable for comfortably reading an O'Reilly-Manning-sized book in pdf form two pages at a time. 800x480 is just a hair below the resolution you really need to comfortably read ONE O'Reilly-Manning sized page at a time.
Click to expand...
Click to collapse
Wow, thanks a ton! I'll be sure I pick up those 4 things later on.
Since I wrote the original post in this thread a couple days ago, I've spent some time trying to learn Java. As a total noob to programming, this has proven to be quite a challenge. Just about every book or eBook I see (A couple "java for dummies", "eclipse for dummies", "thinking in java", and I'm about halfway through the free sample of VTC's Java: Introduction to the Java Programming Language, which is an audio/video presentation thing) says that prior programming knowledge is necessary or that I should have some basis in C or something like that.
Also, there's command line as well as all of the different IDEs.. I'm assuming that these are all mainly interchangeable or what?
Should I just continue trying to learn Java and once I think I've figured it out just move on to Android or do you guys think I won't be able to get by without taking some sort of a programming class in school?
Thanks for all your help guys! By the way, how long do you think it might take to go from a noob to someone who can actually write an Android app?
for those of us that might be a bit hard up on cash http://developer.android.com/index.html
has a wealth of free information and sample programs. CHECK IT OUT!
Hello all, nice conversation that hasn't been diverted yet so I think I shall make a small contribution to this.
Programming courses and books that you can buy are a good way of learning but is not always an option due to mainly money constraints luckily we have this thing called internet , it has never been easier to learn programming than it is at the moment the plethora of resources available is absolutely incredible the only problem might be in finding things in a structured and well ordered way.
One of the tricks I've used in the past is to look up books that either get recommended or you like the look of and then find the index listing for that book which is usually given away free by sites selling books, then all you need to do is Google for the given topics =o)
As for learning Java to get started on the path to Android application building I think the biggest issue most people will be facing is that they find Java books but none of them seem to be making anything exciting, the problem is to make exciting things you really need to know a fair bit more about developing.
So that having been said I think as a short check list for someone looking to go from zero programming experience to developing their first android apps I would recommend something like this:
1. Go and read about Object Oriented Programming model
You won't fully grasp all the concepts straight away without having done any programming but it is good idea to get this stuff into your head straight away as it will start making more sense once you've learned a bit and then makes it easier to later on come back to this and get the lovely eureka! moments. Good place to start could be something as simple as Wikipedia.
2. Write console applications
By this I mean little java applications that you will be running from the command line on your computer. This is where most people I think get discouraged as they can't see how this relates to Android development.
Forget about graphics, user input, mobile devices etc for now, you can learn so much by writing these:
-Basic types & Variables
-Arrays
-Basic arithmetic and working with strings
-Loop structures
-Logic such as IF statements
-Creating new classes and objects
-Calling functions and returning values
Now all of the above will be used over and over and over again no matter whatever you are writing and the good thing is that it can all be learned by learning 1 additional non android specific thing: how to print out text to command line.
A good example application that you can write that uses most of the above would be a simple application you run from the command line, it fills an array with randomly generated integers between 1 and 20, lets say it generates 10 of them and then displays them to you in the order of smallest to highest.
No user input required, no graphics required etc, its not the most exciting thing but it will get you using all the basic building blocks.
3. Revisit the object oriented model
Do this again as it is pretty vital you understand it and after completing step 2 it will start making a whole lot more sense.
4. Install Eclipse and complete the Hello World tutorial on the android site:
There are plenty of guides on how to install the Android SDK and Eclipse environment and the best ones are from Google themselves. Follow them, if something doesn't work, try and figure out why it doesn't and then search for it, chances are that someone has already figured out why and you've just missed something.
Then complete this tutorial: http://developer.android.com/resources/tutorials/hello-world.html
5. Modify the Hello World tutorial:
Don't get ahead of yourself and start writing your killer app now, start slowly modifying the Hello World tutorial, learn how to display a piece of text from your application.
Now do everything you did with Step 2 but do it all on the Android app.
Visit this list but don't get too stuck with it:
http://developer.android.com/resources/faq/commontasks.html
6. Complete the Notepad tutorial:
If you've blindly followed my steps/similar steps this will be difficult and you should spend a good while dissecting all of it. The tutorial is actually excellent and touches on everything you pretty much need to write a fully functioning application. Don't go for the way of downloading sample source blindly following the tutorial, compiling in the end and then checking this as done.
I bet there are million things you won't understand about it so just keep going through it line by line and when you understand how it works, make it your own, start adding features to it, just silly things but do it =o)
7. Read, Read, Read & Start small.
You should now be at a point where you can start thinking about why you originally wanted to develop for android, if its a simple app you wanted to make start reading about topics that are specific to your app. Also this is a perfect time now to pick up an android application development book, up until this point all the free information has been as good as if not better than books.
If you want to make a game...be prepared to be spending atleast 2-3 times as long as you have to this point before it becomes even viable.
And final piece: Start small, for your first app don't start writing a full fledged facebook killer android social networking location based interactive photo editing physics calculator, do something simple and gradually build up to bigger projects...trust me on that =o(.
Anyhoo bored at work as you can probably tell, hope the above is a good outline for someone thinking of undertaking Android development if they have no previous experience. I don't mean to put people off just be prepared to spend a LONG time with this, it's not overly difficult but if you haven't done development before the sheer amount of new concepts you will have to understand from early on and WELL is very daunting.
.FxN
1. Install required components
* For Java use the latest version
* Android SDK
Once downloaded extract the folder to one of the PATH for example E: \ android_sdk_windows
* To Eclipse used Eclipse 3.5 (Galileo)
2. Add the Android platform and other packages needed to SDK
* SDK Run Setup.exe
* In the Available Packages menu to select all the packages downloaded
* select Install Selected and then select the Accept All to accept the selected packages
* select Install Accepted , Choose Install to install packages that we want to SDK
* Set the path to the Android SDK directory, by opening the Control Panel and then click on mycomputer system or right click and select Properties. Then on the Advanced tab select Environment Variables, click Edit on the path then input the Android SDK directory path
3. Install Android Development Tools (ADT)
fxn said:
Hello all, nice conversation that hasn't been diverted yet so I think I shall make a small contribution to this.
Programming courses and books that you can buy are a good way of learning but is not always an option due to mainly money constraints luckily we have this thing called internet , it has never been easier to learn programming than it is at the moment the plethora of resources available is absolutely incredible the only problem might be in finding things in a structured and well ordered way.
One of the tricks I've used in the past is to look up books that either get recommended or you like the look of and then find the index listing for that book which is usually given away free by sites selling books, then all you need to do is Google for the given topics =o)
As for learning Java to get started on the path to Android application building I think the biggest issue most people will be facing is that they find Java books but none of them seem to be making anything exciting, the problem is to make exciting things you really need to know a fair bit more about developing.
So that having been said I think as a short check list for someone looking to go from zero programming experience to developing their first android apps I would recommend something like this:
1. Go and read about Object Oriented Programming model
You won't fully grasp all the concepts straight away without having done any programming but it is good idea to get this stuff into your head straight away as it will start making more sense once you've learned a bit and then makes it easier to later on come back to this and get the lovely eureka! moments. Good place to start could be something as simple as Wikipedia.
2. Write console applications
By this I mean little java applications that you will be running from the command line on your computer. This is where most people I think get discouraged as they can't see how this relates to Android development.
Forget about graphics, user input, mobile devices etc for now, you can learn so much by writing these:
-Basic types & Variables
-Arrays
-Basic arithmetic and working with strings
-Loop structures
-Logic such as IF statements
-Creating new classes and objects
-Calling functions and returning values
Now all of the above will be used over and over and over again no matter whatever you are writing and the good thing is that it can all be learned by learning 1 additional non android specific thing: how to print out text to command line.
A good example application that you can write that uses most of the above would be a simple application you run from the command line, it fills an array with randomly generated integers between 1 and 20, lets say it generates 10 of them and then displays them to you in the order of smallest to highest.
No user input required, no graphics required etc, its not the most exciting thing but it will get you using all the basic building blocks.
3. Revisit the object oriented model
Do this again as it is pretty vital you understand it and after completing step 2 it will start making a whole lot more sense.
4. Install Eclipse and complete the Hello World tutorial on the android site:
There are plenty of guides on how to install the Android SDK and Eclipse environment and the best ones are from Google themselves. Follow them, if something doesn't work, try and figure out why it doesn't and then search for it, chances are that someone has already figured out why and you've just missed something.
Then complete this tutorial:
5. Modify the Hello World tutorial:
Don't get ahead of yourself and start writing your killer app now, start slowly modifying the Hello World tutorial, learn how to display a piece of text from your application.
Now do everything you did with Step 2 but do it all on the Android app.
Visit this list but don't get too stuck with it:
6. Complete the Notepad tutorial:
If you've blindly followed my steps/similar steps this will be difficult and you should spend a good while dissecting all of it. The tutorial is actually excellent and touches on everything you pretty much need to write a fully functioning application. Don't go for the way of downloading sample source blindly following the tutorial, compiling in the end and then checking this as done.
I bet there are million things you won't understand about it so just keep going through it line by line and when you understand how it works, make it your own, start adding features to it, just silly things but do it =o)
7. Read, Read, Read & Start small.
You should now be at a point where you can start thinking about why you originally wanted to develop for android, if its a simple app you wanted to make start reading about topics that are specific to your app. Also this is a perfect time now to pick up an android application development book, up until this point all the free information has been as good as if not better than books.
If you want to make a game...be prepared to be spending atleast 2-3 times as long as you have to this point before it becomes even viable.
And final piece: Start small, for your first app don't start writing a full fledged facebook killer android social networking location based interactive photo editing physics calculator, do something simple and gradually build up to bigger projects...trust me on that =o(.
Anyhoo bored at work as you can probably tell, hope the above is a good outline for someone thinking of undertaking Android development if they have no previous experience. I don't mean to put people off just be prepared to spend a LONG time with this, it's not overly difficult but if you haven't done development before the sheer amount of new concepts you will have to understand from early on and WELL is very daunting.
.FxN
Click to expand...
Click to collapse
Oh wow. This is great! Thanks a ton for taking the time to write all of that, I'm gonna go get started
I've already touched upon many of those things thanks to free ebooks and youtube tutorials and such, but now I know exactly what to do
Quick question though: what's the "notepad tutorial" ?
thanks again!
and @learnandroid, thank you as well for the instructions. i have eclipse set up now
A nice java book that I recommend is called Java Programming, comprehensive edition.
fichdak said:
Quick question though: what's the "notepad tutorial" ?
Click to expand...
Click to collapse
I can't yet post links, but just Google "Android notepad tutorial" - it's the first hit.
They take you through 3 different versions of the app, each slightly more complicated than the last. Definitely worth going through if you're new.
XDA has always been a fantastic community and you guys are the reason. Thank you for the thoughtful and very much appreciated advice and help.
I'm having a great time already. I really hope I can get into the class but it's already full with a waiting list. The books, tutorials and great resources are of course great but I have always liked to do new stuff with groups. I tend to learn more with some group goals involved along with the focused study.
Thanks again guys.
http://www.linuxclassroom.com/
This guy in San Antonio started an Android programming class for 8th graders and posted all of his lesson plans online. Might be a good place to start.
fichdak said:
Quick question though: what's the "notepad tutorial" ?
Click to expand...
Click to collapse
Sorry forgot to post the link: http://developer.android.com/resources/tutorials/notepad/index.html
.FxN
Great Thread full of info.
I have tried learning C# and Java on my own in the past but I could never grasp the concept and gave up.
I had an opportunity to go back to school full-time with programming in mind. I started last spring taking Software Development which teaches basic concepts of programming. Now I am starting my second semester in the fall taking intro to Java and c++ followed by advanced Java and c++ in the spring .
I hope I can transfer the knowledge from school along with the info provided in this Thread to build quality android applications in the future.
Thanks
-Bri
I know it's geographically limited to a small subset of the people here, but I'm pretty sure I remember reading somewhere that UC Santa Cruz actually has courses in Android Development (part of their certificate in embedded software development curriculum). However, I think it's safe to assume that a solid background in Java (including objects and threading) is a prerequisite. Anyone who lives within sane driving distance of Silicon Valley might want to check them out...
I definitely have to agree that if you're literally just starting with Java, don't even *think* about touching Swing until you're comfortable writing console apps. It's really easy to get overwhelmed by Swing. For the most part, Android programming isn't really harder than good Swing programming... the difference is, with Swing, you can still get away with doing some things that are bad, but will kind of work anyway (like blocking operations by a UI thread). Android simply won't tolerate or allow you to even *try*. It's good in the long run (I guess), but makes writing your first few real programs a lot harder than you probably expect it to be.
For example, Android won't allow classic "Modal" dialog boxes (where everything grinds to a halt until the user clicks something). Period, end of story. You really shouldn't do it anyway, but being allowed to do it in Swing makes it easier to take your first few baby steps and see your program (sort of) work. With Swing, you can staple the shell of your program together with bad things, then fix them and make them nice once the logic is worked out. With Android, you have to Do It Right the First Time, because it won't allow you to do it any other way.
Sorry if this has been posted but I couldn't find one and if posted in wrong section
Im trying to become a developer but I am stuck at hello android and don't know what to do from there if anyone can show me a way to develop apps easily please help out and this is my first post too =]
Sent from my overclocked Cyanogenmod htc evolution 4g sucka
cesarcerros31 said:
Sorry if this has been posted but I couldn't find one and if posted in wrong section
Im trying to become a developer but I am stuck at hello android and don't know what to do from there if anyone can show me a way to develop apps easily please help out and this is my first post too =]
Sent from my overclocked Cyanogenmod htc evolution 4g sucka
Click to expand...
Click to collapse
You're stuck getting Hello Android to work or whate to do after hello android? Do you know any development languages such as Java or C#? (you'll be writing android apps in java, but C# is really MS version of java with a few syntax differences) If not, are you familiar with object orientation? If not, it's gonna be tough dude but if you're smart and pick stuff up quickly you can learn by reading.
Pick up some books and look at youtube videos.
Sent while sitting on the toilet.
Alright thanks its just that helloandroid project wouldn't start right but I will look up massively on how to start a different way or just try to find the solution and youtube always helps and anyone knows how to make roms looking to make aosp
Sent from my overclocked Cyanogenmod htc evolution 4g sucka
There's a few free Eclipse and Java books out there that a beginner will understand especially if you already understand the concepts of object-oriented programming. Eclipse IDE itself will need a book as it's full of plugins and tools you need to understand to compile your project effectively.
It's going to be a very very long and slow road.
This may help, a series of YouTube videos for beginners.
http://eclipsetutorial.sourceforge.net/totalbeginner.html
I've been thinking the same thing, learning to develop for Android. Since I have near zero experience programming (save for a VB class in college) I decided I would be better off hiring someone to write what I want.
Just keep in mind though, Hello World is just where people start.
You may want to check out the android Appinventor. It's made by Google, and is in beta testing now, but it's a graphical way of programming for android. Though there isn't any code involved and won't be good/used outside of Android, it does a good job imparting the logic of programming.
I'll give you some tips that I've learned over the years as a developer.
First if you haven't done any development before I highly advise obtaining a book. True there are tons of web tutorials out there but personally I find a good author can do wonders in learning how to develop software. Anytime I want to learn a new platform I pick up a book on that platform. Of course you can find a ton of books used but another great source is a library. If you're in college with a computer science program chances are your library will have a couple of books on Android development. Your public library probably has some books on the subject as well. If all else fails see if you have a friend who will loan you a book.
Reading about development is only part one, part two is hands on. You can read an entire book on developing software and walk away with no knowledge. You can mindlessly follow the examples in the book but I find it best to use the examples in books as a guideline. In other words take the idea in the book and morph it so you're working on something original. Trust me here, you'll learn a lot more doing this instead of just mindlessly following the examples.
Next thing you'll need is a problem. Why? Because you need something to write. I find myself most motivated to write software when I either have a problem or something else has one and a checkbook. What do you want your phone to do? Are there applications out there that solve your problem but you think you can do better? Think small and easy since you're still new. Realistically you're not going to be able to make a web browser from scratch as your first project but you can certainly make a database of movies you own.
One thing that is debatable is whether you should learn to write something quickly or well. Frankly I'm in the school or writing something quickly and ignoring "correctness" when you're new. People new to programming spend too much time worrying about doing things "correctly" (very important when you're developing actual software) instead of learning how to do things in the first place.
Your code may not be readable, may not be optimized, and may crash every time an invalid input is entered into a field but you'll learn from those things. I think most people who end up hating programming do so because they spent too much time on worry about the little things and thus seeing no results for their work. Once you have the basics down you can concentrate of the details of optimizing code, validating inputs, and making your code readable.
Honestly not matter what you write you'll look back at it in embarrassment ten years from now anyways.
Ok thanks will look for a book
Sent from my overclocked Cyanogenmod htc evolution 4g sucka
cesarcerros31 said:
Ok thanks will look for a book
Sent from my overclocked Cyanogenmod htc evolution 4g sucka
Click to expand...
Click to collapse
Buy a Java book that also covers Object Orientation basics and principals. (you'll also need to understand some XML to do android programming) If you want to make kernels/ROMS, definitely look into Linux and shell scripting. (you can find most of this info online though)
By the way, I heard the "Java in 24 hours" book is pretty good.
Sirchuk said:
By the way, I heard the "Java in 24 hours" book is pretty good.
Click to expand...
Click to collapse
it might be good, but it wont teach him how to actually code. Most of those books are made for people that know other languages like javascript/php/c/etc.. and are wanting to move to java and learn the new syntax.
I have no idea as to what you know. So ftw.
Write what ever you decide in a pseudo code, first.
Two things will fall out of that, a design, and java methods of implementing the pseudo language ( as you decide what java syntax does your psuedo code) which invariably returns you to (1) the design. I think it's called iterational refinement, or some such other bs.
So don't get bogged down, now that you know hello, make it start "right"...
You all do realize that eclipse was a machine.. a sunny>dg joke.
Hey Everyone!
I apologise if this is a thread or question that gets posted often, I had a search around but I couldn't see anything.
Essentially, I'm just looking for some good resources and tips for getting started with Android development. I have looked at a few books and tutorials (and the official SDK documentation, of course) but I was wondering if I'd missed any good one.
The main issue I'm having is that the things I've found so far seem to assume you know quite a bit about Java development. I come from a pretty experienced C++ background so although I'm very familiar with coding in general, I'm not all that hot with Java. Would you recommend sticking with Android and picking it up as you go along, or waiting and doing some pure-java stuff first? In either case, which are the best books/examples/tutorials you guys have found for an android beginner like me that does know a bit about programming (just not java)?
Thanks in advance!
I think the best way to learn is to get an android book and work through the tutorials in order.
Don't just skim read it though, you need to actually type out the code yourself and think about what each line is doing.
jgittins said:
I think the best way to learn is to get an android book and work through the tutorials in order.
Don't just skim read it though, you need to actually type out the code yourself and think about what each line is doing.
Click to expand...
Click to collapse
Oh absolutely, I'm looking for suggestions for good books, too =)
I found Lars Vogel's introductory tutorials very good when getting started in Android. If you're already familiar with other programming languages, you'll pick up the java needed pretty easily as you go...
- jc
neoKushan said:
Oh absolutely, I'm looking for suggestions for good books, too =)
Click to expand...
Click to collapse
I used Reto Meier's professional android 2 book and thought it was pretty good. The most important stuff to learn at the start is how activities and intents work. The other stuff you can kind of pick up from google as you go.
I haven't developed any application for Android (yet). If you want to develop native code applications, you will need the Android SDK and the Android NDK (gcc rules!). This seems to be the installation order. Check the installation instructions for both of them. The NDK contains some examples. As far as I could see, a native application has a java part and a native dynamic linked library (which is called/loaded by the java part). The NDK also comes with documentation. I guess the Android developer gurus may give you more hints about documentation links.
I am interested in getting started with Android Development as well. I have a background with Java, but that was a year or so ago. I'm sure I could pick back up with it pretty quickly.
What books do you recommend?
Ok guys, im currently learning Java and I'm still learning the basics. I'll say I know about 80% of the basics things in Java. I am really desperate to create my own app and then I stumbled upon the 'MIT App Inventor' (MIT AI). Its basically a simiplified way on creating a android app. Just drag and drop things etc. I reckon I can build my app using the MIT AI since a guy controlled his robot using the MIT AI so I see no reason why I wont be able to build my app using the MIT AI.
But if I use the MIT AI, I feel as if I'm going to to the cowards way. Like I'm not going to build my app using Java but just by dragging and dropping things into place. So what do you guys think?
I'll still be learning Java but as of right now, I leaning towards using MIT AI for now but i'll probably have a guilty feeling about it
Yeah, I recommend learning Java. You cannot do everything with the App Inventor. Basic things can be done with the App Inventor, but very complex things cannot.
nikwen said:
Yeah, I recommend learning Java. You cannot do everything with the App Inventor. Basic things can be done with the App Inventor, but very complex things cannot.
Click to expand...
Click to collapse
I guess for the time being I'll use MIT AI since the app I want to create is not that advanced. But there is a feature that I would like to put in my app later on when I learn Java since that feature is WAY TO COMPLICATED for me to put into my app for now...
How long did it take you to learn Java?
EDIT = Damn, just realized that I won't be able to implement the feature to my app later on since I wont be getting the source code for my app...
TwilightLoz said:
I guess for the time being I'll use MIT AI since the app I want to create is not that advanced. But there is a feature that I would like to put in my app later on when I learn Java since that feature is WAY TO COMPLICATED for me to put into my app for now...
How long did it take you to learn Java?
EDIT = Damn, just realized that I won't be able to implement the feature to my app later on since I wont be getting the source code for my app...
Click to expand...
Click to collapse
You've pretty much answered your own question Through my few years in programming, I've come to realize this: the easiest solution is not always the best.
The drag-and-drop programming environments look good on the surface, however as soon as you start implementing and experimenting with complex ideas, they becoming limiting. These type of environments are ideal for those just beginning and with little desire to advance their skills. You, on the other hand, already seem to know a bit about Java and have expressed a desire to learn more - a simple environment will just limit you.
My recommendation? Stick with Java. Start out with a small project like a calculator, and follow some tutorials. After you've grasped the basics, try jumping into a complex project, where you're forced to learn. I can vouch for this, because it's exactly what I did. I started with a few simple Android app and then worked on a bigger project. I googled, used StackOverflow and followed tutorials and learned a lot along the way.
Hope this helped, please feel free to ask anything else!
Yeah, im just self teaching myself Java. I know a basic C++. I dont really want to study computer science in college/university since the fee of the course is so overpriced for the course and to be honest, I see no point in studying it since you can learn off from the internet. Thats just my opinion. I dont really have a problem with people going to university to learn CS but I personally wouldn't.
I'm really just self teaching myself computer science. I know decent knowledge about hardwares in computers. I built my own computer back in '09 and still is running like a pro
The thing that is putting me off from learning any type of computer language is the time it takes to learn... I guess I just gotta be patient and keep learning.
So have you published any apps on the play store?
TwilightLoz said:
Yeah, im just self teaching myself Java. I know a basic C++. I dont really want to study computer science in college/university since the fee of the course is so overpriced for the course and to be honest, I see no point in studying it since you can learn off from the internet. Thats just my opinion. I dont really have a problem with people going to university to learn CS but I personally wouldn't.
I'm really just self teaching myself computer science. I know decent knowledge about hardwares in computers. I built my own computer back in '09 and still is running like a pro
The thing that is putting me off from learning any type of computer language is the time it takes to learn... I guess I just gotta be patient and keep learning.
So have you published any apps on the play store?
Click to expand...
Click to collapse
No, I have got no apps out there, but I want to release one soon.
I learned Java by reading (without testing) the book Head First Java. However, I had some Delphi and Python programming knowledge.
This book is really great. And it is fun to read it.
Learn, that's what it is all about , and it's going to be great fun too
Sent from my HTC Explorer A310e using Tapatalk 2
yep, im just currently following the bucky tutorials (thenewboston.org) right now. Ive actually got that book and read a few chapters. Its a good book but I didn't understand some parts of it. Thats why im going through all the bucky Java tutorials and then going to read the book so I have a full understanding of Java.
TwilightLoz said:
yep, im just currently following the bucky tutorials (thenewboston.org) right now. Ive actually got that book and read a few chapters. Its a good book but I didn't understand some parts of it. Thats why im going through all the bucky Java tutorials and then going to read the book so I have a full understanding of Java.
Click to expand...
Click to collapse
Sounds like a good plan.
Happy coding!
hey there. Im currently having difficulty learning about event handlers. I know what they do but im just confused on how to use them.
This is the framework of a typical '.addItemListener(){}' method:
.addItemListener(
new ItemListener(){
public void itemStateChanged(ItemEvent event){
}
}
);
I dont know what those keywords mean or when to use them. Could someone shine some light on this?
TwilightLoz said:
hey there. Im currently having difficulty learning about event handlers. I know what they do but im just confused on how to use them.
This is the framework of a typical '.addItemListener(){}' method:
.addItemListener(
new ItemListener(){
public void itemStateChanged(ItemEvent event){
}
}
);
I dont know what those keywords mean or when to use them. Could someone shine some light on this?
Click to expand...
Click to collapse
When you programm for computers, you need ItemListeners to get informed when the selected item of a JComboBox changed.
That means that the itemStateChanged method is invoked when the user selects an item.
However, you do not need them when you learn Java for Android. You do not need Swing and AWT at all!
Skip everything related to the UI as it is different for Android.
Ive been spending most of my time recently learning about GUI in Java... I feel wasted.
Thanks for the help though. Much appreciated.
I'll probably still finish the bucky vids and then move onto the head first Java book. Does that book contain everything I need to know in order to build a successful app?
I also came across this website. Seems much better and more easier to understand than the book I have:
http://mobile.tutsplus.com/series/learn-java-android-development/
Your thoughts?
TwilightLoz said:
Ive been spending most of my time recently learning about GUI in Java... I feel wasted.
Thanks for the help though. Much appreciated.
I'll probably still finish the bucky vids and then move onto the head first Java book. Does that book contain everything I need to know in order to build a successful app?
I also came across this website. Seems much better and more easier to understand than the book I have:
http://mobile.tutsplus.com/series/learn-java-android-development/
Your thoughts?
Click to expand...
Click to collapse
The head first book explains Java. It explains object-oriented programming very well and tells you everything you will need to get started with Android programming.
As soon as you have got Java knowledge, you can start with Android programming. You need Java for Android programming, that is what the book (and your link) explains, but it does not explain Android programming. I recommend this site for Android Tutorials: http://www.vogella.com/android.html It is great.
In a short form: Java knowledge are the basics, Android related things require Java knowledge and are related to the special conditions on the device. Therefore they have another API for the UI, background services and other things.
Btw, I needed to learn the Java UI things later when I wrote a desktop application. You did not waste your time. Your knowledge will be helpful later.
nikwen said:
The head first book explains Java. It explains object-oriented programming very well and tells you everything you will need to get started with Android programming.
As soon as you have got Java knowledge, you can start with Android programming. You need Java for Android programming, that is what the book (and your link) explains, but it does not explain Android programming. I recommend this site for Android Tutorials: http://www.vogella.com/android.html It is great.
In a short form: Java knowledge are the basics, Android related things require Java knowledge and are related to the special conditions on the device. Therefore they have another API for the UI, background services and other things.
Btw, I needed to learn the Java UI things later when I wrote a desktop application. You did not waste your time. Your knowledge will be helpful later.
Click to expand...
Click to collapse
Ahh okay. Thanks. So yeah, i'll probably finish with the bucky vids, then go the link I posted to reinforce my Java skills then go to the head first book. Then I'll probably go to the link you sent me although the link you sent me seems a bit too 'intimidating'... so I'm thinking of referring to this:
http://developer.android.com/training/index.html
for Android programming.
TwilightLoz said:
Ahh okay. Thanks. So yeah, i'll probably finish with the bucky vids, then go the link I posted to reinforce my Java skills then go to the head first book. Then I'll probably go to the link you sent me although the link you sent me seems a bit too 'intimidating'... so I'm thinking of referring to this:
http://developer.android.com/training/index.html
for Android programming.
Click to expand...
Click to collapse
Ok, the vogella tutorials might not be the right tutorials for you.
However, I do not like the official training sites. They are too difficult for beginners in my opinion. I would not start with these.
Some like the new boston videos: http://thenewboston.org/list.php?cat=6
(They are many. I do not want to intimidate you, but I thought that I should mention them as you like video tutorials. Don't worry, you will not need to watch even the half of them. I would recommend to watch the first ones and then watch the other ones if you need their content. SQL or WebView operations are unimportant for a beginner. )
nikwen said:
Ok, the vogella tutorials might not be the right tutorials for you.
However, I do not like the official training sites. They are too difficult for beginners in my opinion. I would not start with these.
Some like the new boston videos: http://thenewboston.org/list.php?cat=6
(They are many. I do not want to intimidate you, but I thought that I should mention them as you like video tutorials. Don't worry, you will not need to watch even the half of them. I would recommend to watch the first ones and then watch the other ones if you need their content. SQL or WebView operations are unimportant for a beginner. )
Click to expand...
Click to collapse
Yeah, I gotta admit, when I looked at the android sections I felt as if I wont even have the chance to build an android app since theres over 200 vids and theres too much to learn but then you said I wouldnt even have to watch nearly more than half of them so that lifted up my spirit
But im just wondering, how long does it actually take for a person to learn 'enough' Java to start making a android app?
TwilightLoz said:
Yeah, I gotta admit, when I looked at the android sections I felt as if I wont even have the chance to build an android app since theres over 200 vids and theres too much to learn but then you said I wouldnt even have to watch nearly more than half of them so that lifted up my spirit
But im just wondering, how long does it actually take for a person to learn 'enough' Java to start making a android app?
Click to expand...
Click to collapse
That really depends on his experience. I had some experience and I read the head first book and started. Of course, I learned afterwards, too. And of course, I am still learning. You do not need the UI things and stuff like this. You should understand Collections, inner classes and interfaces, though.
In case of doubt, start with the Android part and if you do not know something related to Java, search what it is. Learning by doing.
However, I cannot understand the order of some of the videos. I think that ToggleButtons (23) are not as important as RelativeLayouts (44).
Just finished watching the beginner section of Java from his vids. Probably going to watch the 'intermediate' vids tomorrow or probably forget about watching the vids and just read the book...
TwilightLoz said:
Just finished watching the beginner section of Java from his vids. Probably going to watch the 'intermediate' vids tomorrow or probably forget about watching the vids and just read the book...
Click to expand...
Click to collapse
I must say, stick it out the hard way. Automated-app builders will not teach you anything.
I say this because I myself have been developing Android apps for ~2 years. I had NO prior experience or knowledge in how any programming language was used or written. Now, through determination, I have 3 (still learning, so still basic) apps on the market.
I have self-taught myself Android(java) with the help of a few YouTube videos. I also learned some SQLite which will be used for all android databases, XML, and HTML. All which I have implemented into my apps.
So what I guess I'm trying to say is, if I can learn all of this in ~2 years by myself (albeit you'll run into many educational mistakes) then nothing is impossible. I didn't even make it through high school shamefully.
Regardless, knowledge is power. An auto-app will not do any justice IMO. Android is not the best starting point, but if you already understand programming logic, you should be alright.
Sent from my SPH-D710 using Tapatalk 2
Learn my friend! That's what XDA is about.
I'd say definetly get familiar with the general activity lifecycle, learn some basic things like intents and such, then think about something simple you want to try, and find out how other people are doing it. (Look for guides, or study open source apps etc.)
i've been teaching myself over most of the last year and am super impressed by what I;ve managed to figure out how to do. I still got years to go before I'd call myself a "good" developer, but just keep pluggin away.
It all depends on how you like to learn too. I read tons, and tried watchign videos, but I do much better by just jumping in and fixing errors as I go. then before you know it, you'll be able to do a lot of things. For me I found it became a lot easier when I started breaking stuff up into single parts. like If I want some app with a listview that goes to a webview, I'd make a simple Main Activiy with a list view, then make a new project with just the webview, then worry about linking a couple things together.
Every body learns different though.
Good luck!
(plus I think MIT, even though it's a neat idea, just helps to clog the playstore with junky apps.)
Where should I start for this?First which tutorial?
Try this if you have trouble reading, pull down top select 3 dot and choose original
https://play.google.com/store/books/details?id=9nxdAwAAQBAJ
I don't know what kind of programming experience you have, but I think the Head First Java is a fairly good book for beginners, especially if you haven't programmed a lot earlier. It only assumes understanding very basic stuff and nothing more. Please note that this is a general Java book, so you will need extra material for getting started with Android.
http://www.headfirstlabs.com/books/hfjava/
And if books arent your thing. Then check out thenewboston his youtube channel has some simply awesome tutorials for java. Ive went through the first 40. And im very impressed. He explains everything very well.
Books And Videos
Books: (A lot many are repeated if you refer all the books. I would say that if you don't know anything start with either 1/2)
1. Java The Complete Reference
2. Java - Head First
3. Java Black Book
4. SCJP- Sun Certified Programmer for Java
5. Java Cookbook (to get solutions to specific types of problems)
6. Java Network Programming
Videos:
New Boston
Tutorialspoint
Javatpoint
Geeksforgeek
These are really good website .
Good luck!
Sent from my Nexus 5 using Tapatalk 2
I realize you've probably already learned a lot of Java, and that as a beginner myself I do not have much experience, but if you're willing to pay for it, teamtreehouse.com is VERY good learning idea. I did the free trial and I'm wishing I had the money to pay for the service. Or eternal free access. It has tutorials on some of the most popular codes and even a workspace right from the site. It also has an (that has a few very annoying bugs on android - don't know about the ios version).
I was wondering if anyone has watched and followed mybringback's YouTube tutorials for Java and how good they are to learn from the very beginning of Java? I am using them to first learn basic applications, eventually to use the things I learn to build a game that my little sister came up with. I eventually will port this game to Android as well (I really don't care enough about Apple -or like enough- to learn Swift).
Sent from SPH-L710 (using XDA app)