Which is the best book for Android beginners ? - Java for Android App Development

Hey guys, I want to find work as either a freelance android developer or even make money by developing my own apps. I started from zero only a month ago. I now have an acceptable knowledge of Java - I am familiar with most concepts. Now, I am starting Android ....now which book do you think I should start with ?
1. Busy Coder's guide to Android development by Mark Murphy
2. Beginner's Android 4 Applications by Wei-Meing Lee
3. Professional Android 4 Applications by Roto Meir.
I have bought all 3 books. But I wonder which I should start with before I move on to the next. Mind you, I am not a skilled java programmer shifting to android like many of you here. And how long do you think does it take for an average novice programmer to gain acceptable command of Android and develop apps ?

RedDevil99025 said:
Hey guys, I want to find work as either a freelance android developer or even make money by developing my own apps. I started from zero only a month ago. I now have an acceptable knowledge of Java - I am familiar with most concepts. Now, I am starting Android ....now which book do you think I should start with ?
1. Busy Coder's guide to Android development by Mark Murphy
2. Beginner's Android 4 Applications by Wei-Meing Lee
3. Professional Android 4 Applications by Roto Meir.
I have bought all 3 books. But I wonder which I should start with before I move on to the next. Mind you, I am not a skilled java programmer shifting to android like many of you here. And how long do you think does it take for an average novice programmer to gain acceptable command of Android and develop apps ?
Click to expand...
Click to collapse
Learning programming is nothing you can do casually. It can take quite a while.
However, it depends on what you define as good knowledge. You will get really good coding skills after decades of programming. But don't worry. You won't need skills as good as a professional developer's skills at the beginning. (And I don't claim to be as good as one of those old folks I described.)
It also depends on what you want to do. Some things like server communication are more complex while other things are easier.
I hope that this didn't discourage you. If you start with small apps, I am sure that you will be able to learn that. Coding is nothing magicial.
I'd start with book #2. I think that you can skip a lot of chapters of book #3 afterwards. I wasn't able to look into the first book on Amazon, but I think that I'd take that one as the last one.
However, make sure that you understand Java first. Without Java, the base for Android programming is missing.
I am sure that you can manage that. Enjoy it.

I'd also recommend book 2. It's very good for basic stuff.

I don't know any of these books, but i would also recommend you Googles Android Developer Site:
http://developer.android.com/training/index.html
There are great tutorials and all concepts of Android Applications are described in detail and quite easy to understand for beginners.

Thanks guys, as you suggest, I will start with book 2...

nikwen said:
Learning programming is nothing you can do casually. It can take quite a while.
However, it depends on what you define as good knowledge. You will get really good coding skills after decades of programming. But don't worry. You won't need skills as good as a professional developer's skills at the beginning. (And I don't claim to be as good as one of those old folks I described.)
It also depends on what you want to do. Some things like server communication are more complex while other things are easier.
I hope that this didn't discourage you. If you start with small apps, I am sure that you will be able to learn that. Coding is nothing magicial.
I'd start with book #2. I think that you can skip a lot of chapters of book #3 afterwards. I wasn't able to look into the first book on Amazon, but I think that I'd take that one as the last one.
However, make sure that you understand Java first. Without Java, the base for Android programming is missing.
I am sure that you can manage that. Enjoy it.
Click to expand...
Click to collapse
Thanks Nikwen.....I am gonna devote this whole month completely to android, probably work on it for 15-16 hours a day....at the end of the month, I will know where I stand, and whether I can make a career out of it, or not.

RedDevil99025 said:
Thanks Nikwen.....I am gonna devote this whole month completely to android, probably work on it for 15-16 hours a day....at the end of the month, I will know where I stand, and whether I can make a career out of it, or not.
Click to expand...
Click to collapse
Welcome.
Wow, that's much time. :good:
Enjoy it.

I'd also recommend stackoverflow.com
If you have a question regarding programming , there's a 95% chance it's been answered there
Sent from my SGH-I337M using xda app-developers app

alobo said:
I'd also recommend stackoverflow.com
If you have a question regarding programming , there's a 95% chance it's been answered there
Sent from my SGH-I337M using xda app-developers app
Click to expand...
Click to collapse
Right! :good:
Howevewr, I think it is even higher. :laugh:

Hello Every,
please use the following links for your android learning requirments
For Beginning
BEGINNING
ANDROID™ APPLICATION DEVELOPMENT Beginning Android Appication Development - Wei-Meng Lee
http://www.mediafire.com/?43g9rgzd2py396c
Android CookBook - Ian Darwin
http://www.mediafire.com/?7q5m1yd4wa90h43
Begging Android 4 - Grant Allen
http://www.mediafire.com/?d0sldbmcx9stdy3
Beginning Android 4 Games Development - Robert Green, Mario Zechner
http://www.mediafire.com/?nn8wcxjgsbozowt
Head First Android Development - Jonathan Simon
http://www.mediafire.com/?iq8n7grt2nu6m4v
Practical Android 4 Games Development - J. F. DiMarzio
http://www.mediafire.com/?2zkv7obn9wj2smf
Programming Android - Zigurd Mednieks
http://www.mediafire.com/?13u9b7shseu2bd1
For Pro
Professional Android Sensor Programming - Greg Milette, Adam Stroud
http://www.mediafire.com/?ei2w3u5t774q34c
Pro Android 4 - Satya Komatineni, Dave MacLean
http://www.mediafire.com/?dsebkb2b4b7ab1h
Advanced Android 4 Games - Vladimir Silva
http://www.mediafire.com/?nh5vq0jk5iqccdl
Pro Android media - Shawn Van Every
http://www.mediafire.com/?c83wjmum3r9e463
Pro Android Apps Performance Optimization - Hervé Guihot
http://www.mediafire.com/?aba5al9fa932za7
Please don't forgot to click thanks
your friend Ashish Gaur

Android is an open source and Linux-based operating system for mobile devices such as smartphones and tablet computers.
For writing apps for Android is more than just learning code syntax. If you've never learned to code, you can check out plenty of resources online.
There are plenty of eBooks that are available which provides clear depth tutorial for creating Android apps from scratch.
I would like to recommend you one such eBook where I am sure you would get benefit out from it.
Here is the eBook link @ learnsauce.com

The best programming language for beginners is Basic4Android (similar to Visual Basic).
Check out for my ebook on Amazon:
https://www.amazon.com/Game-development-Android-example-creating-ebook/dp/B0777PSGJZ
and start coding

Related

Hey Devs, what's the best way to learn Android development?

I've been playing around with the App Inventor for the last few days. I like it, it's fast, it's pretty easy, and I find it fun. The problem is though, right now you can't publish apps to the market.
Throw in the fact that you can't make very robust or professional apps with the App Inventor and I've been thinking of trying the more traditional route.
But where do I begin? I've got the Android SDK, Java JRE, and Eclipse all installed and ready to go, but that's where I'm stalled.
I've got zero programming experience. Should I pick up a book for Android development? Should I start just developing for Java and move onto Android later? I've got a few ideas for applications, some for businesses, some for users, some paid and some ad-driven. I've got the ideas, but lack the knowledge to implement them.
Even the official Google Android tutorials seem a little over my head, like they were made for people that are already knowledgeable in programming.
There is so much information out there, it's hard to find a good "Starting from zero" point / tutorial.
Thanks for the suggestions!
You're going to want to become experienced with Java and then move into Android.
There is some good information on the web. I learned some of the basics from this guys videos:
http://www.youtube.com/watch?v=Hl-zzrqQoSE
I also picked up a book thats called Head First Java that is supposed to be really good and noob friendly, with easy to remember examples and challenges. I am nowhere near experienced, but I have been doing research on it for a while.
Beginning Android Development
I'd probably try Beginning Android 2 This edition covers Android 2.0+.
Those both require some experience with Java. You have to start with Java first.
engagedtosmile said:
You're going to want to become experienced with Java and then move into Android.
There is some good information on the web. I learned some of the basics from this guys videos:
http://www.youtube.com/watch?v=Hl-zzrqQoSE
I also picked up a book thats called Head First Java that is supposed to be really good and noob friendly, with easy to remember examples and challenges. I am nowhere near experienced, but I have been doing research on it for a while.
Click to expand...
Click to collapse
+1 on Head First Java. Several people have suggested it. Also, there was a thread where someone had posted information, but I have searched and can't find it. I will try again later.
Thanks for all the input! I'll pick up a copy of heads first java.
Sent from my PC36100 using XDA App

[Q] Learning to Dev

I have been a member of XDA for a while and now I want to contribute. I have a basic understanding of computers and want to learn more. Obviously our greatest devs were not born devs they had to learn everything from somewhere. I'm looking for suggestions on where to start on the road to become the best dev I can be. Keep in mind I'm flat broke so I cannot hit up the local bookstore or download any paid software, but with the way the internet is today there must a free legitimate source for everything somewhere. So anyone willing to help a noob If I posted in the wrong section please kindly redirect me rather than flame me. Thanks in advance.
It all depends on what you want to contribute. I'm a beginner myself (only developing since august). It is easy to learn Java, for the most part. I would suggest heading over to http://developer.android.com/index.html for starters. There are many examples and if you want to know something specific, try using the search bar at the top right (it comes in handy). I have already published an app, a simple one, but still an application none the less. I am working on two other projects simultaneously (a live wallpaper and a home-replacement app). You can come to my website http://futurinnovations.blogspot.com/ to see what I'm working on. I am still in the process of learning, and being in college slows things down a bit. Just make sure not to give up. If your stuck, ask someone (or everyone) on forums like this.
Futur Innovations said:
It all depends on what you want to contribute. I'm a beginner myself (only developing since august). It is easy to learn Java, for the most part. I would suggest heading over to http://developer.android.com/index.html for starters. There are many examples and if you want to know something specific, try using the search bar at the top right (it comes in handy). I have already published an app, a simple one, but still an application none the less. I am working on two other projects simultaneously (a live wallpaper and a home-replacement app). You can come to my website http://futurinnovations.blogspot.com/ to see what I'm working on. I am still in the process of learning, and being in college slows things down a bit. Just make sure not to give up. If your stuck, ask someone (or everyone) on forums like this.
Click to expand...
Click to collapse
I forgot to mention I want to learn to dev for Android. I want to start out with simple apps then work my way up to building/porting roms. Also I just downloaded the Java JDK and am using Java's "Greenfoot" Tutorial to get started since I have no experience with Java. And I will be sure to check out your blog and thank you for the reply.
porting and building is something far different from app development...you have to know much more if you want to work with kernel,drivers,basically you have to know everything from hardware level to user level (if you want to be top of the class)...good luck
farukb said:
porting and building is something far different from app development...you have to know much more if you want to work with kernel,drivers,basically you have to know everything from hardware level to user level (if you want to be top of the class)...good luck
Click to expand...
Click to collapse
Well we all gotta start somewhere. Now is probably a good time for me as I'm only 18 and a senior in high school. Since I don't have a job at the moment I have plenty of free time after school and on weekends.
I'm only 18 myself. I started straight with downloading Eclipse and all of the appropriate software for developing and just dove in. I would recommend watching these tutorials: http://www.xtensivearts.com/topics/tutorials/. They helped me A LOT. I am taking a programming in C class in the spring semster, which I am looking forward to. Programming in Java for Android is different than regular programming. It's the same concepts, just different APIs and tools. I like using Eclipse because it is easy to learn and get used to. There are a lot of fancy features like a type of autocorrect (not like on the phone, but smarter). Like you said, just start from the basics, like "Hello World" (Hello Android) and practice creating different layouts using the tutorials given on the Developer site. Explore the site and look through everything because eventually you may need to know where its located for quick access. Just don't set too high of goals for yourself, other wise you might be more prone to give up (like I almost did). Good luck
Im in ths same boat as you we got to start somewhere
mit have a fantastic course in computer science online.
search for MIT open courseware then introduction to computer science.
I'm on 10 now, getting very complicated
crowstar said:
mit have a fantastic course in computer science online.
search for MIT open courseware then introduction to computer science.
I'm on 10 now, getting very complicated
Click to expand...
Click to collapse
Thanks bro I'm checking out that MIT course right now it looks really helpfull
This is a great starting point for Android development, as it deals quite well with getting the Android SDK and Eclipse IDE set up and working together.
http://www.vogella.de/articles/Android/article.html
Futur Innovations said:
I'm only 18 myself. I started straight with downloading Eclipse and all of the appropriate software for developing and just dove in. I would recommend watching these tutorials: http://www.xtensivearts.com/topics/tutorials/. They helped me A LOT. I am taking a programming in C class in the spring semster, which I am looking forward to. Programming in Java for Android is different than regular programming. It's the same concepts, just different APIs and tools. I like using Eclipse because it is easy to learn and get used to. There are a lot of fancy features like a type of autocorrect (not like on the phone, but smarter). Like you said, just start from the basics, like "Hello World" (Hello Android) and practice creating different layouts using the tutorials given on the Developer site. Explore the site and look through everything because eventually you may need to know where its located for quick access. Just don't set too high of goals for yourself, other wise you might be more prone to give up (like I almost did). Good luck
Click to expand...
Click to collapse
Hi, I'm 24. And I learn how to 'program' since 14-15.
It's easy to write apps for Android. But it's hard to write good apps.
You should take Software Engineering course (NOT Computer Science course).
If you take CS (Computer Science) course, than you will learn mainly about algorithm.
But if you enter SE (Software Engineering) course, you will learn about SDLC, software QA/testing, and planning to write programs for living
:-D
I personally don't like eclipse, it's just bloated IDE :-(
I use SciTE, apache ant, MinGW/MSYS (GCC 4.5.0), Java SDK, ActivePerl, Dev-C++ IDE. That's should be enough for development :-D
I will see if there are any software engineer classes at the college I am attending. If so, then I will sign up for it. Thanks for pointing me in the right direction. Is taking the programming class still beneficial?
Sent from my ADR6300 using XDA App
Futur Innovations said:
Is taking the programming class still beneficial?
Click to expand...
Click to collapse
I'd really recommend a class if it's a viable option. It will help you understand object oriented programming, where just working through examples won't actually teach you how to understand what you're doing. Things like classes, inheritance and polymorphism are pretty difficult principles to grasp unless you've got someone to explain them to you. Then it's pretty easy.

[Q] New Young App Developer Needing Help

Hello XDA,
I have just finished my first year of high school, and have spent 2 years around Windows Mobile and Android.
I want to start developing in different parts of Android, Applications being the top priority.
I have found and got many guides such as Sam's Teach Yourself for helping me build applications.
I know I can't start off building advanced apps. But the place I need help is where should I start, and what things I should learn such as Java, Adobe Air being a few.
If you guys can please maybe make a list I should follow or something...This would be greatly appreciated,
Thanks A lot
If you have an idea about java, the next step is to "google" for "Android Developers"...
I think it's the perfect place for beginners in Android Development...♫ ♪
Yep, you'll definitely need to learn Java. Knowing some Object Oriented concepts will help too.
The recommended IDE (Integrated Developer Environment) for Android is Eclipse (it's free!). I personally use IntelliJ (community edition is free - less features, but it's got all you need for Android dev).
Looking at tutorials etc is really good - imo the best way to learn is hands-on learning. A good starting place is the developer docs: http://developer.android.com/resources/browser.html?tag=tutorial
Once you've followed a couple of those, you'll probably be exploring new/random classes, so looking at the reference will help too: http://developer.android.com/reference/packages.html
Of course the best way is to just try something out to get started - even if it is something simple, or verbatim from the tutorials.
As for what app to start with... a simple one is always good. But what is important is make something that you feel like you need/want to use yourself. That way you will be more motivated to follow through with the idea, and you'll be your own user, thus be able to make good improvements
Thank you so much
Thanks a lot. I would have no idea where to start, despite many guides available out there.
Both you have made it a lot simpler.
Thanks once again.
pigeonaras said:
If you have an idea about java, the next step is to "google" for "Android Developers"...
I think it's the perfect place for beginners in Android Development...♫ ♪
Click to expand...
Click to collapse
pyko said:
Yep, you'll definitely need to learn Java. Knowing some Object Oriented concepts will help too.
The recommended IDE (Integrated Developer Environment) for Android is Eclipse (it's free!). I personally use IntelliJ (community edition is free - less features, but it's got all you need for Android dev).
Looking at tutorials etc is really good - imo the best way to learn is hands-on learning. A good starting place is the developer docs: http://developer.android.com/resources/browser.html?tag=tutorial
Once you've followed a couple of those, you'll probably be exploring new/random classes, so looking at the reference will help too: http://developer.android.com/reference/packages.html
Of course the best way is to just try something out to get started - even if it is something simple, or verbatim from the tutorials.
As for what app to start with... a simple one is always good. But what is important is make something that you feel like you need/want to use yourself. That way you will be more motivated to follow through with the idea, and you'll be your own user, thus be able to make good improvements
Click to expand...
Click to collapse
No problems
Oh, forgot to mention in my original post... the only reason I'm using IntelliJ is because I use it at work (so used to the shortcuts etc).
imo, both IDEs are comparable - just what you are used to.
If you haven't used either, probably go with Eclipse since there are a lot more tutorials/guides out there related to dev with Eclipse/Android.
I started developing about 8 months ago. I am going to be a Junior in High School, so we are in the same boat here.lol
Anyways, I spent a lot of time looking at many books and resources. Alos another thing that helps is to teach your self how stuff works by studying source codes. But dont only do this. Look at tut's and other resources as well. Remember, start small then work your way up! Dont go out and try to make a super amazing awesome app. You will just frustrate your self. So start simple. I was making small apps that only had text when i first started. Now where am i you may ask? I am the developer of the Android Markets only Honeycomb Launcher and a couple other larger apps!
Just remember it takes time, alittle money, patiences and PRACTICE! Make an app or at least work on an app EVERYDAY if possible.
If you get stuck use the resources on the Android site that Android gave to us.
http://developer.android.com/guide/topics/fundamentals/activities.html
Check out the DEV guides, resources and sample code.
Also, do you have eclipse and Android SDK already set up?
ZAIGHAM ALI said:
Hello XDA,
I have just finished my first year of high school, and have spent 2 years around Windows Mobile and Android.
Click to expand...
Click to collapse
I finished my 2nd year of high school, got an HTC Sensation 4G recently and am looking to make roms for other phones (currently looking at the Nexus S). I am getting bored so I would think it would be awesome if we could team up of something and create some roms for phones or something. I'm young like you, looking to make use of my general coding skills(had iPhone for 2 years, so i have some experience with jailbreaking and modding, etc.)
Would be very glad if we could team up or something and who knows, maybe become the next Cyanogen! Looking for a hobby, not profit.
Have a good day!
matistight said:
I finished my 2nd year of high school, got an HTC Sensation 4G recently and am looking to make roms for other phones (currently looking at the Nexus S). I am getting bored so I would think it would be awesome if we could team up of something and create some roms for phones or something. I'm young like you, looking to make use of my general coding skills(had iPhone for 2 years, so i have some experience with jailbreaking and modding, etc.)
Would be very glad if we could team up or something and who knows, maybe become the next Cyanogen! Looking for a hobby, not profit.
Have a good day!
Click to expand...
Click to collapse
Creating a ROM right off the back??? You are going to end up throwing your computer out the window! I know a few ROM developers and they say it is VERY challenging and frustrating at times.
I recommend you two join together or with others and create some apps first. Start small then work your way up...
IntelSoftApps said:
Creating a ROM right off the back??? You are going to end up throwing your computer out the window! I know a few ROM developers and they say it is VERY challenging and frustrating at times.
I recommend you two join together or with others and create some apps first. Start small then work your way up...
Click to expand...
Click to collapse
i concur... The Android operating system, including the Linux kernel, consists of roughly 12 million lines of code including 3 million lines of XML, 2.8 million lines of C, 2.1 million lines of Java, and 1.75 million lines of C++.
wrap your head around that... =)
depending on how complicated you want to go, you can try using phonegap or html5 to create apps, if not, you would need to learn java
PS: you want to make a rom from scratch? what?
Thanks to everybody above i really really appreciate it, i learnt a lot of nice advice.
killersnowman said:
i concur... The Android operating system, including the Linux kernel, consists of roughly 12 million lines of code including 3 million lines of XML, 2.8 million lines of C, 2.1 million lines of Java, and 1.75 million lines of C++.
wrap your head around that... =)
Click to expand...
Click to collapse
That is A LOT of code!!! You guys should probably start with the "Hello, Android" tutorial. That can be a challenge if you dont know how to work eclipse. But luckily, Android provides a nice little "Hello, Android" tutorial.
P.S. You or anyone will never past Cyanogenmod for awhile. I think they know what they are doing.lol
But it is always good to dream big! Like i want to be a Trillionare.lol (I dont even know how to spell it) "But dreams do come try"
Hey guys, I'm a senior now. I have done the hello Android tutorial, and I have the Android dev for dummies, but I know nothing about java and xml programming.
Thanks for the advice. If anyone else has any other tutorials, let me know. Thanks.
Sent from my PC36100 using XDA Premium App
I am in the exact same position as you. I have just got the "Head First Java" book, but I dont think it looks like it will help that much.
monkeychef said:
Hey guys, I'm a senior now. I have done the hello Android tutorial, and I have the Android dev for dummies, but I know nothing about java and xml programming.
Thanks for the advice. If anyone else has any other tutorials, let me know. Thanks.
Sent from my PC36100 using XDA Premium App
Click to expand...
Click to collapse
See i was in that boat like you guys were, and it SUCKS! All of the tutorials are very simple textviews and buttons, but nothing that really teaches you all that much java.
Heres what i suggest. Play with the source of apps. Download some source codes and create new android projects in eclipse from THAT source. (LET ME KNOW IF YOU NEED HELP WITH THAT)
And with in those projects, view all of the sources and xml files. Learn how stuff works. such as imports and buttons and permissions. I first started messing with layouts, xml files, strings, and buttons. This is good, BUT you will get to a point were you will see force closes. Thats because the java must match... That got me into looking at the java files more and more. Now that is almost the first thing i dive into.
Like i said along time ago, i am not anywhere close to being an expert at all! But i am getting a good handle on Android in the following ways...
- Visit XDA daily and other sites. Stay up to date and learn what is going on now. not what was being developed a month ago. Stuff is aways changing!
- Surround yourself with a group of developers! They can and will be your BEST friends! As many of you had said before, many of you want a hobby not a profit. Trust me, thats what everyone says.lol. There is some good money to be made out there!!! Some of your best developers can make every developer on a team some money. They also have your back if you get lost or stuck on something.
- Try finding people in your same boat or position. Kind of like the other kid on the site... You two can work something out. Exchange emails. share names and interest. This doesn't mean y'all need to hold hands but just create some chit chat once in awhile. If you learned something, tell him about it!
- USE YOUR F'IN RESOURCES!!! Android/Google made this AMZING site called Android.com. On that site they have developer guides, resources, tut's, and even sample code! Another amazing resource is Stackoverflow.com. Here you can find a lot of answers to any problem. I must have visited that site 1000 times.lol
and dont forget about GOOGLE.COM. ask questions in your search, but be SPECIFIC. Be sure to include "Android" in your search so you can get android support not some iPhone or Windows support...
Anyways, just get out there! try to be the best you can! Absorb as much as you can. LIVE ANDROID! but also have a life.lol
IntelSoftApps said:
All of the tutorials are very simple textviews and buttons, but nothing that really teaches you all that much java.
Click to expand...
Click to collapse
very true. i had been a java programmer for 4 years prior to learning android dev and what really got me going was coming up with an idea for an app and moving to make that a reality. if you just go through and do tutorials you wont get as much out of it as actually trying to make something you can use, be it a small and simple something.
also, i had always done command line java programs and had ignored the java swing ui like the plague, but android has a great layout and ui system. if you are learning java for use in android dont be disheartened by javax.swing package
You should definitely learn an object oriented programming language first before delving into android. I would recommend Java as it is what you will use for a lot of development. A lot of these guides and tutorials including that dummies book expect you to know what a public vs private class is or what inheritance is.
Also another big part of android is XML. At least learn the basics of XML.
I recommend the Java for dummies book as it provides a good introduction to many of the Java concepts that you will need. Java and eclipse can be quite a lot of fun once you get to know it.
Sent from my Nexus S using XDA Premium App
If your a starter, I recommend to go for web based right way, I'm confident that in the near future most mobile device applications will be mainly web based just like desktops.
Thanks a lot, I will get that book asap.
apreichner said:
You should definitely learn an object oriented programming language first before delving into android. I would recommend Java as it is what you will use for a lot of development. A lot of these guides and tutorials including that dummies book expect you to know what a public vs private class is or what inheritance is.
Also another big part of android is XML. At least learn the basics of XML.
I recommend the Java for dummies book as it provides a good introduction to many of the Java concepts that you will need. Java and eclipse can be quite a lot of fun once you get to know it.
Sent from my Nexus S using XDA Premium App
Click to expand...
Click to collapse
Sent from my SEX10 using XDA App
Sorry, but what "web-based" ?
Kevincod said:
If your a starter, I recommend to go for web based right way, I'm confident that in the near future most mobile device applications will be mainly web based just like desktops.
Click to expand...
Click to collapse
Sent from my SEX10 using XDA App

Learn or do it the easy way??

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.)

[Q] Getting started with developing games

Hello everybody.
Various game concepts have been springing up in my mind lately and I am starting to think that I should make them a reality: that's one of the reasons why I bought OUYA.
Problem is...
I know absolutely NOTHING about programming, but I am eager to learn. Does anybody know how should I begin (besides of course getting a good Java manual, which I plan to do ASAP)?
Thank you in advance.
Pretty much just learn as much Java as you can and then start with the tutorials on the Android website. I've done very little Android programming though...very little.
There is a couple ways you can go. You can either use java code with the sdk, or C++ using the ndk. Java will be much easier to use, but because it utilizes a garbage collector, you need a slightly higher understanding of how the code works to write fast running code. C++ is more difficult to learn, especially for a beginner, but because you manage memory manually you have complete control over how your game runs. I would recommend starting with java. There is a good book called Beginning Android Game Development which is published by APress, that covers all the basics.
timkd127 said:
There is a couple ways you can go. You can either use java code with the sdk, or C++ using the ndk. Java will be much easier to use, but because it utilizes a garbage collector, you need a slightly higher understanding of how the code works to write fast running code. C++ is more difficult to learn, especially for a beginner, but because you manage memory manually you have complete control over how your game runs. I would recommend starting with java. There is a good book called Beginning Android Game Development which is published by APress, that covers all the basics.
Click to expand...
Click to collapse
Java first. Garbage collection may be something of a crutch, but if you've never touched programming before in your life, you'll want to focus on learning how to just deal with data structures and methods before worrying about memory management.
Of course, that said, you don't want to learn terrible habits in Java either.
Rirere said:
Java first. Garbage collection may be something of a crutch, but if you've never touched programming before in your life, you'll want to focus on learning how to just deal with data structures and methods before worrying about memory management.
Of course, that said, you don't want to learn terrible habits in Java either.
Click to expand...
Click to collapse
Agreed
Thank you everybody! I'm getting the book Timkd127 suggested as soon as I have some spare time
Pkmns said:
Thank you everybody! I'm getting the book Timkd127 suggested as soon as I have some spare time
Click to expand...
Click to collapse
Glad to help. I did just remember though, that book approaches game dev assuming you already know some java. You might want to familiarize yourself with the language before you spend money on a text.
timkd127 said:
Glad to help. I did just remember though, that book approaches game dev assuming you already know some java. You might want to familiarize yourself with the language before you spend money on a text.
Click to expand...
Click to collapse
That's my concern for the OP. Most resources I've seen for learning Android development assume some Java knowledge and most Java resources assume some basic level of knowledge about programming in general. In this case the OP is claiming to have none of that.
The good news is there are many paths available, the bad news is there are many paths available
Most paths fall into one of two categories:
1) Very high level - Flash and Unity are the two best examples for Ouya that I can think of off the top of my head. While both allow you to get into the code both also provide ways to build some things without getting much into code. Great for getting up and going but a lot of times you can end up finding yourself limited by your tools when you take this kind of approach. Personally I'm not a huge fan. In general you tend to develop skills that are specific to the engine/platform you're working with rather than general skills. The low barrier to entry can be attractive - but the frustration of making your square ideas fit into the round holes provided by your tools can be an issue down the road.
2) Very low level - Grab a text editor and start coding some java is more or less what this breaks down to. But even this path there are several libraries you can use to help yourself along and you can even get lower level and dive into the NDK to write native code in C++. The steep learning curve can scare a lot of people away from this path - but you tend to build more general skills that are easy to re-apply with other tools and scenarios.
I cover my thoughts on some of this specific to Ouya better in my thread on OuyaForums where I'm following my own progress on building some simple games for Ouya: http://ouyaforum.com/showthread.php?4074-Baby-steps
Even though it's more intimidating I personally strongly suggest taking approach 2 before looking into things like Unity and GameMaker - develop your fundamentals then look into tools that can help you leverage them into bigger and bigger ideas.
Whichever path you take at some point you're going to need to know how to code. If you're starting with absolutely no knowledge about coding then it's going to be a bit harder. For example the Android Game Development book (Which I'm currently reading and finding very good - it's also written by the author of libGDX which is the library I'm using to speed development.) assumes a basic knowledge of Java and suggests "Thinking in Java" which is available free on-line (for older versions but they're just fine) to bring people up to speed with Java. I'm also reading that (actually reading that more than the android game development book right now) to brush up on my Java basics. But at the start of that book the author makes it clear that he assumes a basic background in some other programming language! Apparently the printed versions of that book come with a CD including a multimedia course covering programming basics. Phew! That's a lot of books to get through!
They aren't great but one set of tutorials that is aimed at the complete and utter noob are the Kilobolt tutorials that were actually started here on XDA before moving to the authors own site here: http://www.kilobolt.com/tutorials.html
I'm not completely in agreement with the approach those tutorials take or with all of their examples...but they are the best I've seen for someone starting with absolutely no programming knowledge looking to get into Android and by extension Ouya development.
If I was just starting out the advice I'd like someone to give me would probably be:
1) Start with the Kilobolt tutorials.
2) Once you're through Unit 1 start reading Thinking in Java
3) Once you're through TIJ or Unit 3 add in Android Game Development
4) Once you think you're ready for AGD start looking into libGDX
5) Build a SIMPLE game. Play some old atari 2600 games and try to replicate one.
6) Make that simple game fancier - add some modern touches like better graphics and sound, a high score list, achievements, power ups....
7) Let your dreams take over.
One other source you may want to look into as a total beginner is Udacity...I saw their Java course a few weeks ago and signed up for it but haven't been following it because it's more beginner oriented than I was looking for and...well it's incomplete. One of my big beefs with the Kilobolt tutorials was I started following them last year - and the update rate on them quickly dropped so low I forgot about them. Now that they're complete that isn't an issue. But I wasn't about to dive into another incomplete learning resource so when I saw that Udacity's Java intro wasn't complete I didn't even watch more than the intro video. But it's probably worth checking out here: https://www.udacity.com/course/cs046
jhitesma said:
That's my concern for the OP. Most resources I've seen for learning Android development assume some Java knowledge and most Java resources assume some basic level of knowledge about programming in general. In this case the OP is claiming to have none of that.
The good news is there are many paths available, the bad news is there are many paths available
Most paths fall into one of two categories:
1) Very high level - Flash and Unity are the two best examples for Ouya that I can think of off the top of my head. While both allow you to get into the code both also provide ways to build some things without getting much into code. Great for getting up and going but a lot of times you can end up finding yourself limited by your tools when you take this kind of approach. Personally I'm not a huge fan. In general you tend to develop skills that are specific to the engine/platform you're working with rather than general skills. The low barrier to entry can be attractive - but the frustration of making your square ideas fit into the round holes provided by your tools can be an issue down the road.
2) Very low level - Grab a text editor and start coding some java is more or less what this breaks down to. But even this path there are several libraries you can use to help yourself along and you can even get lower level and dive into the NDK to write native code in C++. The steep learning curve can scare a lot of people away from this path - but you tend to build more general skills that are easy to re-apply with other tools and scenarios.
I cover my thoughts on some of this specific to Ouya better in my thread on OuyaForums where I'm following my own progress on building some simple games for Ouya: http://ouyaforum.com/showthread.php?4074-Baby-steps
Even though it's more intimidating I personally strongly suggest taking approach 2 before looking into things like Unity and GameMaker - develop your fundamentals then look into tools that can help you leverage them into bigger and bigger ideas.
Whichever path you take at some point you're going to need to know how to code. If you're starting with absolutely no knowledge about coding then it's going to be a bit harder. For example the Android Game Development book (Which I'm currently reading and finding very good - it's also written by the author of libGDX which is the library I'm using to speed development.) assumes a basic knowledge of Java and suggests "Thinking in Java" which is available free on-line (for older versions but they're just fine) to bring people up to speed with Java. I'm also reading that (actually reading that more than the android game development book right now) to brush up on my Java basics. But at the start of that book the author makes it clear that he assumes a basic background in some other programming language! Apparently the printed versions of that book come with a CD including a multimedia course covering programming basics. Phew! That's a lot of books to get through!
They aren't great but one set of tutorials that is aimed at the complete and utter noob are the Kilobolt tutorials that were actually started here on XDA before moving to the authors own site here: http://www.kilobolt.com/tutorials.html
I'm not completely in agreement with the approach those tutorials take or with all of their examples...but they are the best I've seen for someone starting with absolutely no programming knowledge looking to get into Android and by extension Ouya development.
If I was just starting out the advice I'd like someone to give me would probably be:
1) Start with the Kilobolt tutorials.
2) Once you're through Unit 1 start reading Thinking in Java
3) Once you're through TIJ or Unit 3 add in Android Game Development
4) Once you think you're ready for AGD start looking into libGDX
5) Build a SIMPLE game. Play some old atari 2600 games and try to replicate one.
6) Make that simple game fancier - add some modern touches like better graphics and sound, a high score list, achievements, power ups....
7) Let your dreams take over.
Click to expand...
Click to collapse
Thank you for all this info! I'll probably dive in the Kilobolt tutorials as soon as I have some free time, then I'll start thinking about which way to take later (I don't know whether all this is more frightening or exciting )
jhitesma that's a very informative and helpful post. Nice.

Categories

Resources