I want to write an Android application using Python. I've found 2 options for that: kivy and SL4A. In kivy, at least for now, I can't use the GPS data. Anyone knows if I can get the GPS data using SL4A with Python? As I understood, one can write commercial apps using kivy. On the other hand, with SL4A you must install first SL4A and python on your Android device, so I'm not sure it's suitable for commercial apps. And last one, can I use funf with python?
-
[How to make an android app with SL4A and Eclipse](http://jokar-johnk.blogspot.com/2011/02/how-to-make-android-app-with-sl4a.html). – Joel Cornett Apr 15 '12 at 14:08
-
[Location facade info](http://www.mithril.com.au/android/doc/LocationFacade.html) – Joel Cornett Apr 15 '12 at 14:09
-
The trick here is that you don't want to write Android applications with Python - as currently Python solutions are little bit tricky and do not provide that good user experience. If the app is only for your personal use Python is good, but if you need to distribute it (Google Play Market) Python solutions are not mature enough yet. Trust me - I have done Python mobile development since Nokia Series 60 :( – Mikko Ohtamaa Apr 15 '12 at 14:15
-
Thanks! It seems I'll move to Java... – Noam Peled Apr 15 '12 at 14:46
-
Joel Cornett & Joel Cornett- Thanks, but it seems SL4A isn't ready for commercial apps development. What do you think? – Noam Peled Apr 21 '12 at 09:08
1 Answers
You can package SL4A apps as APKs, and distrubute them through Play Store. It's loosely just like kivy in that respect.
As for quality, it really depends. Java apps are the best approach for efficient battery use and so on, plus GUIs in SL4A are always either very simple or non-native webviews, so complex GUIs look unique to the application, though using something like jQuery Mobile can help you put something half decent together pretty quickly.
Ultimately, there's no reason you can't do a commercially successful Android app in Python. It's just that a pro-Android dev generally wouldn't try to.
I used SL4A and kivy, but tend to use SL4A. Others tend to use kivy. You'll have to really think about each app's needs, or just use Java.
Update: You can now use FullScreenUI
to render native user interfaces from SL4A, but it's experimental, and I haven't used it to be able to say how well it works.

- 3,025
- 24
- 36