Einzelnen Beitrag anzeigen

laboca

Registriert seit: 10. Apr 2012
Ort: Euskirchen, NRW
4 Beiträge
 
Delphi XE3 Professional
 
#1

JAR File einbinden

  Alt 12. Feb 2023, 01:07
Hallo,

ich hab ein 10" Android 11 Tablet was man an die Wand hängen kann mit einer Beleuchtung im Rahmen.
Zum Tablet gibt es ein Sample in Java wie die Beleuchtung zu steuern ist.
Da auch ein .jar File dabei war hab ich den in eine Bridge Datei übersetzen lassen (Java ist echt nicht meine Welt..)

Jetzt habe ich eine Bridge Datei mit Interface Deklaration.
Die Kommunikation findet wohl über "serialport" statt ("/dev/ttyS8", 9600 Baud).

In meinem Verständnis hätte ich jetzt ein Objekt erzeugt von "JLightController".
Es gibt aber irgendwie kein "Create". Da hapert es schon..
Geschweige denn ein "openDevice()" aufzurufen. Auch da stellt sich mir die Frage was ein "JContext" ist.
Google hat mich leider auch nicht weiter gebracht...

Hat jemand einen Tipp wie es weiter geht?.. oder ein Sample?
Stehe da gerade komplett auf dem Schlauch...

Herzlichen Dank,
Ralf

anbei unit der LightController.pas
insgesamt sind das 14 units mit "Java2Pas 1.6" erzeugt. Plattform Rad Studio 11.2
(kann auch gerne das komplette Java Sample einstellen)

Code:
//
// Generated by JavaToPas v1.6 20230211 - 221813
////////////////////////////////////////////////////////////////////////////////
unit com.ys.serialport.LightController;

interface

uses
  AndroidAPI.JNIBridge,
  Androidapi.JNI.JavaTypes,
  com.ys.serialport.SerialPort,
  Androidapi.JNI.GraphicsContentViewText,
  com.ys.serialport.LightController_Led,
  com.ys.serialport.LightController_LightState;

type
  JLightController = interface;

  JLightControllerClass = interface(JObjectClass)
    ['{9D8AD17E-A9A7-41BF-A663-EE15D0B5997C}']
    function _GetSTATE_HELP : JString; cdecl;                                  //  A: $0019
    function _GetSTATE_VIEW : JString; cdecl;                                  //  A: $0019
    function getInstance : JLightController; cdecl;                            // ()Lcom/ys/serialport/LightController; A: $0009
    function init : JLightController; cdecl;                                   // ()V A: $0001
    procedure close ; cdecl; overload;                                         // ()V A: $0001
    procedure close(leds : JList) ; cdecl; overload;                           // (Ljava/util/List;)V A: $0001
    procedure crazyMode(time : Integer) ; cdecl;                               // (I)V A: $0001
    procedure flashMode(time : Integer) ; cdecl;                               // (I)V A: $0001
    procedure getHelp(lightState : JLightController_LightState) ; cdecl;       // (Lcom/ys/serialport/LightController$LightState;)V A: $0001
    procedure getStatus(lightState : JLightController_LightState) ; cdecl;     // (Lcom/ys/serialport/LightController$LightState;)V A: $0001
    procedure keepMode(led : JLightController_Led; second : Integer; light : Integer) ; cdecl;// (Lcom/ys/serialport/LightController$Led;II)V A: $0001
    procedure liveMode(led : JLightController_Led; second : Integer) ; cdecl;  // (Lcom/ys/serialport/LightController$Led;I)V A: $0001
    procedure openDevice(context : JContext; dev : JString; rate : Integer) ; cdecl;// (Landroid/content/Context;Ljava/lang/String;I)V A: $0001
    procedure resume ; cdecl;                                                  // ()V A: $0001
    procedure resumeStausIfNeed(context : JContext) ; cdecl;                   // (Landroid/content/Context;)V A: $0001
    property STATE_HELP : JString read _GetSTATE_HELP;                         // Ljava/lang/String; A: $0019
    property STATE_VIEW : JString read _GetSTATE_VIEW;                         // Ljava/lang/String; A: $0019
  end;

  [JavaSignature('com/ys/serialport/LightController$LightState')]
  JLightController = interface(JObject)
    ['{5F1E8C0D-1D47-4D25-90C8-A22D83E5D858}']
    procedure close ; cdecl; overload;                                         // ()V A: $0001
    procedure close(leds : JList) ; cdecl; overload;                           // (Ljava/util/List;)V A: $0001
    procedure crazyMode(time : Integer) ; cdecl;                               // (I)V A: $0001
    procedure flashMode(time : Integer) ; cdecl;                               // (I)V A: $0001
    procedure getHelp(lightState : JLightController_LightState) ; cdecl;       // (Lcom/ys/serialport/LightController$LightState;)V A: $0001
    procedure getStatus(lightState : JLightController_LightState) ; cdecl;     // (Lcom/ys/serialport/LightController$LightState;)V A: $0001
    procedure keepMode(led : JLightController_Led; second : Integer; light : Integer) ; cdecl;// (Lcom/ys/serialport/LightController$Led;II)V A: $0001
    procedure liveMode(led : JLightController_Led; second : Integer) ; cdecl;  // (Lcom/ys/serialport/LightController$Led;I)V A: $0001
    procedure openDevice(context : JContext; dev : JString; rate : Integer) ; cdecl;// (Landroid/content/Context;Ljava/lang/String;I)V A: $0001
    procedure resume ; cdecl;                                                  // ()V A: $0001
    procedure resumeStausIfNeed(context : JContext) ; cdecl;                   // (Landroid/content/Context;)V A: $0001
  end;

  TJLightController = class(TJavaGenericImport<JLightControllerClass, JLightController>)
  end;

const
  TJLightControllerTAG = 'LightController';
  TJLightControllerMODE_LIVE_RED = 'LIVE:RED';
  TJLightControllerMODE_LIVE_GREEN = 'LIVE:GREEN';
  TJLightControllerMODE_LIVE_BLUE = 'LIVE:BLUE';
  TJLightControllerMODE_KEEP_RED = 'KEEP:RED';
  TJLightControllerMODE_KEEP_GREEN = 'KEEP:GREEN';
  TJLightControllerMODE_KEEP_BLUE = 'KEEP:BLUE';
  TJLightControllerMODE_FLASH = 'FLASH';
  TJLightControllerMODE_CRAZY = 'CRAZY';
  TJLightControllerMODE_CLOSE = 'CLOSE';
  TJLightControllerMODE_RECOVER = 'RECOVER';
  TJLightControllerSTATE_VIEW = 'VIEW';
  TJLightControllerSTATE_HELP = 'HELP';
  TJLightController_SP = 'light_S';
  TJLightController_COMMAND = '_command';

implementation

end.
  Mit Zitat antworten Zitat