Beiträge von ReeVz

    Vielen Dank. Funktioniert einwandfrei.


    Deutlich übersichtlicher. Auf anhieb den Code verstanden :D


    als nächstes würde ich Input und Output stream includieren.


    Vermute mal das es sich hierbei um senden und empfangen der daten handelt. Prinzipiell brauch ich nur einen outputstream da ich ja nur daten an den pi sende aber keine empfange. Ist das Richtig?


    Kann ich dies dann auch über eine andere Datei bzw. andere activity machen? Mein Connect button ist in meiner MainActivity.java. Die Steuerung erfolgt über eine andere activity.
    Oder wäre es vorerst einfacher beides in einer activity zu behalten?


    Gruß

    C++ allerdings auch erst seit September.


    Danke für deine Code. Dieser Funktioniert aber auch nicht. OnClick = Verbunden. OnClick = Getrennt, OnClick = Log sagt "Connect" er verbindet aber nichtmehr.


    Wie gesagt bin Anfänger darum auch im Thread "Anfängerfragen". Ich hoffe es gibt keine "zu dummen Fragen". Bis hierhin hast du mir ja schon sehr viel geholfen dafür bin ich dir dankbar.

    Du kannst nicht auf dein Socket zugreifen. Da du es lokal in der Klasse Thread erstellt hast.
    ….
    Benutze dafür eine globale Variable so wie dein BluetoothDevice in Zeile 3.

    Erledigt.


    Ich werde mich ausschlieslich nurnoch um den 2.ten Code kümmern da ich hier schritt für schritt verstehen möchte was geschieht.


    Die Verbindung wird getrennt sobald ich erneut auf den Connect Button klicke, ansich nicht falsch allerdings weis ich nicht woher dies geschieht. Die cancel Methode wird nie aufgerufen.


    ich habe folgende Methode in meinen onClickListener eingefügt um zu überprüfen ob verbunden ist (dann soll die Verbindung getrennt werden) oder ob getrennt ist (dann soll die Verbindung aufgebaut werden)


    Hier erstmal mein OnClickListener:


    Und hier die Methode enableDisableconnection():



    Hier habe ich mich nach den Log Meldungen orientiert.


    Beim ersten "klicken" wird die Log Meldung "Connecting" angezeigt.
    Beim zweiten "klicken" wird wieder die Log Meldung "Connecting" angezeigt allerdings wird die Verbindung dadurch unterbrochen. Das Versteh ich nicht eigentlich sollte er ConnectThread.cancel() starten und "Disconnect" in die Log schreiben.



    Ich wollte wissen ob der Thread den du mit einem Tasten Klick startest auch beendet wird.

    Soweit ich das richtig gelesen habe wird nach durchlauf der run() der Thread beendet solange es keine Endlosschleife beinhaltet. Somit muss ich den Thread nicht explizit beenden oder? Korrigier mich bitte wenn ich falsch liege.

    Vielen Dank für die Tipps.


    Habe den Code nun einmal komplett bearbeitet:



    Hiermit habe ich einen Button "Connect" welcher mich mit meinem Pi verbindet und diese auch hält.


    Als nächstes werde ich mich etwas in InputStream und OutputStream einlesen müssen. Da ich momentan noch nicht weis was da genau passiert.
    Ich denke das beantwortet zunächst deine Fragen.

    Danke für die schnelle Antwort.


    Das klingt plausibel. Soweit hatte ich den Code auch verstanden. Kommentiere ich aber Zeile 136 aus ändert es nichts und die Verbindung wird trotzdem getrennt.

    Bbringe bitte Java Skript und Java nicht durcheinander. Android ist Java, das sind zwei paar Schuhe.

    Sorry da hatte ich mich falsch ausgerückt. Ich meinte nicht die Sprache javaskript sondern das Java Skript (Java Code).

    Hallo zusammen,
    anlässlich eines Studium Projektes befasse ich mich neuerdings mit Java.
    Das geplante Projekt ist ein per Android App (Bluetooth) gesteuertes Modellauto mittels Raspberry Pi.


    Das Layout/Design und einige kleine Funktionen der App funktionieren bereits.
    Allerdings hänge ich seit Tagen an der Steuerung bzw. Verbindung des Raspberry Pis.
    Gedacht sei es eine RFCOMM Verbindung herzustellen (Raspberry = Server , Smartphone = Client) um Python Skripte am Pi über das Smartphone zu starten (Lenkung, Gas, Bremse).


    Nun nach etlicher Recherche im Internet bin ich auf ein Java Skript gestoßen welches eine Verbindung mit dem Pi herstellt und eine LED ein und ausschalten soll (mit jeweiligen Buttons)



    Das dazugehörige Python Skript auf dem Pi sieht folgendermaßen aus:



    Nun das ganze funktioniert soweit auch nur bedingt.
    Die Verbindung wird bei jedem einzelnen "Knopfdruck" getrennt und anschließend wartet er auf eine neue Verbindung.
    [Blockierte Grafik: https://1drv.ms/u/s!AtpcnnBEDRKmkxOBARjXY0rVEE2e]
    Meine zunächst erst Frage ist nun:
    Wie muss der Java Code geändert werden um nur eine einmalige RFCOMM Verbindung aufzubauen?
    Ich bitte um Hilfe ich kämpfe hier schon den ganzen Tag ohne eine Lösung.


    Mit freundlichen Grüßen