![]() |
XE5 Android Komponenten
Hi,
leider fehlt mir einige Komponenten / Anleitungen Android: z.B. Anbindung von admob, in App kauf, SMS, Barcode bzw. einbinden fremder Klassen. Habt Ihr da schon mal was gefunden ? |
AW: XE5 Android Komponenten
|
AW: XE5 Android Komponenten
|
AW: XE5 Android Komponenten
Das steht Schritt für Schritt erklärt weiter unten auf der Seite (Create a Firemonkey mobile application).
|
AW: XE5 Android Komponenten
so nach einigen hin und her klappt die Einbindung nun.
Die Preisfrage ist nun, wie kriegt man die Darstellung hin ? java braucht die Activity, wo bekomme ich die her ? |
AW: XE5 Android Komponenten
Hallo,
ich habe das Problem, dass ich eine Android Klasse einbinden kann, allerdings wenn diese Klasse eine Libary einbindet, dann habe ich das Problem, dass Delphi diese Libary nicht findet. Frage: Wie binde ich in Delphi richtig eine .jar Libary ein und muss dazu noch Quelltext geschrieben werden, wenn ja wie? Gibt es dafür eine Dokumentation? MfG Martago |
AW: XE5 Android Komponenten
Hallo,
ich habe bisher folgendes festgestellt ... Die JAR Dateien haben keine classes.dex Datei, dadurch kann diese nicht auf dem selben Weg wie die APK eingebunden werden. Ich habe ein Beispiel gefunden wie dies eingebunden werden kann, allerdings verstehe ich diese nicht wirklich ... Re my approach. Here's my Java class: public class Foo { public int Bar(final Activity activity) { activity.runOnUiThread(new Runnable() { @Override public void run() { Toast.makeText(activity.getApplicationContext(), "Hello world from a Java .jar library", Toast.LENGTH_SHORT).show(); } }); return 57; } } Here's my Delphi import unit: unit FooU; interface uses Androidapi.JNIBridge, Androidapi.JarBridge, Androidapi.JNI.JavaTypes, Androidapi.JNI.App; type JFoo = interface; JFooClass = interface(JObjectClass) ['{D867F94E-8E45-4F10-8045-ADB4951608FA}'] end; [JavaJarSignature('com.blong.test.Foo', 'foo_dex.jar')] JFoo = interface(JObject) ['{510A0F39-4CFC-4F03-A450-06E26503ECFA}'] {Methods} function Bar(Activity: JActivity): Integer; cdecl; end; TJFoo = class(TJarGenericImport<JFooClass, JFoo>) end; implementation end. Quelle: ![]() // Bereich Kommentar Gibt es eine Erklärung wie man die Java Signatur von einer JAR Datei bekommt? |
AW: XE5 Android Komponenten
Du musst aus dem .jar file zuerst ein apk erstellen. Danach geht's normal weiter. Beispiel:
Code:
REM C:\Program Files (x86)\Android\android-sdk\build-tools\18.0.1>
dx --dex --output=c:\temp\annotations.apk ..\..\tools\proguard\examples\annotations\lib\annotations.jar dx --dex --output=c:\temp\annotations.dex c:\temp\annotations.apk dexdump c:\temp\annotations.dex |
AW: XE5 Android Komponenten
Super!
Vielen Dank schon mal dafür! Ich habe allerdings das selbe Problem wie der arnof, dass ich Probleme habe mit der Activity nach Android zu bekommen. In Android habe ich eine Methode setActivity(Activity activity) zudem habe ich dort ein Attribute: private Activity activity welches ich befülle. Dies klappt alles, allerdings wenn ich dannn z.B. eine Toastmeldung ausgebe, bekomme ich keine Ausgabe auf meinen Bildschirm Bsp: Toast.makeText(this.activity, "Hello World!", Toast.LENGTH_LONG).show(); Und wenn ich z.B.: PackageManager pm = activity.getPackageManager(); verwende, hängt sich die Anwendung auf. Ich übergebe die Activity in Delphi so:
Code:
act ist bei mir: act:JActivity;
// *** Schritt 1: Activity setzen ***
// Methode vorbereiten mit DEX ID SetMethodActivity := TJNIResolver.GetJavaMethodID((jTempClass as ILocalObject) .GetObjectID, 'setActivity', '(Landroid/app/Activity;)V'); if not assigned(SetMethodActivity) then begin Memo1.Lines.Add('Fehler bei Activity'); Exit; end; // Methode aufrufen mit dem Parameter banner_id JavaEnv^.CallVoidMethodA(JavaEnv, JavaObjectID, SetMethodActivity, @act); Wenn ich in der Deklaration suche, finde ich leider auch diesen Eintrag nicht: Datei: Androidapi.JNI.App Beudeutet dies, ich muss die Methode dort einbauen? Wenn ja, gibt es dafür für Anfänger ein Tutorial oder könntest du es mir kurz erklären? Da ich mich leider nur mit Java auskenne... Vielen Dank schon mal! |
AW: XE5 Android Komponenten
Zitat:
@All: an die Wissenden: Einfach eine pm/pn senden mit einem Angebot |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:06 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz