I want to write apps for Kindle. Where do I start?

I have a decent amount of programming experience (C, C++, Java, Java Applets, PHP, and others.) I’ve recently started thinking about looking to create some simple games on my own. These would be primarily for the amusement of myself and friends, not for sale. I’m looking for tips on getting started.

First of all, I see that Amazon recommends using Android Studio or Eclipse. Since I’ve used Eclipse before, I’d prefer that. Which package would be best for this purpose?

Is there any sort of simulator which would allow me to run an app for testing on my computer? I would prefer not to have to download to my Kindle every time I want to test my code.

Any recommended books or tutorials?

Corona - I love it and now it is free (used to be a $500/year license).

Perfect for 2D graphics, has a physics engine, the language is LUA (which basically writes itself), and the app you write can be run on iOS, Android and Windows Phone 8 with the same codebase. And as you develop, you test it on the simulator on your PC.

I’ll take a look, thanks.

Have you looked at Unity? It’s a robust app dev platform for just about anything and is free to use, so long as you don’t make over $100k from your app.

You’re talking Kindle Fire, right?

It’s been about 4 years since I tinkered with it, but I followed the guides Google published for getting the SDK up and running in Eclipse, then followed tutorials they published to figure out my way around the API. As long as that hasn’t become obsolete in the last few years I’d suggest using that route to make your first simple apps, just to get a feel for how you interact with the system.

As far as tools that sit on top of that go, I’ll second Unity. While I’ve never used it for mobile development I’d imagine it’s just as good as it is for PC-app development, which I found simple enough to learn.

There are plenty of free online classes for learning Android development.

This one from University of Maryland through Coursera started yesterday - still plenty of time to enrol: https://www.coursera.org/course/androidpart1

Udacity have a bunch of self-paced classes devloped by Google: https://www.udacity.com/courses/android

Once you have the basics there are a number of books available specializing in game development.

The whole point of Corona (and Unity) is not to get down to the nitty-gritty of Android internals, and have the code-base be platform-independent (the game I wrote with Corona runs on Kindle Fire, other Android systems and IPad/IPhone, with the exact same codebase). Today, I would only develop in native Android Java if I needed something that was very specific that could not be done through platforms like Corona - which is very few things.

For Android development, Eclipse has been deprecated in favor of Android Studio. I find AS to be superior in just about every way. It has about every feature of Eclipse and some more specific Android ones.

Go for Big Nerd Ranch or Head Start Android books and online (this is for Android development; I don’t specifically about Kindle fire). These require you to be proficient in Java; I hope you’re not scared seeing anonymous inner classes…

If you don’t want to do Java programming, you can try Unity, or perhaps PhoneGap, which lets you write platform independent apps (supposedly!) using HTML and JavaScript. Ugh! I’d rather do a pure Android app in Java.

And if you want to make some fun games quickly, look at MIT App Inventor. If you know what Scratch is, you’ll be set, but as an experienced programmer you’ll be somewhat limited and possibly frustrated with the snap-in-place language. At least it’ll show you how to work with colors, sensors, touch and the camera very easily.

Also it has a really nice way to load your app on your device by using WiFi and having your phone simply scan a QR code, which loads the app directly. You need to scan only once per session; any updates you make also get sent to your device directly. It’s a pretty sweet set up.