Frage Gibt es eine Möglichkeit, Python unter Android zu betreiben? [geschlossen]


Wir arbeiten an einem S60 Version und diese Plattform hat eine nette Python-API.

Es gibt jedoch nichts Offizielles über Python auf Android, sondern seit Jython Gibt es eine Möglichkeit, die Schlange und den Roboter zusammenarbeiten zu lassen?


1885
2017-09-19 13:21


Ursprung


Antworten:


Ein Weg ist zu verwenden Kivy:

Open-Source-Python-Bibliothek für die schnelle Entwicklung von Anwendungen   die innovative Benutzeroberflächen wie Multitouch-Apps nutzen.

Kivy läuft auf Linux, Windows, OS X, Android und iOS. Sie können denselben [python] -Code auf allen unterstützten Plattformen ausführen.

Kivy Schaufenster App 


818
2017-11-18 21:49



Da ist auch das Neue Android Scripting-Umgebung (ASE / SL4A) Projekt. Es sieht fantastisch aus und es hat einige Integration mit nativen Android-Komponenten.

Hinweis: nicht mehr unter "aktive Entwicklung", aber einige Gabeln können sein.


302
2018-06-10 05:24



JA!

Ein Beispiel über Matt Cutts via SL4A - "Hier ist ein Barcode-Scanner, der in sechs Zeilen Python-Code geschrieben ist:

import android
droid = android.Android()
code = droid.scanBarcode()
isbn = int(code['result']['SCAN_RESULT'])
url = "http://books.google.com?q=%d" % isbn
droid.startActivity('android.intent.action.VIEW', url)

180
2018-06-10 05:13



Es gibt auch SL4A von Google-Mitarbeitern groß geschrieben.


73
2018-05-26 09:21



"Das Pygame Subset für Android ist ein Port einer Untergruppe von Pygame-Funktionen für die Android-Plattform. Ziel des Projekts ist es, die Entwicklung von Android-spezifischen Spielen zu ermöglichen und die Portierung von Spielen von PC-ähnlichen Plattformen auf Android zu erleichtern. "

Die Beispiele beinhalten ein komplettes Spiel in einer APK, was ziemlich interessant ist.


71
2018-01-28 12:18



Ich habe Anweisungen und einen Patch für das Cross-Compilieren von Python 2.7.2 für Android gepostet. Sie können es in meinem Blog hier bekommen: http://mdqinc.com/blog/2011/09/cross-compiling-python-for-android/

EDIT: Ich habe Open Source IgnifugaMeine 2D Game Engine basiert auf Python / SDL und kompiliert für Android. Selbst wenn Sie es nicht für Spiele verwenden, erhalten Sie möglicherweise nützliche Ideen aus dem Code und dem Builder-Dienstprogramm (namens Schäfer, nach Tim ... Sie wissen wer).


63
2017-10-12 13:49



Scripting-Ebene für Android

SL4A macht was du willst. Sie können es einfach direkt von Ihrer Site auf Ihr Gerät installieren und benötigen keine root.

Es unterstützt eine Reihe von Sprachen. Python ist am ausgereiftesten. Standardmäßig verwendet es Python 2.6, aber es gibt a 3.2 Hafen Sie können stattdessen verwenden. Ich habe diesen Port für alle Arten von Dingen auf einem Galaxy S2 verwendet und es hat gut funktioniert.

API

SL4A bietet einen Port ihrer android Bibliothek für jede unterstützte Sprache. Die Bibliothek bietet eine Schnittstelle zur zugrunde liegenden Android-API über eine einzige Android Objekt.

from android import Android

droid = Android()
droid.ttsSpeak('hello world') # example using the text to speech facade

Jede Sprache hat fast die gleiche API. Sie können sogar die JavaScript-API in Webviews verwenden.

let droid = new Android();
droid.ttsSpeak("hello from js");

Benutzeroberflächen

Für Benutzeroberflächen haben Sie drei Möglichkeiten:

  • Sie können einfach die generischen, nativen Dialoge und Menüs über die API. Dies ist gut für Bestätigungsdialoge und andere grundlegende Benutzereingaben.
  • Sie können auch eine Webansicht innerhalb eines Python-Skripts öffnen und dann HTML5 verwenden für die Benutzerschnittstelle. Wenn Sie Webviews von Python verwenden, können Sie bestehen Nachrichten hin und her, zwischen dem Webview und dem Python-Prozess hat es hervorgebracht. Die Benutzeroberfläche wird nicht nativ sein, aber es ist immer noch eine gute Option haben.
  • Es gibt etwas Unterstützung für native Android-Benutzeroberflächen, aber ich bin nicht Sicher wie gut es funktioniert; Ich habe es noch nie benutzt.

Sie können Optionen mischen, sodass Sie eine Webansicht für die Hauptoberfläche haben und trotzdem native Dialoge verwenden können.

QPython

Es gibt ein Drittanbieter-Projekt namens QPython. Es baut auf SL4A auf und wirft einige andere nützliche Dinge auf.

QPython bietet Ihnen eine schönere Benutzeroberfläche zur Verwaltung Ihrer Installation und enthält einen kleinen Touchscreen-Code-Editor, eine Python-Shell und eine PIP-Shell für die Paketverwaltung. Sie haben auch einen Python 3-Port. Beide Versionen sind kostenlos im Play Store erhältlich. QPython bündelt auch Bibliotheken aus einer Reihe von Python in Android-Projekten, einschließlich Kivy, also ist es nicht nur SL4A.

Beachten Sie, dass QPython immer noch ihre Abzweigung von SL4A entwickelt (allerdings nicht viel um ehrlich zu sein). Das SL4A-Hauptprojekt selbst ist ziemlich tot.

Nützliche Links


57
2018-03-19 15:45



Als ein Python Liebhaber und Android-Programmierer, ich bin traurig zu sagen, das ist nicht wirklich ein guter Weg zu gehen. Es gibt zwei Probleme.

Ein Problem ist, dass es viel mehr als nur eine Programmiersprache für die Android-Entwicklungstools gibt. Viele der Android-Grafiken enthalten XML-Dateien, um die Anzeige ähnlich wie HTML zu konfigurieren. Die integrierten Java-Objekte sind wirklich in dieses XML-Layout integriert, und es ist viel einfacher als das Schreiben Ihres eigenen Codes, um von Logik zu Bitmap zu gehen.

Das andere Problem ist, dass die G1 (und wahrscheinlich andere Android-Geräte für die nahe Zukunft) wirklich nicht so schnell sind. 200 MHz Prozessoren und RAM ist sehr begrenzt. Selbst in Java müssen Sie eine ordentliche Menge an Neu-zu-vermeiden-mehr-Objekt-Erstellung vornehmen, wenn Sie Ihre App perfekt flüssig machen wollen. Python wird auf mobilen Geräten noch eine Weile zu langsam sein.


56
2017-11-01 20:29