ASE Python?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
kornyclown

Kennt sich hier jemand mit dem Android scripting Enviroment (ASE) aus?

Code: Alles auswählen

import android
droid = android.Android()

droid.dialogCreateSeekBar(50, 100, Title, Message)

droid.dialogShow()
Diese Funbktion hab ich mir mal aus der API rausgesucht "dialogCreateSeekBar(int, int, string, string)". Sie erzeugt ein Fenster mit einem waagerechten Schieberegler der in meinem Beispiel einen Maximalwert von 100 und einen Startwert von 50 hat.
Jetzt hätte ich gerne das in dem Fenster mehrere Schieberegler sind und das ich den aktuellen Wert jedes Schiebereglers ausgegeben bekomme.

Als bildliche Beschreibung von oben nach unten:

Fenster mit Titel

Name Schieberegler 1
Schieberegler 1
Wert Schieberegler 1


Name Schieberegler 2
Schieberegler 2
Wert Schieberegler 2

etc.
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Ich könnte sagen, wie das direkt unter Android (mit Java und so) funktioniert. Die UiFacade des ASE scheint nicht mehr als (modale) Dialoge zu können. Ich habe auf die Schnelle keinen Weg gefunden, ob und wie man einer Activity eine View-Resource zuweisen kann oder ein UI direkt aus Views zusammenbauen kann. Genau das wäre, was du suchst.

Nimm lieber Java und das Android SDK :)

Stefan
kornyclown

Wie sehr unterscheidet sich denn Java-Syntax von Python und wie lange brauche ich um das umzumodeln weil bis her bin ich nur mit Python wirklich beschäftigt und kenne Java mehr so vom Hören/Sagen.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

kornyclown hat geschrieben:Wie sehr unterscheidet sich denn Java-Syntax von Python und wie lange brauche ich um das umzumodeln weil bis her bin ich nur mit Python wirklich beschäftigt und kenne Java mehr so vom Hören/Sagen.
Die Syntax unterscheidet sich schon - das Hauptproblem sind jedoch eher die unterschiedlichen Idiome und Paradigmen. Java ist z.B. statisch typisiert, erlaubt keine funktionale Programmierung usw.

Allerdings haben beide Sprachen auch viel gemein: Beide erlauben objektorientierte Programmierung und sind stark typisiert.

Es kommt hier wohl auf Deine weiteren Ziele an. Nur für ein kleines Projekt lohnt sich der Wechseln wohl eher nich; aber wenn Du weiterhin auf Android fixiert bist, dann hat sma mit seiner Empfehlung sicher recht.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
kornyclown

Ja, die Idee is einfach die, das ich einige Ideen habe für kleine hilfreiche Apps die ich gerne für mein Android Handy schreiben würde.
Ich dachte mir halt, da ich mich eh schon mit Python beschäftige kann ich ja mal was sinnvolles damit anstellen aber wie mir jetzt bewusst wird gibt es keine volleingebundene API für Python auf Android.

Ist es denn dann mit Java auch möglich das Skript als .apk zu kompilieren?
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Java ist die "native" Programmiersprache von Android, damit ist es natürlich möglich, mit Java ein APK zu erzeugen. Das offizielle API für Android ist eine Java-Bibliothek. die "Facaden", die da ASE anbietet, sind nur Wrapper für das offizielle API. Letztlich muss man dieses kennen, so befürchte ich, und dann muss man auch wenigstens so viel Java kennen, dass man die API-Beschreibung versteht. Und dann kann man auch gleich Java machen.

Schwerer als Python ist die Sprache sicherlich, insbesondere muss man sich mit einer vergleichsweise schwergewichtigen IDE (Integrierte Entwicklungsumgebung) auseinander setzen. Die offizielle ist von Eclipse, ich finde Jetbrains IntelliJ IDEA (http://www.jetbrains.com/idea/) aber besser. Was für einen Anfänger weniger schwergewichtig ist, kann ich schwer beurteilen, würde aber denken, dass IntelliJ weniger furchterregend ist. Dafür hat man im Gegensatz zu Eclipse und dem Android-Plugin keine Editoren für die ganzen XML-Dokumente, sondern muss sie als XML schreiben.

Theoretisch könnte man auch Android-Anwendungen in Scala schreiben. Die Sprache sieht ein bisschen mehr wie Python aus, ist aber IMHO nochmals schwerer als Java, wenn man denn ihr Typsystem wirklich verstehen will. Theoretisch geht auch JRuby. Das hätte glaube ich noch die größte Community, was die dynamischen Sprachen angeht. Mit Mirah (http://www.mirah.org/) kann man sogar die selbe Geschwindigkeit wie mit Java erreichen, aber die Leute, die diese Sprache einsetzen, kann man wahrscheinlich an einer Hand abzählen... faszinierend, doch letztlich sind für Java die Pfade am ausgetretenen.

Eigentlich müsste man auch Jython unter Android benutzen können -- oder mein leider unfertiges Smython (https://github.com/sma/smython3). Da das keine Bytecode-Manipulationen benutzt sondern ein klassischer (leider langsamer) AST-Interpreter ist, würde das problemlos laufen. Muss ich mal bei Gelegenheit ausprobieren ;)

Vielleicht ist ja auch der App Inventor (http://www.appinventorbeta.com/about/) noch eine Alternative.

Stefan
kornyclown

Oh man, danke erstmal. Das is ja ein ganz schönes Brett.
Ich glaube das überlege ich mir nochmal.

Diesen Appinventor habe ich mir mal angesehen und der sieht für meine "stümperhaften" Zwecke echt super geeignet aus aber für die Installation muss du ja in Harvard studiert haben....und weiß Gott, ich sitze nich das erste mal vor dem PC und versuche was zu installieren.
Ob ich jetzt nebenbei noch die Zeit habe mir Java einzuhämmern is fraglich. Ich denke ich muss da mit der Zeit erstmal reinwachsen.
kornyclown

Also ich hätte da mal noch ne Frage.
Ich hab mir jetzt intelliJ IDEA runtergeladen und wenn ich versuche ein neues Projekt anzulegen werde ich nach dem "Home Directory of JSDK" gefragt und habe keine Ahnung was ich da jetzt machen soll.

Hier http://wiki.jetbrains.net/intellij/Deve ... elliJ_IDEA is das zwar beschrieben aber es heißt halt einfach ich soll den Pfad angeben, wo es liegt. Woher soll ich das wissen? Hab ich das überhaupt denn so wie ich Google verstanden hab, muss ich mir das Kit seperat downloaden. Wo und vor allem welches? Es gibt da JSDK, JDK, JDK 5, JDK 6, etc.

:shock: :?: :shock:
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

kornyclown hat geschrieben:Also ich hätte da mal noch ne Frage.
Ich hab mir jetzt intelliJ IDEA runtergeladen und wenn ich versuche ein neues Projekt anzulegen werde ich nach dem "Home Directory of JSDK" gefragt und habe keine Ahnung was ich da jetzt machen soll.

Hier http://wiki.jetbrains.net/intellij/Deve ... elliJ_IDEA is das zwar beschrieben aber es heißt halt einfach ich soll den Pfad angeben, wo es liegt. Woher soll ich das wissen? Hab ich das überhaupt denn so wie ich Google verstanden hab, muss ich mir das Kit seperat downloaden. Wo und vor allem welches? Es gibt da JSDK, JDK, JDK 5, JDK 6, etc.

:shock: :?: :shock:
Unter OS/X bist auf auf das vorinstallierte bzw. sich unter Lion automatisch nachinstallierende Java aka JDK 6 angewiesen. Unter Windows und Linux kannst du das aktuelle JDK 7 benutzen -- oder auch JDK 6. Die älteren kannst du getrost ignorieren. Wahrscheinlich würde ich JDK 6 nehmen, da ich nicht weiß, ob das Android SDK schon für Java 7 geht. JSDK ist nur ein andere Name für JDK. Du musst damit zuerst das JDK 6 installieren, dann sollte IDEA das eigentlich von selbst finden. Du musst außerdem noch das Android SDK installieren, dort das "android"-Programm aufrufen und mit dessen Hilfe dann eine oder mehrere konkrete Android-Versionen installieren. Am besten die Version, die auch dein Handy hat, in der Regel 2.2 oder 2.3. Versuche nicht 3.1 oder 3.2, das ist für Tablets. Wenn du das gemacht hast, kannst du IDEA dann zeigen, wo es das Android SDK findet. Auf dem Mac findet die IDE das nämlich nicht selbst. Tja, und dann kannst du auch schon fast loslegen mit der Programmierung... den Wiki-Beitrag mit einem Tutorial hattest du ja schon gefunden.

Stefan
kornyclown

Cool, vielen dank ich habe das Gefühl ich bin einen Schritt weiter aber es gibt noch ein Problem:
Wenn ich versuche die entsprechende (völlig egal welche) Androidversion zu installieren kommt ein Fenster und sagt "Done. Nothing was installed. Failed to create directory C:\Program Files (x86)\Android\android-sdk\temp"

Ich hab zuerst das JDK 6 installiert dann das Android SDK und dann halt IDEA und beim einrichten hat er das JDK ohne Probleme geschluckt aber wenn ich das Android SDK zuweisen will sagt PC "Please select Java SDK", Ich: "OK", PC: "Cannot find any Android targets in this SDK."

?
Antworten