web-dev-qa-db-fra.com

Kivy pour Android

Je viens de commencer à plonger dans le monde Android. J'ai beaucoup d'expérience dans la programmation d'applications en Python, donc je cherche une bonne combinaison "Android + Python", et je pense que je l'ai trouvé: ( Kivy .

J'ai besoin de créer des applications capables de télécharger et de télécharger du contenu depuis Internet, peut-être une connexion avec le composant de carte inclus dans Android et plus de choses pour faire un Nice Android app.

Mais je ne veux vraiment pas perdre mon temps sur quelque chose qui ne fonctionnera peut-être pas. Alors, quelqu'un a-t-il une certaine expérience dans le développement d'applications Android utilisant Kivy ? Est-ce vraiment utile, simple, possible? Ou Y a-t-il une meilleure option que vous avez en tête?

54
juliomalegria

J'utilise et contribue à kivy depuis un certain temps, et je l'utilise pour une grande application destinée au marché. Bien qu'il ne soit toujours pas aussi complet que le développement natif (je ne sais pas si vous utilisez la carte Android est possible, mais il existe des alternatives), cela fonctionne très bien, avec de bonnes performances. Le langage kv pour le prototypage rapide est vraiment cool.

Et en tant que points bonus, vos applications fonctionnent également sur Windows/Linux/Mac/iOS ... (nous devons encore essayer de monter sur Apple store, mais techniquement cela fonctionne). Edit: à ce jour sur au moins une application kivy a été acceptée sur Apple market, recherchez " deflectouch " si vous êtes intéressé.

Contrairement à SL4A, vous obtenez une véritable apk à distribuer, avec kivy ainsi qu'une api GUI très agréable et lisse, adaptée aux applications multitouch.

24
Tshirtman

Je pense que KivyMaps est assez similaire à ce que vous essayez de faire.

Si vous évitez le code non spécifique à la plate-forme Android, votre application doit s'exécuter sur Android sans aucun problème.

Je suggère de regarder Python pour Android aussi, c'est un projet frère de Kivy visant à vous aider à créer votre propre distribution Python comprenant les modules que vous voulez, et créer une apk y compris python, libs et votre application. Examinez spécifiquement ses wrappers d'API natifs pour Android. Le projet est nouveau, donc seules quelques API natives sont prises en charge, mais il pourrait vous donner une idée sur la façon de créer un wrapper pour = Android API de service de localisation si vous en avez besoin.

Quant à la bibliothèque externe de Google maps, je suis d'accord avec tshirtman . Je ne sais pas comment il pourrait être utilisé, mais comme le lien KiviMaps ci-dessus le souligne, il existe d'autres approches disponibles.

12
qua-non

J'ai très peu d'expérience avec cela. Mais je sais que

SL4A (Scripting Layer For Android) prend en charge l'écriture Android avec Python également). Cela vaut peut-être la peine de l'examiner un peu avant de décider quoi utiliser.

3
FoamyGuy

Kivy est multiplateforme Python Framework pour le développement NUI. Il est bon pour certains prototypes Android app. Vous pouvez utiliser Kivy Launcher pour un test plus rapide. Vous pouvez utiliser la bibliothèque python pour un développement si rapide de la fonctionnalité. Vous pouvez utiliser pyjnius pour accéder aux classes Java pour la fonctionnalité basée sur Java.

Je vous suggère de lire Kivy Interactive Applications in Python book for newbie.

Mais dans une profondeur plus profonde, vous devez savoir utiliser soigneusement le widget de base. Parce qu'un concept déroutant existe. Pour le canevas, c'est un concept différent en html5. La règle de classe et la classe du langage Kivy prêtent à confusion pour les débutants.

Et pour Android, il existe des bibliothèques non basiques difficiles à utiliser comme Beautiful Soup (la célèbre bibliothèque d'analyseurs html et xml).

0
Paul Go