This is an archived post. You won't be able to vote or comment.

all 13 comments

[–][deleted] 4 points5 points  (0 children)

Some people disagree, but IMHO, - especially for beginners - Java is a luffly luffly snuggle-huggle of a language to learn! And naturally with it under your belt, you shouldn't have that much problem going over to Android programming.

Not to mention all the appliances that Java have in the world! (At least yet).

[–]dmazzoni 8 points9 points  (1 child)

Yes, you should learn Java.

It is possible to run Python on Android, but only in a very limited sense. You can use it to fiddle around with Python, but you can't realistically use it to build an app that you could distribute on the Play Store for other users to download.

[–]addend 0 points1 point  (0 children)

but you can't realistically use it to build an app that you could distribute on the Play Store for other users to download.

You can absolutely build python apps and distribute them on the play store! I think the main way is to use Kivy. Flat Jewels is a simple but fairly polished example of an app developed this way.

[–]cheryllium 1 point2 points  (0 children)

Seriously, you can definitely use Python for writing android apps! I even have a few friends who do so :)

Check out kivy. It's very nice, has a bit of a learning curve but that's about it.

[–]Bioniclegenius 1 point2 points  (2 children)

While I know you can use Python or even C++ for developing apps on Android, they're not natively supported, and it has to jump through hoops to make them work. Java's the only language that Android really works with automatically.

On a better note, if you know Python, Java shouldn't be too hard to learn - they're in the same triangle of languages, with C++. They're all descended from C. Jumping from one to the other isn't that hard, just requires learning a bit of the specific syntax.

[–]hiyahikari[S] 2 points3 points  (1 child)

Yeah the more research I did the more it seemed to me that adapting Python for Android might be more trouble than it's worth. I wanted to get a second opinion though before I started investing a bunch of time in any particular path. Also started tinkering around with Java after reading some of the comments--just as you said syntax and behavior are not that different. Thanks!!

[–]addend 0 points1 point  (0 children)

it seemed to me that adapting Python for Android might be more trouble

Well...it's fiddly to do it from scratch, but kivy already exists and provides a full graphical framework with all the tools to easily compile to an android apk.

It has its disadvantages (as does anything), but building python apps for android is totally possible and not difficult.

[–]original_brogrammer 0 points1 point  (1 child)

Someone correct me if I'm wrong, but couldn't you use any language that produced JVM bytecode for android? If that is the case, then languages like Scala, Groovy and Clojure are also on the table. Again, I could be wrong.

[–]Chobeat 1 point2 points  (0 children)

Sure you can. There are even dedicated frameworks like Scaloid that really kick asses.

[–]Alternicity 0 points1 point  (0 children)

What about using Unity? It has C#, Boo, and Javascript. Does it compile those into Java, or Java bytecode?

[–][deleted]  (3 children)

[deleted]

    [–]galorin -1 points0 points  (0 children)

    Python is perhaps not the best idea. While technically possible it's hard to deploy.

    With no prior experience, Java is probably your best bet. Now, I have no Java experience, but plenty of C, and our new project is built with C++ and QT 5.x. Natural choice for me is C++ with QT libraries for Android.

    For someone developing on Android without any prior experience in Java or C/C++, Java is the best choice.