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.

  • CoordinatorLayout with RecyclerView and bottom-pinned EditText
  • Is anyone using Sencha Touch for mobile development?
  • How to disable and enable the scrolling on android ScrollView?
  • Create a spinner programmatically android
  • Gradle: How to exclude javax.realtime package from JScience jar dependency (Multiple dex define)
  • Android RecyclerView which is in a Fragment which is in a ViewPager does not reload/refresh views if setOffscreenPageLimit is reached
  • 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:

    How to put text in a drawable?
    Searching for a “PaintCode” for android
    Retrieving a list of classes from a package in an Android project
    how to check if device has flash light led android
    Possible to Override system .so library in App
    UiAutomator dump for Lollipop Lost WebView View Hierarchy
  • android force close: ClassNotFoundException for Activity class
  • You need to use a Theme.AppCompat theme (or descendant) with this activity
  • Disable Scrolling in child Recyclerview android
  • Main Activity is not garbage collected after destruction because it is referenced by InputMethodManager indirectly
  • How to display gradient effect from top to bottom in android
  • IOS cotrols hide and gone like 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.