Hallo zusammen, ich habe muss .jar-Datei in meine App einbinden. Zunächst habe ich dieses Bridge-File erzeugt und die .jar als Bibliothek eingebunden, wie hier beschrieben:
http://docwiki.embarcadero.com/RADSt...o_Android_Apps
So weit, so gut.
Jetzt geht es darum die Klassen zu verwenden. Ich will zunächst mal die function isNfcEnabled aufrufen. Die entsprechende Klasse ist in der Bridge-Datei so definiert:
Delphi-Quellcode:
JCardlinkClass = interface(JICardlinkCallbackClass)
['{62BD9E24-88F0-4FD3-BD57-65479E39241E}']
{class} function _GetINSTANCE: JCardlink; cdecl;
{class} function getDebug: Boolean; cdecl;
{class} function getLogLevel: JLogLevel; cdecl;
{class} function getSmsHack: Boolean; cdecl;
{class} function getState: JCardlinkState; cdecl;
{class} procedure initialize(string_: JString; iCardlinkCallback: JICardlinkCallback; string_1: JString; string_2: JString); cdecl;
{class} function isNfcEnabled(context: JContext): Boolean; cdecl;
{class} function isNfcHardwareAvailable(context: JContext): Boolean; cdecl;
{class} procedure requestSmsToken(string_: JString; string_1: JString; string_2: JString; string_3: JString); cdecl;
{class} procedure setDebug(b: Boolean); cdecl;
{class} procedure setLogLevel(logLevel: JLogLevel); cdecl;
{class} procedure setSmsHack(b: Boolean); cdecl;
{class} procedure shutdown; cdecl;
{class} procedure startScan(string_: JString; activity: JActivity); cdecl;
{class} procedure verifySmsToken(string_: JString); cdecl;
{class} property INSTANCE: JCardlink read _GetINSTANCE;
end;
[JavaSignature('de/...../Cardlink')]
JCardlink = interface(JICardlinkCallback)
['{46B08D27-AA20-4A0D-971E-7405E46E0787}']
procedure onError(cardlinkError: JCardlinkError; string_: JString; cardlinkAction: JCardlinkAction); cdecl;
procedure onPrescriptionBundles(list: JList); cdecl;
procedure onPrescriptionTokens(string_: JString); cdecl;
procedure onProgressUpdate(i: Integer); cdecl;
procedure onStateChanged(cardlinkState: JCardlinkState); cdecl;
end;
TJCardlink = class(TJavaGenericImport<JCardlinkClass, JCardlink>) end;
Ich denke, ich muss jetzt eine Instanz von JCardlink erzeugen mit
Delphi-Quellcode:
var CardLink: JCardlink;
CardLink:=TJCardlink.JavaClass.INSTANCE;
Aber wie komme ich von da an die function isNfcEnabled? Die steckt doch in dem interface JCardlinkClass