Hallo Leute,
ich bin gerade dabei meine ersten "richtige" App zu schreiben.
Als Anfänger habe ich mit Hilfe von vielen Beispielen etc. meine App zusammengebastelt dass sie läuft.
Auch die Kommunikation mit Bluetooth habe ich schon hinbekommen, aber bin mir hier nicht sicher ob das alles so richtig ist.
Zudem habe ich nun versucht auf Orientierungswechsel des Tablets zu reagieren Aber da stürtzt meine App ab wenn ich den
Empfang der Daten neu starten möchte.
Die Frag ist jetzt wie binde ich das gane "Bluetooth-Zeugs" richtig in die App ein.
Vor allem wenn ich eine andere Activity (Einstellungsfenster) starte oder
wenn ich den Bidschirm drehe und meine MainActivity zerstört und wieder gestartet wird.
Aber vielleicht mal von vorn, was macht die App:
Die App soll sich sich mit einem Microkontroller über Bluetooth verbinden, und Daten (Strings) an diese sendet und empfängt.
Im OnCreate prüfe ich ob Bluetooth überhaupt vorhanden, wenn ja dann kommt die Prüfung ob Bluetooth an ist.
Wenn nicht wird dies gestartet. (Intent turnBTon = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);)
Wenn Bluetooth erst aktiviert werden muss kommt ja eine Abfrage die dann ein "Callback" aufruft.
Wenn Bluetooth aktiviert ist, wird die Verbindung aufgebaut
Hierzu startet im Hintergrund ein AsyncTask der die Bluetoothverbindung herstellt (die Geräte sind schon gekoppelt, es muss also nur verbunden werden)
Bei erfolgreicher Verbindung, wird ein Listener (Thread?) gestartet, welcher dann die Daten empfängt.
Das senden von Strings ist auch kein Problem.
Aber was mache ich nun wenn ich eine andere Activity (Eigenschaften) aufrufe, oder
wenn ich das Tablet drehe und meine Main-Activity zerstört und wieder neu geladen wird.
Muss ich dann die Bluetoothverbindung, den Socket und den Stream etc. schließen und später wieder aufbauen?