PyR - Python unter Android, my way

17/08/2013 - 23:27 von Wolfgang Strobl | Report spam
Ich werkele schon seit geraumer Zeit in meiner Freizeit an einer kleinen
Android-App, die mir kleinere Python-Scripte unter Android in einer
Weise zugànglich macht, die mir für meine Zwecke praktisch erscheint.
Jetzt habe ich mich endlich mal hingesetzt, das Ding einigermaßen
fertiggestellt und es bei Google play abgelegt.

Die App ist
<https://play.google.com/store/apps/...chner>, die
Dokumentation hier
<http://www.mystrobl.de/ws/pyrdoc/html/>
Aktueller Versionsstand 0.19

Da das noch "work in progress" ist, bin ich sehr an Meinungen,
Kommentaren und Anregungen interessiert.

Vorangegangen waren einige Versuche mit SL4A, die aber insofern
unbefriedigend waren, als der zu treibende Aufwand in keinem Verhàltnis
zum Nutzen steht.

Meine App ist i.W. nicht mehr als ein schnöder, als Kachel-System
gestalteter und für Touchscreens optimierter Script-Starter, allerdings
mit ein paar Schnörkeln.

Technisch gesehen basiert PyR auf Pygame und làuft, wenn das installiert
ist, unveràndert unter Linux, Windows und - mittels der auf PGS4A
(Pygame Subset for Android) aufbauenden PyR-App - auch mit Android. Der
Pfiff dabei ist, daß man kleine Mini-Scripte (hier Mini-App genannt) mit
der - noch nicht veröffentlichten - Desktopversion auf dem Desktop
testen und dann aufs Tablet oder Smartphone schieben kann.

Interessant ist die Geschichte natürlich nur für diejenigen, die in
Python programmieren können und wollen. Wer eine Android-App nach der
anderen in Java herunterklopft, wird es genau so wenig brauchen wie
jemand, der gar nicht programmieren will.

Was nötig ist, vermittelt am einfachsten ein Blick in
<http://www.mystrobl.de/ws/pyrdoc/ht...r.html>
Die klassische "Hallo Welt"-App sieht etwa so aus, wenn man die
Kommentare rausstreicht:

# -*- coding: utf-8 -*-
from container import *
def main():
hallo=Box(u"Hallo")
display.add(hallo)
def action(self):
self.settext("Hey!")
hallo.setaction(action)

Rechte / Permissions

Bezüglich der Rechte kàme die App grundsàtzlich ganz ohne aus, hàtte
dann aber das Problem, woher die Mini-Apps nehmen? Die mitgelieferte
Handvoll dient der Demonstration einiger Möglichkeiten und hat ansonsten
keinen großen Nutzen. Von einem In-App-Editor habe ich abgesehen, ich
finde das selbst auf einem großen Tablet mit separater Tastatur
unpraktisch. Für das Programmieren und Schreiben von Texten bevorzuge
ich immer noch den Desktop.

Das jetzige, vergleichsweise sichere Verfahren besteht darin, Mini-Apps
nur in der App selber zu halten (d.h. /data/data/...), mit der Option,
neue oder geànderte Apps und andere Daten (Fonts und Images, z.B.) aus
einem Importverzeichnis der SD-Card aus der App heraus zu importieren,
unter der Kontrolle des Benutzers. Dies verhindert, daß dem Benutzer
bzw. der App ausführbarer Code untergeschoben werden kann.

Die angeforderte Permission INTERNET ist nicht erforderlich, muß aber
angefordert werden, wenn irgend eine der Mini-Apps jetzt oder in Zukunft
TCP-Verbindungen nutzen möchte. Wie ich hier weiter verfahre, habe ich
noch nicht entschieden. Im Moment wird sie angefordert.

Abschließend: für mich ist der skiziierte Programmrahmen i.W. fertig.
die PyR-App làßt sich bequem über Google play auf jedem Geràt in
Reichweite installieren, den paar bisherigen Nutzern reicht die
Dokumentation, so wie sie ist, Mini-Apps lassen sich bequem via
Myphoneexplorer editieren, notfalls auch via MTP.

Ich werde mich also erst mal darauf konzentrieren, Mini-Apps zu
schreiben für Hilfsmittel, die ich immer schon vermisst habe und daneben
mal schauen, ob bzw. wie sich SymPy mit diesen Mitteln zu einem
Android-Taschenrechner aufpusten làßt.

Die größte Lücke ist kurioserweise übrigens das völlige Fehlen einer in
pure Python geschriebenen Chart-Library. Da gibt es nichts, was nicht
direkt oder indirekt Numpy nach sich zieht oder irgend eine andere
Extension, die erst portiert werden müsste. Ich habe aber weder Lust,
für diesen Spezialfall ein Matplotlib lite zu schreiben, noch für jede
adhoc-Auswertung von ein paar Daten und deren grafischer Darstellung
beim Punkt Null und Polygonzügen auf einer nackten Hintergrundbitmap
anzufangen. Unbefriedigend.

Die integrierten Miniapps und Desktop-Versionen werden noch
nachgereicht. Für erste Experimente dürfte es reichen, eine der beiden
vollstàndig in der Doku enthaltenen Mini-Apps mit cut&paste in eine
Datei m_123meins.py in einem Verzeichnis /pyr auf der ersten SD-Card zu
verfrachten. Die findet PyR dann und fragt, ob sie "freigeschaltet",
d.h. importiert werden soll, siehe oben. Danach taucht sie dann als
Kachel "123meins" auf.

Thank you for observing all safety precautions
 

Lesen sie die antworten

#1 Peter Geher
18/08/2013 - 09:33 | Warnen spam
Am 17.08.2013 23:27, schrieb Wolfgang Strobl:> Ich werkele schon seit
geraumer Zeit in meiner Freizeit an einer kleinen
Android-App, die mir kleinere Python-Scripte unter Android in einer
Weise zugànglich macht, die mir für meine Zwecke praktisch erscheint.
Jetzt habe ich mich endlich mal hingesetzt, das Ding einigermaßen
fertiggestellt und es bei Google play abgelegt.


Klingt für mich Interessant und nutzbar. Aber leider:

Die App ist
<https://play.google.com/store/apps/...chner>, die


Schade.

Dokumentation hier
<http://www.mystrobl.de/ws/pyrdoc/html/>
Aktueller Versionsstand 0.19


Auch schade, zitat webseite:
PyR kann über Google play installiert werden.

Warum bietet keiner die Apks zum direkten Download an? Ich habe mein Tab
relativ Google-Frei, also auch keinen Playstore. Verbietet google das?


Gruß,
der Peter

Ähnliche fragen