Kivy for Android apps

AndroidPythonKivy

Android Problem Overview


I've just started diving into the Android world. I have a lot of experience programming apps in Python, so I've searching for a good combination "Android + Python", and I think I've found it: Kivy.

I need to make applications that are able to download and upload content from the internet, maybe some connection with the map component included in Android and more stuff to make a nice Android app.

But I really don't want to waste my time on something that maybe won't work. So, does anyone has some experience developing Android apps using Kivy? Is it really useful, simple, possible? Or is there a better option you have in mind?

Android Solutions


Solution 1 - Android

I've been using and contributing to kivy for some time, and using it for a big application intended for market. Although still not as complete as native developpment (not sure if using the map Android API is possible at all, but there are alternatives), it works very well, with good performance. The kv language for rapid prototyping is really cool.

And as bonus points, your apps work on windows/linux/mac/ios too… (we still have to try getting on apple store, but technically it works). edit: to this day at least one kivy app has been accepted on apple market, look for "deflectouch" if you are interrested.

As opposed to SL4A, you get a real apk to distribute, with kivy as well as a very nice and slick GUI api, fitted for multitouch apps.

Solution 2 - Android

I believe KivyMaps is pretty similar to what you are trying to do.

If you avoid non-Android platform specific code then your application, should run on Android without any problems.

I suggest looking at Python for Android also, it's a sister project of Kivy aiming to help you create your own Python distribution including the modules you want, and create an apk including python, libs, and your application. Specifically look at its native API wrappers for Android. The project is new so only a few native API's are supported but it might give you an idea on as to how to go about creating a wrapper for Android location service API's if you need that.

As for the Google maps external library, I agree with tshirtman. I'm not sure how it could be used but as the KiviMaps link above highlights there are alternative approaches available.

Solution 3 - Android

I have very little experience with it. But I do know that

SL4A (Scripting Layer For Android) does support writing Android applications with Python as well. Might be worth looking into that a bit before you make your decision of what to use.

Solution 4 - Android

Kivy is Cross-platform Python Framework for NUI Development. It is Good for some prototyping android app. You can use Kivy Launcher for more fast test. You can use python library so fast development for feature. You can use pyjnius for accessing java classes for java based feature.

I suggest you to reading Kivy Interactive Applications in Python book for newbie.

But in some deeper depth, you should know how to use basic widget carefully. Because some confusing concept is there. For canvas, it's different concept in html5. Kivy language's class rule and class is some confusing for newbie.

And for android app, there is some difficult to use not basic supported library like Beautiful Soup(famous html and xml parser library).

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionjuliomalegriaView Question on Stackoverflow
Solution 1 - AndroidTshirtmanView Answer on Stackoverflow
Solution 2 - Androidqua-nonView Answer on Stackoverflow
Solution 3 - AndroidFoamyGuyView Answer on Stackoverflow
Solution 4 - AndroidPaul GoView Answer on Stackoverflow