Where to start in Android application development? - Android Software Development

Hello everybody, long time lurker, first time poster. I'm posting to ask about where to get started in developing Android applications? I have half a degree in computer science, am familiar with coding, and work in Android software QA, but I'm trying to get my skillset up to the next level and actually start developing applications on Android. Is there any specific books or literature I should read to get me started on my journey? I'm also a long time IT guy on both Windows and Unix-based systems, so I'm by no means computer illiterate. I'm also a long time phone modder as I've been tweaking Android phones since the original G1 running 1.0. Thanks in advance!

Take a look at the Android Developer guide. It has samples and tutorials. If you google, there are also several free PDFs on the subject.
A good Java book will also help a lot. Just start to write a few trial apps and you will get there quickly!

The best place to learn for me, is android web page:
Here you have everything to start:
http://developer.android.com/guide/index.html
And to set up the environment for developing:
http://developer.android.com/sdk/index.html
If you want to learn from the scratch, the links I posted are your point. You can also take a look to the tutorials:
http://developer.android.com/intl/es...llo-world.html
You can also start with java, if you want.. I reccomend you take a look to this:
http://download.oracle.com/javase/tu...ava/index.html
http://download.oracle.com/javase/tutorial/
and start from Java SE 6 (http://download.oracle.com/javase/6/docs/)
http://www.oracle.com/technetwork/ja...sp-135888.html

I don't know what your college classes are like for CS, but you should have the basics of programming, why not start writing some Android apps?
Start with the basic "Hello World". Get used to working with main.xml and TextViews, EditViews, ListViews, Buttons and Listeners. Android is mostly JAVA, some Android-specific operations and your xml files.
Take some of your CS 101 type programs and try to write them on Android. The more programs you write, the more you learn.
Try to learn something new everyday and in no time at all you'll be impressed with how far you have come.

Rootstonian said:
I don't know what your college classes are like for CS, but you should have the basics of programming, why not start writing some Android apps?
Start with the basic "Hello World". Get used to working with main.xml and TextViews, EditViews, ListViews, Buttons and Listeners. Android is mostly JAVA, some Android-specific operations and your xml files.
Take some of your CS 101 type programs and try to write them on Android. The more programs you write, the more you learn.
Try to learn something new everyday and in no time at all you'll be impressed with how far you have come.
Click to expand...
Click to collapse
Yes this is really a good advice
Just start writting little programs and you will go up soon
You could use the sample code that comes with the sdk, and start with different things: First, layout, xml and the like. You could then start with some othe things, like services, broadcast receivers, content providers, to get the feel of them. And finally, work with the hardware: Internet (wifi or 3g), bluetooth..

Hey guys, Sorry to get off Track but I've been trying to Complete my ROM for Everyone that's Currently using it. Anyways... Reading All the Posts in this Thread it seems to me that there Definitely are some Well-Seasoned Veteran Developers here, so Forgive Me but I have to ask, Is there Anyone that can maybe Help assist me with getting FlashLite Working on my Rom.... Please?
The link to my Rom Thread is in my Signature... and my phone is a (CDMA) Sprint Hero!
Thanx in Advance!!
*Sent on My*
Fast as its Ever Been....
"Sprint" Hero.... Running My, *ExEnHeroC* Rom, w/Kifno's Twist, Also The XDA-BLUE.apk!! "Page 10" of My Thread!!
http://forum.xda-developers.com/showthread.php?t=957867
http://www.megaupload.com/?d=WTMLMK6M
http://www.mediafire.com/?bb1axugm0bw7oro
http://m.youtube.com/index?desktop_uri=/&gl=US#/profile?user=PMGRANDS

At Barnes and Noble there is a book called Android App Development in 24 Hours. It is a freaking great book. Helped me a lot when I started. It breaks down the chapters in to hours with exercises and explanations. Being familiar with Java fundamentals would be good, but not necessary. The first couple hours(chapters) explains the a general overview of the history of the OS and helps you build your first app. My favorite part of the book is how it teaches you to build and app piece by piece over the rest of the chapters adding new features each hour. So, by the end you have and app with quite a bit of features that work and you actually understand how and why. At the end, you have an app that has a lot of Android features as well as knowledge of how they work and can be used. It doesn't go into the more advanced features, but it is well worth the money for beginners. I still use it as a reference because of the easy to understand instructions. Sometimes, the Internet guides assume you have been using Java for 10 years and skip how and why they are doing something. And even then I doubt every veteran Java programmer remembers everything. I am half asleep so forgive any grammar errors.
Ken
Sent from my iPhone with the bigger Gee Bees.

http://www.youtube.com/watch?v=SVZ1P35xgNQ
Really good tutorial for the first basic steps. In terms of installing eclipse/java and hello world. He continues with his tutorial in part 2, part 3 and so on.

Android/fruItphone app. idea needs help...
If there is anyone who has knowledge on building apps for Android, I would be extremely interested to share with them an idea for an app. I'd hope this app would be able to work on that other fruIt based dumbphone, too.

Well, there is planty of developers out here I'm one of them (thought not the smartest ) so, if you want to share the knowledge, feel free to PM me

Related

So many question, so little time.

Hello all,
I am new to the Android scene and I wanted to find out if there are any good tutorials on app/rom development, what are the programming languages used, etc... I know learning from scratch is probably a long and bumpy road, but it is something I am interested in. I have already rooted and flashed my phone, good times that was. Thank you all for your help.
Th3Cap3
What's your existing programming experience? You could do worse than check out the anddev forums. App development is principally in Java though you can write parts of apps in C or even assembler.
My existing programming consist of very very very basic python, and some web stuff like HTML and CSS, I would basically have to learn how to program the ones you have mentioned from scratch, I have books for most of those though. I will go check out those forums and see what I can dig up Thanks for the info.
I bookmarked that page thank you, I just got a hold of their Eclipse software and all of their beginner tutorials I can't wait to dive into this stuff.
Me too. I know C, but only have a passing acquaintance with Java & Linux; Android I know even less about, not having encountered it till getting my Hero in February. I'm working my way through Thinking in Java (Eckel) to be followed by Professional Android 2 Application Development (Meier).
Even if your grasp of Python is basic it's still a start - you don't have to struggle again with fundamental procedural programming concepts like conditional execution, program flow control & so forth. Plus Python is an OOP language, aiui (I don't know Python) so you have a head start there too
I've installed Java, Eclipse & Android's SDK on this Windows box, but I'm thinking of dual booting Ubuntu as some things just work better in Linux, especially if one wants to cross compile ROMs. Aiui Cygwin, which I already use, can be a little problematic & when one is likely to be asking for help at times, it's useful to be using a similar set up to most devs.
I have been thinking about dual booting again, I just havent had to time to partition my drive and install some sort of linux release, UBuntu is the one I am most familiar with, which isnt very, but its a start.
I am going through those video tutorials from anddev.org right now, it seems to be similar to Python in the way the coding is done, I am excited.
I have also downloaded the Eclipse program, but I have the pulsar version, it seems to be geared more towards mobile development and I have gotten the Android toolkit installed and I have had the Android SDK from when I rooted my Hero (Which is awesome, running the newest Damage Control) good times.
I think I may have a java book on PDF somewhere as well, I will have to go look.
Atm I can't make up my mind between dual boot & Virtual Box, or maybe both, to see if I can wean myself off m$
I have been thinking about the dual boot option a lot since you mentioned it, not sure what to do, I may wait till this quarters class is over so that if something goes missing. it Sony be a big deal
Sent from my HERO200 using the XDA mobile application powered by Tapatalk

Financial Application Development

I have barely developed anything since the BASIC days on the C64 and Amiga, and now feel inspired to create some financial applications for the Australian market - such as superannuation projections.
How hard is it to develop? A few standard calculations like you would see on a spreadsheet would work, with some graphing.
Most financial applications I have found are pretty basic and don't account for inflation in rising wages and fees, etc.
I believe I could attract at least a dollar for a well developed application for superannuation alone.
I have installed the Android 2.2 SDK and have no idea where to start. I presume this is some sort of emulated Android device I can test my applications on.
Are there any tutorials on how to get started? What's the development language?
All I need to do is create a simple text interface to input a few parameters to run some complex financial calculations on the back end.
A really sophisticated application would pull live interest rates or other data and enter that in.
Start with this:
developer.android. com/resources/tutorials/ hello-world.html
(take away the spaces, I cant post links yet )
These are all great tutorials that will walk you through the basic processes and applications/layouts. The only issue you will have is when/if you decide to go through the "Tabs View" tutorial, there are a lot of errors in the code, and I have no idea why no one have changed it, but you can PM me for the correct version.
If you want some basics on Java, just do a google search, there are a lot of great tutorials out there for beginning Java. I recommend doing this first, just so you have a good understanding of Java(which is the development language), it will *REALLY* help out. You can incorporate other languages, but for the time being, stick with Java.
Yes, the SDK comes with an emulator so that you can test your programs without having to install them on a real device. In addition to what Jimmy said (and I can't stres highly enough that you should start with the Android Developer's website and tutorials), you can go to Stack Overflow which is a programming Q&A website. People there are generally very helpful, as long as you've shown you've actually put some effort into solving your problem before you posted your question.
Fair enough... So it's basically about learning to programme for Java? How hard would it be, realistically, for someone with no application development experience?
You need a basic grasp of objected oriented design & programming, along with an understanding of the Java language. When it comes to gui aspects & all communication with other apps/data on the device, you have Android, rather than the usual Java class libraries such as awt or swing.
How hard? It's doable, imo, but will depend on aptitude. Start with Java & then add in Android when you feel like more material to get your head around.
So basically getting started requires me to learn application development like on any other platform, in OO and Java. I may as well do a course or something then. Would a few weeks doing some sort of intro course help?
I'm sure an appropriate course could be very helpful. Though I'd steer clear of those short courses claiming to turn anyone into a valuable skilled programmer in only xx weeks, if only because the tutor will probably know less than you on the subject. Better one which makes credible claims regarding its introductory nature. A couple of degree level intro modules on OO or Java should be of help.

School Science Fair Project

Hey guys, over the summer I began learning Java, so that I could code Android Applications. Unfortunatley, I stopped for whatever the reason(got busy I guess) but now want to get back into it.
For my very first application I would like to create an app for my school as my science fair project entry. This would be my first ever project when creating any type of mobile application. However I do have knowledge in web based programming such as PHP.
The purpose of this message is to ask any willing android developers to help me on this seemingly daunting task. Even if it's just a push into the right direction. I feel that android developing is in my future and now I know where to start.
Thanks for any consideration in regards to my topic. If you are serious about giving me some help, feel free to contact me via pm or in a response to this message.
The Android Developers site is pretty good:
http://developer.android.com/resources/tutorials/hello-world.html
Of course those tutorials assume you can already program in Java, so you might want to find yourself a good "Learn Java" type book first, so that you understand the basics before jumping in to the Android side

How challenging is making an app?

I am not to sure if this is the correct area for this. But I am wondering how hard it is to make a Android game? This isn't something I want to just jump into, but learn while I am doing it and take my time.
So how challenging is it to someone who has no experience?
Thank You
Do you have any programming experience at all?
If you know languages like C++ or Java you're pretty close already. Android is programmed in Java, and you need to be familiar with Java's memory management to understand what happens behind the scenes since memory is critical on a mobile device. Also you should get some experience with multithreaded programming, since most times you'll need threads to complete tasks without getting the UI stuck.
Android uses a component based architecture that might be a bit unfamiliar in the beginning, since there's no 'main' entrypoint and you have to split your app into 'activities' that talk to each other through 'intents'.
Games present additional challenges, since they often require you to take care of several things involved with graphics and audio, so maybe they're not the ideal first step into programming.
I started programming for my phone on my Touch HD (windows mobile 6.5, using c#). I'd done some java (not a lot, really, and I hated it), some c (a bit, liked it much more) and quite a few script languages.
I have to say, I got into c# with the compact .NET framework VERY easily. It was very straightforwards, nicely syntaxed ... it was just programming as I'd known it. I've made some office apps, one or two games (just for fun, although the apps were meant to be sold ... **** MS for going wp7 and incompatible!; they were solid pieces of software engineering, if I say so myself)
Two weeks ago I got my Desire HD and a few books on programming Android ( O'Reilly, Sam's) and went looking through developer.android.com .
And I have to say, I find it hard! The concepts and how they work together are a bit ... uhm ... distributed. Good software design, but hard on the programmer (and ****ing verbose to actually type in the porgamming! Sheesh!). It took me a while to grok how all these systems are fitting together: to be honest, I'm still trying to make it all jell. All these intents, services, activities, broadcast receivers ... very interesting, but just thinking of the best (or even correct!) way of setting up your porgram is kinda difficult.
But, that's just me, in two weeks time in my spare time. I am getting it now and it is interesting (and, actually, very well set up for what they want android to do/be). c# was just easier, friendlier and faster to get into.
Sorry if this sounds negative: learning a new language isn't EASY, but it is FUN And very informative. If you have a few hours to start off with and then an hour a day, go for it ... but keep in mind there are easier/more straightforwards programming languages/environments than android (or so I think).
I would like to know this too because I got my HTC Wildfire for a few months now and I just rooted my phone yesterday to get into the whole development and modding.
I would like to learn how to make a widget first and then move onto a app/game. My goal would be to know how to create a 2D based side scroller, I would like to recreate "Bio Menace" for the Android. (I have the sprites and maps, now I only need to learn to make it into a game). (Bio Menace was my all-time favorite game when I was a child and I sometimes still play it on dosbox, but I would like to take it with me on transits to work)
I have no experience in Programming at all, I only did graphical stuff (Photoshop, 3DS Max) I know a little html for basic websites, but this was also more in Dreamweaver with the layout to designer.
So I found these books on android, but before I begin to read any of them. Can somebody tell me which book is best to start on first or which book to skip? I also like a video tutorial, but has anybody seen it? Is it any good?
Ebooks
Apress: Beginning Android 2 http://apress.com/book/view/9781430226291
Apress: Pro Android Games http://apress.com/book/view/9781430226475
Apress: Pro Android 2 http://apress.com/book/view/9781430226598
CommonsWare LLC The Busy Coders Guide to Android Development http://commonsware.com/Android/
Sam's Sams Teach Yourself Android Application Development in 24 Hours http://www.amazon.com/Teach-Yourself-Android-Application-Development/dp/0321673352
O'Reilly Media: Building Android Apps with HTML CSS and JavaScript http://oreilly.com/catalog/0636920010067
O'Reilly Media: Hello Android 3rd Edition http://oreilly.com/catalog/9781934356562
Video tutorial
O'Reilly Media: Developing Android Applications with Java, Part 1 http://oreilly.com/catalog/0636920001690
Sorry to threadjack you, but it made no sense to me to start a new thread on the same topic. There really should be an own section for noobs or a good sticky with this kind of information for noobs.
lol Im in the process of learning java right now, basic java though.
Mathods
Interfaces
Static Methods
Im pretty interested in what I need to know for development on the andriod platform. By mid/late spring I should know quite a bit more. Taking an Advanced java course. Current I only know C#, C++, and Visual Basics.
Never worked on a GUI before =(.

[Q] Need to learn java

Hiya,
I have noooooo knowledge about any computer language and want to learn Java as i heard that its the language required to develop android apps. I know it takes alot of time to develop apps but im ready to spend my time so kindly let me know how can u start learning java at home? and should i learn anything before learning that as i dont know a word about programming
Thanks
http://www.megaupload.com/?d=65FYTS7W
That's a download for Java tutorials. To actually do them you'll need a compiler. I use jGrasp but there are many others you can use. Eclipse is pretty popular and they all do the same thing basically. A compiler can be downloaded on the internet, and you'll need to download Java from Sun Microsystems as well. Just to let you know you gotta be pretty dedicated, it takes a lot of time to make good apps. Google's App inventor is an alternative to learning code.
thanks for da help but da prob is dat i need to start from basics, like the full basics of programming even simple definitions, can u also guide me a book or ebook for that too so that i can learn the super basics like definitions first b4 learnin java
thanks
n btw the link doesnt work
This may get you started:
http://download.oracle.com/javase/tutorial/
But if you're never programmed in any language, you need to take an intro to programming course.
________________________________
Unrevoked forever
SkyRaider Sense 3.5
Radio 2.15.00.09.01
can u learn this intro to programming online? or thru any book?
I don't have anything I can recommend. But there's tons of info online. Just do a google search for 'Intro to programming'. That's how I found this:
http://math.hws.edu/javanotes/
________________________________
http://ron-droid.blogspot.com
thanksss ill take a look at it
I started with the book, hello android 3rd edition. Its a great book.
Nookie Froyo 0.6.8 (zoom2)/Tapatalk Pro
Did u start from zero from this book? I mean u had to learn the basic terms and definitions even??
Sent from my Nexus One using XDA Premium App
You cant try this Stanford University lectures on youtube: http://www.youtube.com/user/StanfordUniversity#g/c/84A56BC7F4A1F852 ..or just search for "Mehran Sahami Programming Methodology" in itunes U if you use itunes.. Same lectures. I think its a really good starting point.
Bro you should check out "Starting out with Java: From control structures to objects" by tony gadis. Just google it. Its the one I used in my intro to programming course. It starts out as basic as can be. Its really good
Sent from my SGH-T959
I was in his shoes...about 15 years ago LOL Wow, where does the time go? 2 degrees and a couple careers later I guess.
What I would stress are a few things:
1. Learn how to do some flow charts before you write code
2. Learn the basics of program flow (if/else, do/while, switch/case statements)
3. Learn the "types" of your language (int, String, float, char, modulus etc.)
4. Learn some data structures (arrays, Lists, Vectors etc.)
5. Learn about functions and/or classes. Remember that a function should be fairly short and very specific to a task, like: getUserName, calculateCheckingBalance etc.
6. START SMALL AND WORK TO LEARN SOMETHING NEW EVERYDAY!
I can't stress how important #6 is. Do a "Hello World" program just to get used to writing some code.
Think of some simple programs like: write numbers 1 to 10 to an array and print them out backwards, ask user to input what year they were born in and print them back their age. Advance up to something like a ATM simulator where you can make deposits, withdrawals, check your balance. I did all similar type things in Programming 101.
I still love the Dietel and Dietel books...get one for JAVA and it's money well spent in my opinion.
I've uploaded some of my university lectures which start from the absolute basics.
http://forum.xda-developers.com/showthread.php?t=854462
They may help you
Thanksss guyssssssssss ill look over all these! thanksss alottt
mohsin125 said:
Hiya,
I have noooooo knowledge about any computer language and want to learn Java as i heard that its the language required to develop android apps. I know it takes alot of time to develop apps but im ready to spend my time so kindly let me know how can u start learning java at home? and should i learn anything before learning that as i dont know a word about programming
Thanks
Click to expand...
Click to collapse
Here are the top tips for anyone who wants to start learning Java:
Learn the Basics. As with anything, knowing the basics about Java is the best place to start. ...
Practice Coding. To use the old cliché, practice makes perfect. ...
Set Your Algorithm Carefully. ...
Trace Your Codes on Paper. ...
Read Sources on Java Programming Regularly.

Categories

Resources