Shop OBEX P1 Docs P2 Docs Learn Events
What is required to write Android Apps ? — Parallax Forums

What is required to write Android Apps ?

BeanBean Posts: 8,129
edited 2010-11-24 01:16 in General Discussion
I just got a Nook color and the sales person at B&N said that they are going to have an app development kit and downloadable apps for it.

I know very little about android. What hardware and software is required to write android apps ? How hard is it ? I mean is it something to have to dedicate your life too ?

Thanks for any info,

Bean

Comments

  • Heater.Heater. Posts: 21,230
    edited 2010-11-23 04:53
    Bean,

    Get you Android development kit from here http://developer.android.com/sdk/index.html.
    On that site you will find lots of documentation, tutorials and such.

    Its basically Eclipse. There is the ADT Eclipse plugin for download and debug. There is a simulator on which you can test your apps on the PC.

    Android is designed to be programmed in Java so if you are familiar with that you are good to go. However Android does not use most of the familiar Java class library stuff. That was OK for me as I am not familiar with it anyway.

    It is possible to use native C/C++ code in your apps and there is a separate SDK download for that.

    I managed to get my first Android "Hello World" app up and running in a couple of hours just from whats on that site.
  • Heater.Heater. Posts: 21,230
    edited 2010-11-23 05:07
    According to this article http://www.tuaw.com/2010/10/27/barnes-and-noble-intros-nook-color-the-worst-of-all-worlds/ the Nook is going to be "locked down and will only be able to run a limited number of B&N-approved apps such as Pandora and Lonely Planet."

    On the other hand there is http://nookdevs.com/Main which claims you can develop apps for the Nook like any other Android device with the the same dev kit.
  • LeonLeon Posts: 7,620
    edited 2010-11-23 06:47
    Is someone using a Nook indulging in nooky? :)
  • localrogerlocalroger Posts: 3,452
    edited 2010-11-23 08:38
    Heater, it looks like the Nook is locked down by default, but you can install whatever apps you want if you root your Nook. This means you might be able to do whatever you want with your own Nook if you're willing to risk bricking it to root it, but the majority of non-power users won't be able to use what you write.
  • BeanBean Posts: 8,129
    edited 2010-11-23 08:42
    From what I gather here http://www.barnesandnoble.com/nookcolor/developer/index.asp

    You WILL be able to create and sell apps without users having to root their devices.

    Bean
  • wjsteelewjsteele Posts: 697
    edited 2010-11-23 08:52
    Wow... that's cool Bean... seems that if they can open it up enough, this would be a great device against the iPad!

    Bill
  • localrogerlocalroger Posts: 3,452
    edited 2010-11-23 12:26
    Bean, it actually looks like they're setting up a B&N version of the iPhone distribution system where they control which apps are and aren't available for the Nook. This differs from vanilla Android in that I can pretty much send you the file created by the Android SDK and you can install it on your phone; B&N is setting up so you can only install it if I submit it to them, they approve it, and they put it in their store which they control.
  • wjsteelewjsteele Posts: 697
    edited 2010-11-23 12:58
    Hey Localroger,

    That's not a bad thing, as long as they also don't do anything to prevent more skilled people from "jailbreaking" the devices.

    Some people don't have/need the skills to do that themselves and prefer to have a store... however, like you, some of us would like both options. :)

    Bill
  • localrogerlocalroger Posts: 3,452
    edited 2010-11-23 13:47
    Yeah wjsteele I pretty much agree with that; so far Google themselves seem to have taken the rooting thing in stride and aren't aggressively trying to prevent it. B&N is probably trying to keep more control over the user experience for the n00bs so their brand doesn't become associated with porn and stealing music. But if they get so paranoid that like Apple they'd rather brick your device on the next upgrade than let you do whatever you want with it, then they will pretty much be making it useless for people like me. (Mmmmm serial port Mmmmmm. Gotta root it to use that, though.)
  • obrienmobrienm Posts: 65
    edited 2010-11-23 16:12
    Android is 99% Java (notably J2ME) - just rebranded better than C# - but with an excellent OS. If you are writing android apps - you are a Java developer (you just might not realize it). The ability to run code outside of the API like C/C++ DLL library functions is a port of the existing JNI api in standard Java. Eclipse is an IDE not tied to a specific language or platform - this why it is used as the standard IDE for SE/RCP/EE Java, Android, XC, C, C++ and even SPIN development with a couple environment changes. In fact the eclipse IDE can even be its' own application - sort of like how the Smalltalk image as exe could be run as an App.
    I really like and use google - but what is scary is the fragmentation of the Java spec into 2. One consequence of this is that to develop in android you essentially need 2 virtually identical VM's (one takes the .class bytecode further into .dex format) - as the android Eclipse IDE still needs a JVM (not it's Dalvik VM) to run on (one of SUN/Oracle hotspot, Oracle JRockit or the IBM J9). For developers, we need to maintain 2 codebases that likely will diverge (for example certified J2ME apps on the RIM Blackberry may not run on the Android VM or the opposite).

    Imagine if there were 2 almost identical versions of SPIN - one certified and one from a 3rd party that we needed to maintain - we end up with 2 versions of SPIN bytecode VM tokens. We call this type of branching - double merging.

    However, after all this, I still develop on Android because it is an excellent API that came out in record time and runs very well on Eclipse.

    Disclaimer: These views are my own and do not represent in any way the position of my employer or committer base.

    thank you
    /michael
  • Heater.Heater. Posts: 21,230
    edited 2010-11-23 17:13
    obrienm,
    Android is 99% Java (notably J2ME)
    Android is not J2ME. J2ME apps will not run on Android. For this reason there is, for example, this http://www.assembla.com/wiki/show/j2ab
    One consequence of this is that to develop in android you essentially need 2 virtually identical VM's - as the android Eclipse IDE still needs a JVM to run on
    What is the problem with that? To develop C++ for, say ARM, I need two compilers, one to build my tools on x86 Linux and one to cross compile for ARM. Who cares what language or VM Eclipse uses as it runs on my Linux box? Further, you don't even need the Eclipse bloatware to develop for Android. Your favourite editor plus the Android SDK will do.

    Android does not use a Java virtual machine. Android byte codes are not JVM byte codes. The VM architecture is very different and called "Dalvik".
    For developers, we need to maintain 2 codebases that likely will diverge (for example certified J2ME apps on the RIM Blackberry do not run on the Android VM or the opposite).
    True. Blame Sun and now Oracle for that. Android, it seems, is trying to set Java free.
    Imagine if there were 2 almost identical versions of SPIN - one certified and one from a 3rd party that we needed to write for).
    No need to imagine. That is already the case with BradC's wonderful BST Spin compiler and Mpark's HomeSpun compiler. And what a God send they are. Imagine how stupid it would be if BradC and Mpark could not develop these things because of some stupid "lack of certification" issue?
  • John AbshierJohn Abshier Posts: 1,116
    edited 2010-11-23 18:00
    You may want to check out App Inventor for Android.
    http://appinventor.googlelabs.com/about/
    John Abshier
  • obrienmobrienm Posts: 65
    edited 2010-11-23 18:55
    My mistake, I meant 97.5%.
    /michael
  • Heater.Heater. Posts: 21,230
    edited 2010-11-24 01:16
    obrienm,
    My mistake, I meant 97.5%.

    OK, that's better:)
Sign In or Register to comment.