JNI Frage zu Klassen

Status
Nicht offen für weitere Antworten.

Nils_Langner

Mitglied
Hallo zusammen,

ich habe eine C++ Klasse geschrieben, die ein USB Device ansprechen kann. Dabei existieren die drei public Methoden connect(), read(), write(), die eigentlich kaum was machen ausser das C++ ReadFile bzw. WriteFile aufzurufen. Jetzt muss ich das ganze über das JNI in Java rüber bekommen. Habe aber keine Ahnung wie. In den ganzen Beispielen die ich finde sind immer C Funktionen, die einfache Berechnungen ausführen.

Gibt es denn eine Möglichkeit das C++ Objekt in Java so anzusprechen, wie ich das in C++ auch mache? Also:

Code:
usbDevice.write( "hallo usbDevide", Länge );

Wenn ich nur Funktionen aufrufen kann, dann müsste ich ja bei jedem write Befehl wieder die Connection zum USBDevice öffnen und danach wieder schliessen. Ihr seht, dass mein Verständnis von JNI noch ein wenig gering ist, hoffe Ihr könnt mir trotzdem weiterhelfen.

Grüße Nils
 
Hoi,

meine Idee dazu wäre, die C++Methoden ich Java nachzubilden, sprich den Quellcode in C++ verstehen und das gleiche in Java nachbauen. Du kannst Objekte in Java so ansprechen "wie" in C++, indem Du die Klassenmethoden einfach so parametrisierst, wie die C++ Methoden auch sind. Meist steckt hinter Parametern ja ein Sinn, weshalb man diese dann auch in einer anderen Sprache beibehalten kann.

JNI sagt mir grad nichts.

greetz
SLi
 
Nur lassen sich Schnittstellen wie USB mit Java nicht ansprechen, soweit ich weiß. Wenn doch belehre man mich eines besseren. :wink:
 
@Jango Für sowas gibts libs.
@sliwalker JNI = Java Native Interface. Damit kann nativer Code verwendet werden.
 
ok hab alles soweit hinbekommen, habe eine dll, die mir c++ funktionen bereithält. im moment gibt es da nur:

gibMirAlleUSBDevicesZurück
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben