| |||||||
Das Thema "Thread beenden" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.
|
| | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Junior Mitglied Registriert seit: 14.07.2009
Beiträge: 33
Abgegebene Danke: 1
Erhielt 0 Danke für 0 Beiträge
| ich habe jetzt mein erstes eigenes BT Chat Programm Fertiggestellt. Ich weiss für den einen oder anderen sicherlich nicht schwer. Nun wollte ich unbedingt, das beim Halten eines Buttons ein Befehl in einer Schleife immer wieder bis zum loslassen übertragen wird. Dafür habe ich auf den Button ein OnTouchListener gelegt und in dem einen Thread ausgeführt. Der Wert BTTH wird durch den MotionEvent UP geändert sodass dann der Thread aufhört zu arbeiten. Jetzt meine Fragen. Kann oder sollte ich den Thread anders legen bzw. deklarieren. Kann ich den Thread beenden oder wird das von alleine erledigt. Sollte ich gänzlich was an der Programmierung ändern ![]() PHP-Code: |
| | |
| | #2 (permalink) | |
| Android-Hilfe.de Mitglied |
Hi tau31535, Zitat:
Ein TouchEvent wird beim Halten bzw. leichten Bewegen mehrmals ausgelöst. Starten dein Thread dann auch mehrmals? Ist nicht der Sinn oder? OnClickEvent wird NUR beim Loslassen ausgelöst, das könnt dir hilfreich für die "stop"-Bedingung sein. Thread deklaration aus dem onTouch rausziehen. Kürzen: Code: e.printStackTrace(); Log.e(TAG, "ON RESUME: Exception during write."); Code: Log.e(TAG, "ON RESUME: Exception during write.", e); Kurzzeitvariablen in Schleifen meiden. So das sind stichtpunktartig Ideen, die dir helfen könnten. regards | |
| | |
| | #3 (permalink) |
| Junior Mitglied Registriert seit: 14.07.2009
Beiträge: 33
Abgegebene Danke: 1
Erhielt 0 Danke für 0 Beiträge
|
Danke schonmal für deine antwort. Der Thread wird nur einmal gestartet, da ich ich vergleiche auf MotionEvent.ACTION_DOWN bei ziehen werden andere MotionEvent's ausgelöst. Wenn ich natürlich loslasse und wieder Drücke ist die Bedingung ACTION_DWON wieder erfüllt und der Thread wird gestartet. Nur die Frage, wird der Thread selber gestoppt, weil die while Bedingung beendet ist oder wie stoppe ich Thread. bzw. wie implementiere ich das. Habe jetzt folgendes ergänzt PHP-Code: PHP-Code: Wenn ich im Log schaue wird THread beenden auch niedergeschrieben. Drück ich den Button erneut wird die Schleife wieder ausgeführt. Jedoch wird im Log dann Thread name immer + 1 hochgezählt PHP-Code: |
| | |
| | #4 (permalink) |
| Android Experte Registriert seit: 05.02.2010
Beiträge: 609
Abgegebene Danke: 75
Erhielt 136 Danke für 119 Beiträge
|
Die Methode Tread.stop() ist eine Antiquität und sollte NIEMALS benutzt werden. Es ist in Java nicht vorgesehen, Threads von außen anzuhalten. Das mit dem BTTH ist im Prinzip der richtige Weg
__________________ Kein Support via PN/eMail. Bitte das Forum benutzen - dort haben alle etwas davon. Bei Entwicklerfragen zu abstürzenden Apps bitte immer die Ausgabe von LogCat posten. Tipp: Zum "Danke" sagen gibt es einen Button. ![]() Geändert von DieGoldeneMitte (17.11.2011 um 19:57 Uhr) Grund: BTTH war ja im Prinzip schon richtig. |
| | |
![]() |
|
| Themen-Optionen | |
| Ansicht | |
| |
| ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Apps beenden | Wenger | Samsung Galaxy S Plus (I9001) Forum | 1 | 19.09.2011 22:18 |
| [Diskussions-Thread] [FAQ] ICH BIN NEULING -- deswegen lese ich diesen Thread | -FuFu- | Motorola Milestone Forum | 19 | 01.05.2011 14:51 |
| Programm beenden? | TetraVirus | LG P990 Optimus Speed Forum | 20 | 14.04.2011 15:00 |
| Autostarts beenden? | box90 | Android Allgemein | 7 | 22.12.2010 23:03 |