Kivy for Android apps

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.

  • How to transfer some data to another Fragment?
  • Getting resizeable appwidget dimensions (or getting around it)
  • Inline vs included js and css?
  • Attribute “barLength” has already been defined
  • How to retain a map view inside a fragment?
  • static variables, what is their life span?
  • 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?

    Related posts:

    Android Status Bar Notifications - Intent getting the old extras on the second time
    Android service to check internet connectivity?
    Make EditText accept and display HTML formatted text
    How to make an activity stop, rather then be destroyed, from the BACK key?
    Using Material theme on L preview
    NinePatchDrawable does not get padding from chunk
  • How do I open the Bluetooth Settings Activity programmatically?
  • The same item is being deleted twice after executing Network Call in a loop
  • How to make textView wrap its multiline content exactly?
  • How to resize a android webview after adding data in it
  • Android not creating file
  • How to disable GridView scrolling in Android?
  • 4 Solutions collect form web for “Kivy for Android apps”

    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.

    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.

    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.

    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).

    Android Babe is a Google Android Fan, All about Android Phones, Android Wear, Android Dev and Android Games Apps and so on.