AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

XE5 Android Komponenten

Ein Thema von arnof · begonnen am 8. Okt 2013 · letzter Beitrag vom 18. Nov 2013
Antwort Antwort
Seite 1 von 2  1 2      
arnof

Registriert seit: 25. Apr 2013
1.254 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#1

XE5 Android Komponenten

  Alt 8. Okt 2013, 17:51
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 ?
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#2

AW: XE5 Android Komponenten

  Alt 8. Okt 2013, 18:29
AdMob ist hier beschrieben.

Ein schönes Beispiel für das Einbinden von (eigenen) Java-Klassen ist das hier.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
arnof

Registriert seit: 25. Apr 2013
1.254 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#3

AW: XE5 Android Komponenten

  Alt 8. Okt 2013, 20:38
AdMob ist hier beschrieben.

Ein schönes Beispiel für das Einbinden von (eigenen) Java-Klassen ist das hier.
Schon klar, aber wie binde ich das in XE5 ein ?
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#4

AW: XE5 Android Komponenten

  Alt 8. Okt 2013, 22:27
Das steht Schritt für Schritt erklärt weiter unten auf der Seite (Create a Firemonkey mobile application).
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
arnof

Registriert seit: 25. Apr 2013
1.254 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#5

AW: XE5 Android Komponenten

  Alt 10. Okt 2013, 12:17
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 ?
  Mit Zitat antworten Zitat
Martago

Registriert seit: 17. Okt 2013
3 Beiträge
 
#6

AW: XE5 Android Komponenten

  Alt 17. Okt 2013, 09:34
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
  Mit Zitat antworten Zitat
Martago

Registriert seit: 17. Okt 2013
3 Beiträge
 
#7

AW: XE5 Android Komponenten

  Alt 18. Okt 2013, 08:49
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: https://plus.google.com/117591599539...ts/Tc7viMithGi
// Bereich Kommentar

Gibt es eine Erklärung wie man die Java Signatur von einer JAR Datei bekommt?
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#8

AW: XE5 Android Komponenten

  Alt 18. Okt 2013, 11:19
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
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Martago

Registriert seit: 17. Okt 2013
3 Beiträge
 
#9

AW: XE5 Android Komponenten

  Alt 18. Okt 2013, 12:30
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:
      // *** 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);
act ist bei mir: act:JActivity;
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!
  Mit Zitat antworten Zitat
arnof

Registriert seit: 25. Apr 2013
1.254 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#10

AW: XE5 Android Komponenten

  Alt 29. Okt 2013, 23:05
Das steht Schritt für Schritt erklärt weiter unten auf der Seite (Create a Firemonkey mobile application).
Ich bin zu blöd dazu! ich zahle für eine admob Anbindung gerne ein paar Scheine.

@All: an die Wissenden: Einfach eine pm/pn senden mit einem Angebot

Geändert von arnof (29. Okt 2013 um 23:09 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:32 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