| |||||||
Das Thema "Socket-Verbindung klappt nicht" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.
|
| | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer Benutzer Registriert seit: 11.01.2012
Beiträge: 8
Abgegebene Danke: 3
Erhielt 0 Danke für 0 Beiträge
| ich habe jetzt meine erste App programmiert. Ich verbinde mich damit mit einem lokalem Gerät. Ich baue dafür eine Socketverbindung auf. In dem Emulator klappt auch alles prima, Ich bin vebunden und kann Befehle senden. Jetzt habe ich die mini-app aufs Galaxy-Tab kopiert und dort funktioniert die Verbindung nicht mehr. Galaxy-Tab ist im gleichen Netz wie mein Entwicklungsrechner. Muss ich da auf dem Tab noch was freigeben, dass das App eine Verbindung aufbauen darf? Code: <uses-permission android:name="android.permission.INTERNET"></uses-permission> Danke für Eure Hilfe |
| | |
| | #2 (permalink) |
| Neuer Benutzer Registriert seit: 11.01.2012
Beiträge: 8
Abgegebene Danke: 3
Erhielt 0 Danke für 0 Beiträge
|
Ich hab es gerade mal vom Smartphone getestet. DA läuft es. Liegt es an unterschiedlichen Androidversionen? Beim Tab ist ja eine neuere drauf (3.xx?) Auf dem Smartphone die 2.3 |
| | |
| | #3 (permalink) |
| Neuer Benutzer Registriert seit: 07.12.2010
Beiträge: 26
Abgegebene Danke: 2
Erhielt 2 Danke für 2 Beiträge
|
Hallo Das Problem hatte ich auch schon. Ich habe daher eine Vermutung: Du verwendest die Internetverbidung im Main-Thread, was Android 2.3.x noch zulässt Android 3.x aber nicht! Das lässt sich testen, indem du dein Tablett an den Rechner anschließt und dann direkt auf dem Gerät debuggst, oder du einen neuen Emulator mit der passenden Android-Version erstellst. Du dürftest dann eine "NetworkOnMainThreadException" bekommen. Ein Besipiel! |
| | |
| Folgender Benutzer bedankt sich bei Son Goku für diesen Beitrag: | ThomasL (12.01.2012) |
| | #5 (permalink) |
| Neuer Benutzer Registriert seit: 11.01.2012
Beiträge: 8
Abgegebene Danke: 3
Erhielt 0 Danke für 0 Beiträge
|
Hallo zusammen, so es lag an einer "NetworkOnMainThreadException". Ich bekomme es aber trotzdem nicht gelöst. Ich habe eine einfache Activtiy (UI) mit 3 Buttons. Mit einem soll die Verbindung auf-/abgebaut werden und mit den anderen 2 kann dann ein Befehl versendet werden. Die Verbindung in einem anderem Thread aufzubauen klappt. Wenn ich die Connection dann aber mit runOnUiThread(new Runnable() {... an die UIActivity übergeben will, kommt wieder die Exception. Ich bin Anfänger. Wie kann ich in dem Ereignis der anderen beiden Buttons die Connection aus dem anderem Thread nutzen? Muss ich in dem anderem Thread (mit der Connection) die Buttons anlegen und über runOnUiThread zuordnen? Dann könnte ich in dem anderem Thread auf die Ereignisse reagieren. Danke Thomas |
| | |
| | #6 (permalink) |
| Neuer Benutzer Registriert seit: 07.12.2010
Beiträge: 26
Abgegebene Danke: 2
Erhielt 2 Danke für 2 Beiträge
|
Hallo Ich hab bisher auch noch nicht so viel damit gearbeitet. Aber ich würde Dir dennoch folgenden Aufbau empfehlen: Speicher den Thread in einer deiner Klassenvariablen. Code: Thread t = new Thread(...); Wenn du Erfolg hast, kannst du ja einen kurzen Schnipsel Code posten. |
| | |
| | #7 (permalink) |
| Fortgeschrittenes Mitglied Modell: HTC Sensation Registriert seit: 31.08.2011
Beiträge: 390
Abgegebene Danke: 25
Erhielt 59 Danke für 57 Beiträge
|
Ich würde das anders machen (ähnlich wie bei Java TCP Sockets and Swing Tutorial -> TCPChat.java) Dein Connection-Thread liest und schreibt in einer Endlosschleife (bzw. bis z.B. Thread auf null gesetzt wird). Und für das Senden benutzt du eine String-Variable. Ist die Variable leer bzw. null, dann wird nichts gesendet, ansonsten wird der Befehl gesendet. Sobald du nun auf deine Buttons klickst, brauchst du nur die Send-Variable entsprechend zu füllen und schon wird der Befehl übertragen. Da brauchste dann weder einen neuen Thread noch ein RunOnUI oder so ;-) |
| | |
| Folgender Benutzer bedankt sich bei Tom299 für diesen Beitrag: | ThomasL (18.01.2012) |
![]() |
|
| Themen-Optionen | |
| Ansicht | |
| |
| ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| USB Verbindung klappt nicht! | blabla999 | Huawei Ideos X3 (U8510) Forum | 2 | 19.12.2011 22:07 |
| Socket Verbindung löst BufferOverflow aus | ChrisMobile | Android App Entwicklung | 3 | 07.12.2011 19:42 |
| Wlan Verbindung klappt nicht | lupula91 | HTC Desire S Forum | 2 | 13.10.2011 14:17 |
| W-LAN Verbindung klappt nicht | roseflower | Sony Ericsson Xperia X10 Mini / Mini Pro | 51 | 29.01.2011 10:57 |