beginners guide to android development - Android Software Development

Hi Guys
So I am quite familiar with the world of android, having been a user across all versions since froyo.
I have a few different idea's for applications, which I think could be moneymakers! that said, I actually need to learn the development side of android.
Currently I can do reasonable "basic" projects in vb.net 2010, written a few applications, but from what I gather, you cant use VB.NET in android.
I don't have the "capital" to invest in a course, so I am looking for free alternatives, which could give me a leg up!
I have so far programmed in WYSIWYG on .NET2010, so would be ever grateful if you can point me in a real "idiot proof" tutorials and education course!

Related

[Q] Newbie wanting advice on developing

I am wanting to possibly get into developing for android and learning. I have a spare pc that i put together just for this purpose. I also have a spare vibrant that i can mess around with and is not my daily driver.
I have a few questions.
1. Is windows of ubuntu better for developing because i will learn linux if need be.
2. Is there somewhere i can go to just get the basics of how to use the dev tools and make apps in the future.
I know this is pretty broad, but this forum has the best developers on the internet.
Any opinion or suggestions are welcomed. Thanks
1. Windows works fine for me. You will be programming in JAVA. Java is a universal language pretty much. Android is based on linux so learning the files system and all that jazz will be easier if you are familiar with linux, but it's not necessary. Just download Eclipse and the Android SDK and you'll be on your way.
2. http://developer.android.com/index.html is a good place to start. Also maybe check out some Java tutorials on youtube. I found thenewboston to have some pretty good tutorials.
From the king:
Some advice..
Thank you so much. I searched but didn't see that. Programming I will learn.
Sent from my SGH-T959 using XDA App
There isn't any reason to use a spare PC, nothing about Android programming will have any serious impact on your regular PC.
The cyanogen post linked above was directed at people who thought they'd just jump into ROM development from scratch. His point being, that's not a very good approach. That's like deciding you're going to open an auto repair shop without learning to drive, first. And in the same way the advice, "Learn to drive, first," isn't actually instructions about how to drive, his post isn't actually instructions about learning the basics of Android development.
What other kinds of development experience do you have?
I have absolutely no experience developing anything at the moment. Im getting my stuff together to try and learn to do this. The reason for another pc is i have more than one person in the house and my main pc can get virus filled somehow and i have to format. I dont want to lose my work.
Then I would not personally recommend a phone platform for learning purposes. (I have 30 years of dev experience using nearly everything you can imagine.)
Pick something with fewer quirks and an easier learning curve to get your feet wet. There are two parts to programming. One is the nuts-and-bolts stuff, like how your dev environment works and so on. That will change from platform to platform and language to language. The other is the conceptual stuff, how to design programs, the general concepts of looping and if statements and variables and arrays, along with object oriented concepts. These are generally transferable to all of your dev work. Each platform and language has quirks (like Android's Intents) but they usually have some abstract equivalent, and when they don't, if you have sufficient generalized experience then picking them up won't be hard.
Hell, these days I'd say create an HTML file on your desktop and start fiddling with Javascript as a starting point. That'll at least start exposing you to some of the important basic generic concepts and all the tools are still free. (Not that Javascript is a good language -- it's awful, and if you spend too much time with it you'll learn bad habits -- but it makes a super-easy and very forgiving starting point.)

I want to be an Android developer when I grow up.

I want to focus on developing GUIs but I'm not sure where to start. I just read through a few pages of http://source.android.com/ to get more information and it was helpful but I'm still not sure what my skill set should be. I also went through Google's new App inventor and finished all the tutorials but it still seems like a toy.
I can: design interfaces, code javascript, implement XML (weak on C and Java but I get it), create anything using photoshop or any graphic application, color-coordinate, test and implement and write--I can write technical instructions fairly well.
So... that said, what's a typical Android designer's skill-set?
Thanks.
Patience, mellowness and a strong constitution!
The Android development platforms so far available are pretty poor if you're used to something like Visual Studio. The best option seems to be Eclipse running the Android ADT plugin. There is plenty of documentation about how to get it all up and running and it is quite easy to install and configure. The app inventor is a toy for non-developers to create simple applications and it works well for what it is but as soon as you want more complex UIs or more complex code, especially when it comes to using external libraries, you will need to get into Eclipse.
You have the right skills, in fact I would say UI and graphics design is the weakest area for many developers. It is for me. I can write beautiful functional code that does amazing things but my UIs suck unless they are simple. I always need to find someone who can help me with that. In my experience, and I have a lot of commercial code development experience, good UI design is a widely missing skill. It therefore pays well and is highly sought after. You might consider specialising in it?
Be careful going from C to Java. Java is still a pig of a language, do a little googling for "problems with Java" and be especially careful of the fact that Java passes everything by reference unless you use cloning. If you don't always write very loosely coupled methods and are good with encapsulation, this will bite you and often in very difficult to understand ways. I recommend running through each method with only this in mind before you consider the first version of the method complete.
My advice to you is to get Visual Studio Express (they're free), either VB or C#, it really doesn't matter, and become proficient with object oriented programming, proper error handling and scope of objects and variables. Do these things, and assuming that you have the right mindset to create good code, and you'll protect yourself from all the usual bugs that amateur developers introduce.
Then move back to Java. Java is a lot easier to be proficient in when moving from something like VB or C# because whilst frustrating, due to the things you'll miss, you will at least know rather than "not know what you don't know", if that makes sense.
If you are serious about doing this for a living, buy some books by Steve MacGuire.
"Writing Solid Code"
"Debugging the development process"
If every develope could do what these books teach, we would have a much more capable software world.
Good luck!
I have the same question? What do you think will be future programming? Developing web apps like Facebook or Android apps?
How is with work today?
I did banchelors from computer science, and want to try masters now, but I need to choose developing Androids apps or Webapps. I am pretty good at C#, JavaScript, XML.
There's a lot of milage in mobile apps, will be good for many years but there is no doubt that the future is web apps.
Excellent! What a great response. Source.android has a lot of information on what a developer should know but I still can't find information on Android GUI design--specifically. Any advice on this?
Thanks.
I think everyone should learn some c/c++ or other native language. Most will say im crazy for saying this but to appreciate what comes with the languages u mentioned above(which are all managed code) I think you should learn power and use behind native code.
c#, java, .net are all good places to start, i would not go with vb. If you choose to start with c/c++ you will be able to do any of the above easily. Tho others think its harder to learn...I say others bc i have always preferred c/c++ to the above.
Simonta... You rock!
Many Thanks.

[Q] Beginning Android Programming

Hey Devs,
After years of being into mobiles I want to start developing my own Apps.
I want to specifically program Apps for Android because I really like how Android is set up. the way it handles "closed application" and ofcoursebecause more and more people are getting an Android.
Now I'm not sure what the best way to start is.
How did you guys start developing for android?
Which books did you used?
I hear a lot of people telling me I have to start with Java, now I get Java at school but how much Java is enough to start in android? do I have to go as far as BufferedReaders and Swing or just the basics of Java?
I found this book: http://www.pragprog.com/titles/eband3/hello-android
That seems really interesting because it covers Android 2.1, does anyone have any experience with this book?
Or any other book?
All help is welcome!
I really want to make a good start in the world of Android programming
and what to get it at such a level I can actually develop programs in a company.
Thanks in Advance,
//Sterallure
Can nobody help me out with this?
As long as you know most of the fundametals of java programming learning android api and libraries should'nt be all that hard. I'd start by going to the developer.android.com learn how to install the android SDK and Eclipese, also read through the dev guide. Hello, Android latest Edition is a pretty good book for beginners, beginning android 2. as you get better move to pro android 2, or what ever you think will fit your needs. There is enough information online such as developer.android.com, forums, and tutorials that can help you learn android without having to buy a book.
I have to agree. I am no crack programmer, but there have been tutorials or sample code around the internet for almost everything I wanted to do. Especially forums and blogs. Google is my friend.
Thanks alot for the information I will also look into Beginning Android 2. I've read a couple of dev guides but I always really like reading books.
I just want a really good basic knowledge of Android programming itself and I think the API will come later, if I just know how to program somenthing then the API is helpful for creating new things
Programming for Android is basically using the Android API's
I suggest www.commonsware.com books. Its a $40 subscription and you get 4 books(Android Programming, Advanced Android Programming, Android Programming Tutorials, and Android Beyond Java) that are updated periodically. Its really a great deal. I have it and I've learned so much and also the author is very active on stackoverflow and also writes many articles on android.

to develop or not to develop?

hiya there, im a complete noob to the developing software, well android for that matter. i see post after post of people developing and i just want to learn how to do it myself. you always appreciate things more if you know how they developed and the hard work gone in to them.
so please share the developing love and share your knowledge.
also are there any books available that may help?
many thanks
If you don't know java, you need to learn that first. There's always a dozen or so threads here every week with someone wanting to know where to start. So look at one of those for suggestions on websites and java books.
If you already know java, then go to the link below and read everything and work thru the tutorials.
http://developer.android.com/guide/practices/compatibility.html
Most people use Eclipse as the development tool. You can find some information on setting up Eclipse in my blog.
________________________________
http://ron-droid.blogspot.com
thank you buddy just wanting to contribute to the android world
If eclipse isnt your cup of tea then try Intellij. I find it much better than eclipse. The code completion, generation and analysis is top notch
From something awesome
Cheers I will try that out
Sent from my Desire HD using XDA App
I would recommend starting with Android App Inventor.
It's a relatively simple way for non devs to get started developing for Android.
I have decades of dev experience but a few months ago I was new to Android, and pretty new to Java,
AI allowed me to quickly jump into Android dev.
Unfortunately it's difficult to make a professional app using AI, so now I use the SDK and NDK, but much of what I learned in AI was transferable to the SDK/NDK environment.
Also, look at Droid Draw. It lets you drag and drop objects to create relatively simple apps. The advantage is that you can then review the java and xml files (the code behind what you created) that Droid Draw generates. There are different ways to learn...I like the "by example" way.

Which is the best book for Android beginners ?

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

Categories

Resources