views:

2313

answers:

4

Tomorrow I am buying an HTC magic phone on the Rogers network. Since it runs android (the only reason for picking this phone :) ), I was hoping to do some playing around with it, writing applications for it and the like. But first of all, how? Do I need some special cord? I know about the android SDK, but how do I even get started?

And, the main point of this question: I've never programmed for anything besides a website or a PC before. What is strikingly new and exciting about writing software for a phone? What are some things I should try to write, which aren't too difficult, and will maximize my "OMG AWESOME" moment density per unit of time?

Oh, one more (possibly stupid) question: What language do I write in? Java...right? Is there any other languages or frameworks I can use to write for this phone?

Note that there's nothing special about this phone: It's not unlocked anything, I didn't order it as a developer phone from Google, I'm buying it out of a Rogers store on a three year contract.

+11  A: 

You can phone up your significant other and talk.

Pete Kirkham
+1 for pure genius insight :-)
Chris Huang-Leaver
This is cool!! +1
Winston Chen
a good feature, but my old-fashioned home phone can also do that...
Carson Myers
Is she an android ?
Brann
I haven't thought to ask
Carson Myers
A: 

You can take a loot at apple iphone app store, there are thousands of cool apps already, some of them are indeed OMG.

Language - java is the most commonly used. You can visit the official website, it has a lot of your answers.

Winston Chen
why would I want iPhone apps for my android phone?
Carson Myers
That's just to show you how programmers imagine the functions of cell phones. After all, IPhone came before android. A lot of people already put their cool thoughts into iphone, which could originally belong to android.I am not asking you to micmic iphone, it's just to show you how creative people think about the cellphones in the future in general.
Winston Chen
ah I see what you mean.
Carson Myers
+1  A: 

The big difference in writing software for a phone is the constraints placed on you by the hardware. Forget creating masses of objects and throwing them away. That takes memory and your garbage collecter will end up taking too much processing power away from you to clean up after your mess. There are a number of good videos and tutorials up at developer.android.com which give you more info on how to code 'tightly' for low memory/processor environments. It's actually great fun - you have to think a bit harder about what you are doing than if you are coding for a more powerful environment like desktops.

As for the android OS itself - I think it is fantastic. Just brilliantly designed for something like cellphones. I love the way they use intents to trigger things. Seriously, go take a look at all the tutorials and then play. If you like well thought out software then you'll love android.

I found this book quite handy for rapidly getting into coding on android.

Android book

I'm not a java developer by trade so I can't be sure this guys coding style is a god Java style but he does touch on most of the main topics you need to get started with android. Do the Sudoku example in full - don't cut and paste, actually code it from scratch with the book as a help.

Russell Troywest
+2  A: 

Here's what you need to do:

Once you're done with that, you should have some ideas on how to proceed. Good luck and have fun!

Mike Mazur