Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Grundsätzliche Fragen zu Android App's Entwicklung (XE5) (https://www.delphipraxis.net/176810-grundsaetzliche-fragen-zu-android-apps-entwicklung-xe5.html)

Rudirabbit 27. Sep 2013 17:27

Grundsätzliche Fragen zu Android App's Entwicklung (XE5)
 
Hallo,
Mein Versuche bisher (am Ende des Threads) : http://www.delphipraxis.net/176561-a...ml#post1229787

Habe nun ein passendes pysikalisches Device mit aktivem USB Debugging am PC angeschlossen, und dieses in XE5 als Zielplattform definiert.
Und siehe da, die Testapp funktioniert.

Ist es ist nun möglich die App einfach auf ein anderes Gerät zu kopieren, oder müsste ich das "andere" Gerät wiederum an den PC hängen damit XE dieses Gerät sieht.
Werden da irgendwelche Lizenzen im Hintergrund ausgetauscht ?

Was ich auch nicht verstehe, meine Zielhardware ist ein HTC Desire S mit Android Version 2.3.5, für diese ältere Version habe ich im SDK Manager nichts installiert.
Nur für 4.0.3 Api15 und 4.2.2 Api17 und trotzdem ist die erzeugte App auf einer Version 2.3.5 lauffähig. warum ??

jaenicke 27. Sep 2013 18:42

AW: Grundsätzliche Fragen zu Android App's Entwicklung (XE5)
 
Das Paket ist auf allen Smartphones lauffähig, das die Mindestvoraussetzungen erfüllt. Wäre sonst ja auch blöd für den Vertrieb. ;-)

Und du kannst auch einfach das Smartphone umstecken. Es funktioniert auch, wenn beide dran hängen zwischen beiden zu wechseln.

mjustin 27. Sep 2013 19:30

AW: Grundsätzliche Fragen zu Android App's Entwicklung (XE5)
 
Zitat:

Zitat von Rudirabbit (Beitrag 1230159)
Ist es ist nun möglich die App einfach auf ein anderes Gerät zu kopieren, oder müsste ich das "andere" Gerät wiederum an den PC hängen damit XE dieses Gerät sieht.
Werden da irgendwelche Lizenzen im Hintergrund ausgetauscht ?

Es muss nur die APK (signiert oder unsigniert) auf das Gerät kopiert werden. Eine Lizenz wird dabei nicht benötigt.

Ein paar Möglichkeiten der Installation sind:
  1. über die IDE via USB
  2. über adb install pfad-zu-apk via USB
  3. über SD Karte und AppInstaller
  4. über eine URL die auf eine APK auf einem Webserver zeigt
  5. über ein Emailattachment
  6. über Google Play, als öffentliche oder geschlossene (Alpha/Beta-Tester) Benutzergruppe

Zitat:

Zitat von Rudirabbit (Beitrag 1230159)
Was ich auch nicht verstehe, meine Zielhardware ist ein HTC Desire S mit Android Version 2.3.5, für diese ältere Version habe ich im SDK Manager nichts installiert.
Nur für 4.0.3 Api15 und 4.2.2 Api17 und trotzdem ist die erzeugte App auf einer Version 2.3.5 lauffähig. warum ??

Wenn die Anwendung keine Funktionen verwendet, die erst ab einem höheren API Level zur Verfügung stehen, ist sie mit 2.3.5 kompatibel. In Eclipse sieht man dann zwar das Device in der Auswahl mit einem Warnsymbol, kann die Anwendung aber dennoch darauf ausführen. Delphi wird es vermutlich ähnlich handhaben.

Interessant zu wissen wäre, ob Delphi Anwendungen unterstützt, die dynamisch je nach vorhandenem API Level zwischen verschiedenen Implementierungsunits umschalten kann. Also für ältere Android Versionen eine eigene Implementierung bereitstellt, und bei höheren Versionen die im Gerät vorhandene nutzt. Sollte eigentlich gehen ...

Rudirabbit 28. Sep 2013 17:36

AW: Grundsätzliche Fragen zu Android App's Entwicklung (XE5)
 
Ok - Danke für die Infos.
Nun kann es losgehen :)
Es sind auch etliche Kompos dabei um auf die Android Hardware zuzugreifen.

Was ich vermisse, ist der AlarmManager.
Diese Class gibt es in Java, ist die in XE5 vergessen worden ?

CHackbart 29. Sep 2013 18:22

AW: Grundsätzliche Fragen zu Android App's Entwicklung (XE5)
 
Keine Ahnung wer den Job gemacht hat, aber ein Lob sollte man schon aussprechen :)
Die Klasse gibt es unter Androidapi.JNI.App.

Christian

Rudirabbit 30. Sep 2013 18:16

AW: Grundsätzliche Fragen zu Android App's Entwicklung (XE5)
 
@CHackbart: Danke dir für den Tip, aber ich fürchte ich brauche noch etwas Unterstützung.

Es fängt schon beim Erzeugen der Instanz an :oops:
Delphi-Quellcode:
 alarm:TJAlarmManager;

...

alarm:=TJAlarmManager.create(o:alarmmanger,p:pointer)
Der Pointer sollte wohl auf die receive Procedure zeigen.
Ich finde nichts darüber,und aus der Wrapper Unit werde ich nicht wirklich schlau. Traurig ich weiß :oops:

Ich fürchte ich habe mich für meine erste App eine etwas zu große Aufgabe gestellt.
Es sollte eine Weckerapp werden, die nach speziellen Bedürfnissen angepasst ist.
Zur Zeit ist das nur ein Kalender der die Arbeitstage markiert.

Rudirabbit 2. Okt 2013 18:51

AW: Grundsätzliche Fragen zu Android App's Entwicklung (XE5)
 
OK - mache meinen Thread fast schon OT, weil dies nicht mehr ein Grundsätzliche Frage ist.

Da mich das Thema aber gewaltig ins Grübeln gebracht hat habe ich die Frage auch hier reingestellt.
http://stackoverflow.com/questions/1...oidapi-jni-app

Da auch dort bisher keine adäquate Antwort kam, ist das wohl auch nicht so einfach zu beantworten. :shock:

Ich habe mich derweil etwas damit befasst wie das in Java abläuft.
http://justcallmebrian.com/2010/04/2...es-on-android/

Es braucht auf jedenfall eine receiver Class, die auch in der Delphi Wrapper Unit gekapselt ist.
Was auch für mich logisch wirkt.

mjustin 3. Okt 2013 09:51

AW: Grundsätzliche Fragen zu Android App's Entwicklung (XE5)
 
Zitat:

Zitat von Rudirabbit (Beitrag 1230370)
Delphi-Quellcode:
 alarm:TJAlarmManager;

...

alarm:=TJAlarmManager.create(o:alarmmanger,p:pointer)
Der Pointer sollte wohl auf die receive Procedure zeigen.

Wenn ich von links nach rechts lese, stolpere ich eigentlich schon ein Stück vor dem Pointer :)

Was ist denn "o:alarmmanger", ist das in XE5 gültiger Delphi-Code, bzw. woher stammt er?

Rudirabbit 3. Okt 2013 16:11

AW: Grundsätzliche Fragen zu Android App's Entwicklung (XE5)
 
Zitat:

Was ist denn "o:alarmmanger", ist das in XE5 gültiger Delphi-Code, bzw. woher stammt er?
Das bietet die Progrmmierhilfe so an.

Also beim create der Klasse
alarm:=TJAlarmManager.create(..

Bin aber schon ein Stück weiter, denn in Delphi XE5 gibt es eine Komponennte TNotificationCenter die das ganze kapselt.
Delphi-Quellcode:
procedure TNotificationsForm.btnSendScheduledNotificationClick(Sender: TObject);
var
  Notification: TNotification;
begin

  { verify if the service is actually supported }
  if NotificationC.Supported then
  begin
    Notification := NotificationC.CreateNotification;
    try
      Notification.Name := 'MyNotification';
      Notification.AlertBody := 'Delphi for Mobile is here!';
       
      { Fired in 10 second }
      Notification.FireDate := Now + EncodeTime(0,0,10,0);

      { Send notification in Notification Center }
      NotificationC.ScheduleNotification(Notification);
    finally
      Notification.DisposeOf;
    end;
  end
end;
Das Funktioniert auch.
Nur für einen Wecker so nicht brauchbar.
Denn ich müsste beim Einstellen der Weckerapp für jeden Wecktag quasi ein NotificationC.ScheduleNotification(Notification); erstellen
Wenn der Wecker aber ohne "Pflege" das ganze Jahr und darüber hinaus funktionieren soll, ist dies keine praktikable Methode.
Alternativ wäre es denkbar beim Onlocalreceive event des TNotificationCenters den nächsten "Weckerdate" zu erstellen.

Man sollte meinen das dieses event beim Erreichen des Firedates angestoßen wird :roll: - Tut es aber nicht,keinen Plan warum.

Außerdem poppt beim Erreichen des Firedates nur kurz eine Message auf, mit einem kurzem Beep.
Sehe bisher keine Möglichkeit dies zu ändern, oder auch eine Melodie abzuspielen.

Auch ein Studieren der FMX.Notification unit brachte mich nicht wirklich weiter.
Die Dokumentation zu dem Thema ist leider sehr spärlich.

Rudirabbit 13. Okt 2013 17:12

AW: Grundsätzliche Fragen zu Android App's Entwicklung (XE5)
 
Hi, wieder mal eine Grundsätzliche Frage:

Eine App die ich direkt in XE5 auf ein HTC Handy (2.3.5) baue läuft einwandfrei.

Wenn ich die apk Datei auf meinem Android Tablett (4.0.4) starte wird der Bildschirm schwarz.
War für 2.3.5 compiliert ist sollte auch auf 4.0.4 laufen - oder nicht ?

MEissing 14. Okt 2013 07:00

AW: Grundsätzliche Fragen zu Android App's Entwicklung (XE5)
 
Wenn der Bildschirm schwarz bleibt (auf einem physikalischem Gerät), so liegt das in den meisten Fällen am fehlenden NEON-Support.

Was sagt
https://play.google.com/store/apps/d...om.ss.syscheck
zum Neon-Support?

Bernhard Geyer 14. Okt 2013 07:51

AW: Grundsätzliche Fragen zu Android App's Entwicklung (XE5)
 
Zitat:

Zitat von MEissing (Beitrag 1231950)
Wenn der Bildschirm schwarz bleibt (auf einem physikalischem Gerät), so liegt das in den meisten Fällen am fehlenden NEON-Support.

Wäre es nicht von vorteil wenn das FMX-Framework das prüft und einfach beim Programmstart dann eine entsprechende Meldung bringt?

Rudirabbit 14. Okt 2013 08:08

AW: Grundsätzliche Fragen zu Android App's Entwicklung (XE5)
 
Zitat:

Was sagt
https://play.google.com/store/apps/d...om.ss.syscheck
zum Neon-Support?
Diese app hatte ich schon auf den Gerät:
dort steht - Neon Support: yes

Auch habe in der AndroidManifest.template.xml dies eingefügt:
Delphi-Quellcode:
  <supports-screens android:anyDensity="true"
        android:largeScreens="true"
        android:smallScreens="true" />
Neu compiliert und gestetet, ohne Änderung

MEissing 14. Okt 2013 09:58

AW: Grundsätzliche Fragen zu Android App's Entwicklung (XE5)
 
Magst du das APK mal posten?

Rudirabbit 14. Okt 2013 10:30

AW: Grundsätzliche Fragen zu Android App's Entwicklung (XE5)
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo,
OK is im Anhang.

Soll mal eine Weckerapp werden die nach unserem Schichtplan weckt.
Wenn ich das mit dem Alarmmanger auf die Reihe bekommen würde :wall:

Zur Zeit ist es nur ein Kalender der die freien Tage anzeigt.

MEissing 14. Okt 2013 11:20

AW: Grundsätzliche Fragen zu Android App's Entwicklung (XE5)
 
Liste der Anhänge anzeigen (Anzahl: 1)
Auch, wenn's wenig hilft: Hier läuft es gut:

jaenicke 14. Okt 2013 13:48

AW: Grundsätzliche Fragen zu Android App's Entwicklung (XE5)
 
Um welches Tablet handelt es sich denn?

Rudirabbit 14. Okt 2013 15:22

AW: Grundsätzliche Fragen zu Android App's Entwicklung (XE5)
 
Danke fürs testen,.
Läuft laut screenshot , nur die Formatierung ist etwas verschoben :-(
Muss noch schauen warum.


Es handelt sich um ein China Tablett Newspad T3.
Für das Gerät habe ich nicht mal einen Windows Treiber gefunden .
Wird deshalb von Delphi auch nicht erkannt.
Aber die App sollte trotzdem laufen.
Gibt es unter Android so eine Art Logfile wie z.b. unter Linux ?

MEissing 14. Okt 2013 16:23

AW: Grundsätzliche Fragen zu Android App's Entwicklung (XE5)
 
USB (Debugging) Treiber müssen installiert sein, damit Delphi (über ADB) überhaupt die Chance hat, das Gerät zu erkennen....

Rudirabbit 14. Okt 2013 17:09

AW: Grundsätzliche Fragen zu Android App's Entwicklung (XE5)
 
Zitat:

Zitat von MEissing (Beitrag 1231988)
USB (Debugging) Treiber müssen installiert sein, damit Delphi (über ADB) überhaupt die Chance hat, das Gerät zu erkennen....

Schon klar, für mein Chinaböller Tablett gibt es leider keine solche Treiber, deshalb hab ich ja mein HTC (Android) Handy dran.

RWarnecke 14. Okt 2013 17:19

AW: Grundsätzliche Fragen zu Android App's Entwicklung (XE5)
 
Zitat:

Zitat von MEissing (Beitrag 1231988)
USB (Debugging) Treiber müssen installiert sein, damit Delphi (über ADB) überhaupt die Chance hat, das Gerät zu erkennen....

Aber doch nur, wenn ich drauf entwickeln will oder ? Ich kann doch aber die APK-Datei nehmen und auf eine anderes Gerät draufpacken (gibt ja noch andere Wege eine APK-Datei auf ein anderes Gerät zu installieren z.B. Testfilght) oder hat hier Emba eine Sperre eingebaut ?

jaenicke 14. Okt 2013 17:30

AW: Grundsätzliche Fragen zu Android App's Entwicklung (XE5)
 
Klar, das geht, aber es ist dann nicht so einfach an Debugmeldungen zu kommen. Ich kenne das nur über die USB-Debugging Schnittstelle, egal ob von Delphi oder anderen Tools aus.

RWarnecke 14. Okt 2013 18:04

AW: Grundsätzliche Fragen zu Android App's Entwicklung (XE5)
 
Zitat:

Zitat von jaenicke (Beitrag 1231992)
Klar, das geht, aber es ist dann nicht so einfach an Debugmeldungen zu kommen.

Das ist mir klar gewesen, dass ich an die Debug-Meldungen nicht komme, wenn ich die APK einfach auf einem anderen Gerät installiere. Aber für solche Sachen, kann ich mir ja eine LOG-Datei machen oder sonst eine Möglichkeit schaffen, um mir eine Fehlermeldung aus zugegeben.

Rudirabbit 14. Okt 2013 18:58

AW: Grundsätzliche Fragen zu Android App's Entwicklung (XE5)
 
Zitat:

Aber für solche Sachen, kann ich mir ja eine LOG-Datei machen oder sonst eine Möglichkeit schaffen, um mir eine Fehlermeldung aus zugegeben.
Ist aber wesentlich umständlicher als Usb Debugging.
Das Debuggen bei Projekten die auf anderen Plattformen laufen sollen ist oft nervig.

schmitzpm 21. Dez 2013 16:51

AW: Grundsätzliche Fragen zu Android App's Entwicklung (XE5)
 
Zitat:

Zitat von MEissing (Beitrag 1231950)
Wenn der Bildschirm schwarz bleibt (auf einem physikalischem Gerät), so liegt das in den meisten Fällen am fehlenden NEON-Support.

Was sagt
https://play.google.com/store/apps/d...om.ss.syscheck
zum Neon-Support?


Hallo Mathias,

ich habe das gleiche Problem. Bei mir taucht dieser NEON-Support gar nicht in der Liste auf.
Ich habe ein ASUS MEMO PAD FHD 10 mit Intel Prozessor. Habe ich da grundsätzlich keine Chance und muss nun in Java programmieren?
Hatte letzte Woche mal das Android-Studio getestet und damit diese Probleme nicht gehabt.

Grüße aus Stuttgart
Peter

MEissing 21. Dez 2013 19:35

AW: Grundsätzliche Fragen zu Android App's Entwicklung (XE5)
 
Intel Prozessoren unter Android werden gar nicht von Delphi unterstützt.

schmitzpm 22. Dez 2013 15:04

AW: Grundsätzliche Fragen zu Android App's Entwicklung (XE5)
 
Zitat:

Zitat von MEissing (Beitrag 1240709)
Intel Prozessoren unter Android werden gar nicht von Delphi unterstützt.

Das sollte aber besser an die Öffentlichkeit getragen werden. Ist irgendwann damit zu rechnen oder war diese doppelte Investition jetzt für die Katz. (Tablet und XE5)��

Bernhard Geyer 22. Dez 2013 15:09

AW: Grundsätzliche Fragen zu Android App's Entwicklung (XE5)
 
Zitat:

Zitat von schmitzpm (Beitrag 1240772)
Das sollte aber besser an die Öffentlichkeit getragen werden.

Ist doch kommuniziert: Unter den Plattformvorausetzungen steht:
RAD Studio unterstützt die Entwicklung von Anwendungen für Android-Geräte mit einem ARMv7-Prozessor mit NEON-Unterstützung.

Zitat:

Zitat von schmitzpm (Beitrag 1240772)
Ist irgendwann damit zu rechnen...

Wenn Intel-Prozessoren nennenswerten Anteil am Android-Bereich haben werden sicherlich. Aber aktuell wird sich Intel auf Android-Support noch hinter Win8-RT-Support anstellen müssen.

MEissing 22. Dez 2013 17:13

AW: Grundsätzliche Fragen zu Android App's Entwicklung (XE5)
 
Siehe auch hier im DocWiki:
http://docwiki.embarcadero.com/RADSt...Android-Geräte

Oder im DataSheet:
http://www.embarcadero.com/images/de...a-sheet_de.pdf

jaenicke 22. Dez 2013 21:26

AW: Grundsätzliche Fragen zu Android App's Entwicklung (XE5)
 
Wobei Geräte wie eben das Memo Pad ja eine ARM Emulation integriert haben. Aber die funktioniert nur mit Apps, die auf der Dalvik VM aufsetzen, sprich nicht mit nativen Apps wie sie XE5 generiert, oder?

schmitzpm 23. Dez 2013 05:50

AW: Grundsätzliche Fragen zu Android App's Entwicklung (XE5)
 
Ok, ich kenne mich nicht so mit Prozessorenaus. Jetzt habe ich aber noch andere Fabrikate gesehen z.B. von Nvidia oder Tegra-3, wie sieht es hiermit aus.

jaenicke 23. Dez 2013 06:02

AW: Grundsätzliche Fragen zu Android App's Entwicklung (XE5)
 
Das steht in den Spezifikationen:
http://de.wikipedia.org/wiki/Nvidia_...ame:_Kal-El.29
Zitat:

Prozessor: Vierkern-ARM Cortex-A9 MPCore mit 1MB L2 Cache und einem Companion-Core mit bis zu 500 MHz zum Stromsparen bei nicht
[...]
NEON-Befehlssatz für die ARM-Architektur
Außerdem gibt es in der Doku eine kleine Liste der unterstützten Geräte:
http://docwiki.embarcadero.com/RADSt...on_Development

mkinzler 23. Dez 2013 06:36

AW: Grundsätzliche Fragen zu Android App's Entwicklung (XE5)
 
Zitat:

Aber die funktioniert nur mit Apps, die auf der Dalvik VM aufsetzen, sprich nicht mit nativen Apps wie sie XE5 generiert, oder?
Dafür wird keine ARM-Emulation benötigt. Diese würde man nur für native Anwendungen benötigen. Wenn es eine solche gibt, kommt es aber darauf an, was für einen ARM-Prozessor emuliert wird, bzw. welche Features emuliert werden ( NEON).

schmitzpm 23. Dez 2013 06:48

AW: Grundsätzliche Fragen zu Android App's Entwicklung (XE5)
 
Zitat:

Zitat von MEissing (Beitrag 1240784)

Wie schon erwähnt bin ich nicht der Spezi für Hardware, aber diese Infos bringen nichts für mich. Hier steht ja auch nicht drin das Intel-Prozessoren nicht unter stützt werden. Irgendwelche Emulationen sind dann völlig bömsche Dörfer für mich.
Ich möchte doch eigentlich nur ein Tablet mit dem alles funktioniert ohne Prozessortechnologie zu studieren.

mkinzler 23. Dez 2013 07:00

AW: Grundsätzliche Fragen zu Android App's Entwicklung (XE5)
 
Zitat:

Hier steht ja auch nicht drin das Intel-Prozessoren nicht unter stützt werden.
Doch
Zitat:

Android-Zielversionen

RAD Studio unterstützt die Entwicklung auf ARMv7-Geräten mit den folgenden Versionen des Android-Betriebssystems:
Zitat:

Ich möchte doch eigentlich nur ein Tablet mit dem alles funktioniert ohne Prozessortechnologie zu studieren.
Du benötigst eines mit ARMv7 Prozessor mit NEON-Unterstützung mit einem der genannten Androidversionen

schmitzpm 23. Dez 2013 07:02

AW: Grundsätzliche Fragen zu Android App's Entwicklung (XE5)
 
Zitat:

Zitat von jaenicke;

Außerdem gibt es in der Doku eine kleine Liste der unterstützten Geräte:
[URL="http://docwiki.embarcadero.com/RADStudio/XE5/en/Android_Devices_Supported_for_Application_Developm ent"
http://docwiki.embarcadero.com/RADStudio/XE5/en/Android_Devices_Supported_for_Application_Developm ent[/URL]

Werden demnach Geräte von Toshiba mit NVIDIA nicht unterstützt oder ist die Liste so unvollständig.
Mir kommt gerade der Gedanke auf ,das nich Delphi wohl auf sehr vielen Geräten nicht läuft. Sorry, aber ich blick da echt nicht durch.

mkinzler 23. Dez 2013 07:09

AW: Grundsätzliche Fragen zu Android App's Entwicklung (XE5)
 
Die Liste ist bei weitem nicht vollständig. NVIDIA Tegra3+4 wird unterstützt, Tegra 2 nicht. Das NEXUS 7 hat z.B. auch einen Tegra 3 und wird unterstützt
Zitat:

Nexus 7 4.2.2 16/16 100

schmitzpm 23. Dez 2013 07:58

AW: Grundsätzliche Fragen zu Android App's Entwicklung (XE5)
 
Ok mit der Aussagen kann ich doch was anfangen.
Super, danke
Frohes Fest


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:34 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz