Ask HN: Should I start with Android for mobile development?
13 points| orionblastar | 12 years ago | reply
My reasons for wanting to develop for Android is that there are options to run Android on a PC or inside of Windows. (I'd like to run Android inside of GNU/Linux) I think that allows me to test and debug my apps better, plus I think that to become an android developer doesn't cost that much money as Apple's Developer's tax. (I got an old Macbook Duo-Core 2 that runs 10.7 that I share with my son, can't afford a newer one yet) Given my Visual BASIC background what would be the best way to learn Android programming? I used to know Java but let my skills slip over the years due to being sick and in hospitals, I can relearn it and I assume it has evolved over the years.
[+] [-] georgemcbay|12 years ago|reply
You can run and debug your Android apps pretty well on any OS (Linux, Windows or Mac) using the emulator that comes with the Android SDK. Be sure to use the Intel HAXM version of the emulator if you can get away with it (if your cpu supports Intel VT and your Android code doesn't use any exotic ARM NDK stuff) as the ARM emulator is dog slow. I highly recommend having at least one hardware device to test on, though if you can manage to beg, borrow or steal one. You can probably source a year or two old device off craigslist or such for cheap, Android phones generally don't hold value nearly like iPhones do. The emulator is nice for some things but it is generally much more pleasant to run and debug on an actual hardware device.
Java as used in Android has evolved as a language far less than you might expect, but the Android SDK UI framework is quite different than most Java programming because of the way the Android activity stack works, so you'll be spending a lot of time learning about Android Activities, Fragments, Services, Adapters and such. There is a ton of decent documentation/tutorial information online, including Google's own Android docs, plus a plethora of open source Android apps to learn from, so learning it is just a matter of getting in there and getting your hands dirty.
[+] [-] orionblastar|12 years ago|reply
Like say I want to write an app to read some integers and then report the average, mean, and median of the numbers. I'd have to have a main form, a data entry form to enter the numbers, and then a results form that displays the statistics I generated with an option to go back to the main form or the data entry form to enter new numbers? I still have to learn Activities, Fragments, Adapter and such?
I have a Samsung Galaxy S4, and a Nook HD. My son has an iPhone 5 and iPad 3. I've heard in the USA that iOS devices dominate but in the rest of the world Android devices dominate. Is that true?
Thanks for the advice, I just need to get back into the game eventually and then my programming mind will just kick right back in I hope.
[+] [-] akulbe|12 years ago|reply
I've ditched the Apple "new shiny" for a while, and I'm going all Linux & Android. I know it requires Java knowledge, but my question is... how much?
Do you think you can start from the Android tutorials on the developer.android.com site, and then fill in the Java pieces as you go, or would that be a bad approach?
I'm just recognizing that programming is becoming more and more a crucial skill, and I think Java and Android are the best place to start. I just want the time/effort spent to be as well worth it, as possible... and not get distracted by something I don't need to know about.
Does that make sense?
[+] [-] rasyadi|12 years ago|reply
https://www.coursera.org/course/android
There will another more advanced course to compliment this called Pattern-Oriented Software Architectures for Concurrent and Networked Mobile Devices and Clouds - https://www.coursera.org/course/posa
Here's the news about these courses - http://news.vanderbilt.edu/2013/09/vu-maryland-mooc/
[+] [-] gspyrou|12 years ago|reply
[+] [-] jamesjguthrie|12 years ago|reply
[+] [-] orionblastar|12 years ago|reply
That is one of my future goals to get to the point to develop iOS apps. But first I need to do Android because it does not have a developer tax and has better tools to write apps. I haven't figured out XCode and Objective-C yet, but I have a better understanding of Java because I learned C in 1987 and then Java and other languages later because my knowledge of C helped me learn the others.
When I was young, my father worked for AT&T and during a Pioneer meeting I once met Dennis Ritche who told me to learn programming. That is why in 1987 I took the C language class, he had a hand in developing it.
[+] [-] wonderer007|12 years ago|reply
[deleted]