snowman2
Fortgeschrittenes Mitglied
- 19
Befor ich meine Fragen stelle ersteinmal um was es mir geht.
Ich portiere gerade einen Teil eines C++ Programms nach Java/Android. Dabei geht es um Kommunikation auf dem PC per USB/RS232 und auf Android per Bluetooth.
In C++ habe ich eine struct, in die ich die empfangenen Datenbytes nacheinander und per Pointer schreibe. Wenn ich alle Daten empfangen habe gebe ich einen Pointer vom Typ dieser struct weiter. Ich kann nun direkt auf die einzelnen Felder der struct mit ihren Bezeichner zugreifen.
Das geht in Java ja so nicht. Deswegen ist meine Theorie so: Die struct ersetze ich durch eine Klasse in der sich ein Byte-Datenarray befindet. Nachdem ich alle Daten emfangen habe übergebe ich dieser Klasse das Datenarray mit den emfangenen Daten. Um auf die Daten der Klasse zuzugreifen würde ich der Klasse Seter- und Geter-Methoden hinzufügen, die ihre daten aus dem Byte-Datenarray holen.
Ist dies so sinnvoll? Wenn jemand eine Code-Beispiel oder ein Tutorial dazu hat immer her damit.
Wenn das so ok ist dann meine 2. Frage. Im Datenempfangsthread erzeuge ich für mein Datenpacket ein neues Datenarray, welches ich an meine Activity schicke. Dieses Datenarray wird dann in meiner ober erwähnten Klasse gespeichert. Bei der Übergabe des Datenarrays wird nur die Referenz auf mein Datenarray übergeben. Wenn ich allso folgendes mache
Wird nur die Referenz übernommen. Was passiert mit dem Speicherbereich des alten Inhalt von Klasse.Datenarray? Muss ich den Speicherbereich wieder freigeben? Nicht das es dadurch zu Memoryleaks kommt weil die nicht mehr benötigten allten Daten immernoch im Speicher rumlungern.
Ich hoffe, ihr versteht was ich meine.
Ich portiere gerade einen Teil eines C++ Programms nach Java/Android. Dabei geht es um Kommunikation auf dem PC per USB/RS232 und auf Android per Bluetooth.
In C++ habe ich eine struct, in die ich die empfangenen Datenbytes nacheinander und per Pointer schreibe. Wenn ich alle Daten empfangen habe gebe ich einen Pointer vom Typ dieser struct weiter. Ich kann nun direkt auf die einzelnen Felder der struct mit ihren Bezeichner zugreifen.
Das geht in Java ja so nicht. Deswegen ist meine Theorie so: Die struct ersetze ich durch eine Klasse in der sich ein Byte-Datenarray befindet. Nachdem ich alle Daten emfangen habe übergebe ich dieser Klasse das Datenarray mit den emfangenen Daten. Um auf die Daten der Klasse zuzugreifen würde ich der Klasse Seter- und Geter-Methoden hinzufügen, die ihre daten aus dem Byte-Datenarray holen.
Ist dies so sinnvoll? Wenn jemand eine Code-Beispiel oder ein Tutorial dazu hat immer her damit.
Wenn das so ok ist dann meine 2. Frage. Im Datenempfangsthread erzeuge ich für mein Datenpacket ein neues Datenarray, welches ich an meine Activity schicke. Dieses Datenarray wird dann in meiner ober erwähnten Klasse gespeichert. Bei der Übergabe des Datenarrays wird nur die Referenz auf mein Datenarray übergeben. Wenn ich allso folgendes mache
Code:
Klasse.Datenarray = EmpfangsDatenarray
Ich hoffe, ihr versteht was ich meine.