Beiträge von nono124

    Hallo
    was hast du beim Router eingestellt eigentlich macht der das automatisch.
    ist die ssid auch sichtbar oder versteckt?
    Versuche im Tablet mal die ssid und WPA Schlüssel selber einzugeben so wie bei einen versteckten Wlan.


    Kann das Tablet auch 5 GHz.


    2,5 GHz
    802.11 b Kanäle 1 / 7 /13
    802.11 g Kanäle 1 / 5 / 9 / 13
    802.11 n Kanäle 3 / 11


    Ps. meistens muss der Router nach änderungen neu gestartet werden damit die Änderungen wirken. Das dauert recht lange gib ihm Zeit.

    So habe mal aus deinen Code eine Klasse Blauzahn erstellt

    Die MainActivity aus dem Beispiel.

    Die Verbindung wird automatisch beim sichtbar werden der Activity hergestellt. Dies wird durch den aufruf der onResume vom Bs automatisch gemacht. Kannst es aber auch auf einen Button legen.
    Der Verbindungs abbau wird auch automatisch in der onPause gemacht. Diese Methode wird auch vom BS selber aufgerufen wenn die Activity beendet oder in den Hintergrund tritt. Wenn du einen Intent zu einer anderen Activity machst wird die alte Activity beendet und somit auch die Verbindung unterbrochen. Die müsstest du dann in der neuen Activity wieder neu aufbauen entweder in den Callback Methoden oder Mannuel z.B. Button.


    https://de.wikibooks.org/wiki/Googles_Android/_Bluetooth
    https://www.frag-duino.de/inde…einem-arduino-und-android


    PS. habe noch eine kleinigkeit im Code geändert .

    Wenn du Zwei Activitys hast in denen verschiedene menus und button sind die daten Senden sollen.
    Deine Komunikation sich in der Blauzahn klasse abspielen soll, must und darf die Blauzahn klasse nicht von Activity erben.
    Erstelle dir in der Bauzahn Kasse eine Methode zum Verbindungs aufbau, benden , zum daten senden.
    Rufe die methoden selber in deine Activity auf . Wie gesagt schaue dir den Lifecycle noch mal an.


    Wenn du programmteile auslagern willst weil du sie in mehreren activitys Bildschirmseiten benutzen willst. Braucht die neue Klasse nicht zu erben und schon gar nicht von Activity.
    Wenn du Variablen in der Klasse beim Instanzsieren setzen willst benutze den Konstuktor.
    Wie schon gesagt eine activity in einer activity geht nicht. Genau das machst du wenn du von deiner Blauzahn klasse eine Instanz erstellst, da deine blauzahn klasse von activity erbt.

    Was überhaupt nicht geht ist in der Klasse Hintergrund (service) eine neue innerere Klasse von Activity zu erstellen. Die muss in eine eigene Datei. Denke du hast das Prinziep vom einen Service noch nicht verstanden, eben so noch nicht was die die Activity Callback Methoden sind schaue dir meinen link dazu noch mal an.
    Denn du hast den gesamten verbindungs aufbau, datensenden ... noch in der Activity. Wenn du das mit einen Service machen willst muss das im service erledigt werden .
    In einem Service kannst du keine innere Klasse erstellen die von activity erbt das ist totaler Nonsens.
    Ebenfals kannst du auch in einer activity nicht eine neue Klasse von activity machen.
    Außerdem ist es so das ein Service sowas wie ein eigenständiger Programm Teil ist. Von diesen kannst du keine Methoden der acktivty und umgekehrt benutzen. Die beiden unterhalten sich über Nachrichten. Da muss der Service schon alle Funktionen zum verbinden selber an Board haben. Da kann ich in deinen Code nichs erkennen.


    Ich denke du läst das erstmal mit dem Sevice und versuchst es ohne. Dein Vorhaben solle
    ohne Service auch gehen.


    Was genau willst du eigentlich machen?
    Erläutere Mal dein Vorhaben denke dein Ansatz ist falsch.

    Zum verständnis was ein service ist hier ein video

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    Hi, zum Thema Verbindungs Auf u. Abbau ich gehe von diesen hier aus.
    http://solderer.tv/data-transf…nd-arduino-via-bluetooth/
    Da wird in der onResume Methode die verbindung aufgebaut. onResume ist eine von Android selbst beim start einer Activity aufgerufenne Methote. onPause genau das selbe nur wird sie beim verlassen der Activity von Android aufgerufen. Zumindestens ist das in dem Beispiel so was du zu grundlage genommen hast. Das hat nichts mit den Button zu tuhen. Schaue dir dazu den Lifecycle einer Activity an. http://www.programmierenlernen…y-und-fragment-lifecycle/



    Ich wolte wissen wo und wie du den Aufbau der verbindung machst. Auch ist es besser das senden und Empfangen in einen eigenen Thread zu machen so wie das listing 2 im Beispiel.



    Das mit dem Srvice schau ich mir noch an.

    Zitat

    wieso soll eine google lösung nicht elegant sein?

    Dies bezieht sich auf das Thema Premisson und nicht allgemein.
    Googgel hätte es auch dem Programmierer einfacher machen können. Android weiss welche Premission im Manifest gesetzt sind wenn diese nun in der App gebraucht werden kann es doch selber um erlaubnis fragen. Bei nein vom User wird eine Exception geworfen. So etwas wäre elegant.

    Hallo, du könntest die Kommunikation mit einem Service der von deiner activity gestartet ,beendet, bedient werden kann realisieren. Im Service lässt du die Verbindung offen bis du ihn beendest.


    Habe mir mal das Beispiel angesehen. Da ist es so das in der onResume die Verbindung aufgebaut und in der onPause geschlossen wird. Wo und wie machst du das?



    "Nun habe ich ein Menü, und dementsprechend auch zwei Klassen geschrieben, durch die ich mittels einem Klick, auf die Menüoberfläche, gelange." Damit meist du bestimmt Activitys oder ?


    könntest auch versuchen die Blauzahn Klasse und Methoden static zu machen, dann ist sie ohne Instanz nutzbar und in der App immer verfügbar.
    Den Verbindungs aufbau und ende solltest du nicht mit Callback Methoden machen sondern manuell. Damit nicht die Verbindung neu aufgebaut wird wenn du von einer Activity zur anderen gehst.

    Hallo erstmal muss ich meinen Vorredner recht geben. Du könntest dir bei der Formatierung und Beschreibung deines Fehlers etwas mehr mühe geben. So das man auch dein Anliegen nach volziehen kann.


    Ich denke der Fehler könnte auch an den Premission liegen denn die haben sich seit API 23 geändert.
    <uses-permission android:name="android.permission.RECEIVE_SMS" />
    gehört seit API 23 zu den dangerous Premission.
    Diese müssen auch in der App vom User bestätigt werden.
    developer.android.com/guide/to…ssion-sdk-23-element.html
    von mySQL Datenbank -> PHP -> App (App stürtz ab)


    "android.intent.action.TIME_SET" benötigt keine Premission

    Hi versuche mich gerade etwas in Kotlin einzuarbeiten. Kann deine Code nicht richtig nachvollziehen. In einener Aynctask Klasse, auch in Kotlin gibt es die Fuktion "doinbackrund" . Poste mal die komplette Klasse mit Aufruf aus der Main Activity. So kann ich nicht nachvollziehen was du da machen willst.


    Was mir schon komisch vorkommt ist das du dein Array als val (Konstante unveränderbar) erstellst.
    val emptyArray = IntArray(iWidth, {_-> -1})

    Na dann ist ja alles Gut.
    Wie schon gesagt solltest du im Listner vom NavDrawer prüfen ob das Fragment oder das Layout schon geladen ist. Damit es nicht ein zweites mal geladen wird wenn der User es mehrfach im Dawer anklickt.


    if (findViewById(R.id....) == null)

    Habe es doch nun schon öffters geschrieben das sich die Premission ab API 23 geändert haben, und es nicht mehr reicht nur die Premission in der Manifest Datei zu setzen.
    https://developer.android.com/…ssion-sdk-23-element.html
    https://www.androidhive.info/2…ow-m-runtime-permissions/


    setze zum test die SDK Version auf 22 "compileSdkVersion 22"