0 / 0 / 0
Регистрация: 20.11.2011
Сообщений: 29
|
||||||
1 | ||||||
Потоки и post запрос30.10.2012, 00:48. Показов 2175. Ответов 18
Метки нет (Все метки)
Добрый вечер всем. Уже два дня не могу разобраться с выполнением post запроса на андроиде. Перечитал кучу статей. Знаю что с андроида 2.3 для работы с сетью функции нужно выполнять в отдельном потоке.
Вот сообственно код:
Выбивает на InputStream dataStream =url.openConnection().getInputStream(); этой строке, вот на всякий случай Лог Код
10-29 20:47:21.418: E/AndroidRuntime(836): FATAL EXCEPTION: main 10-29 20:47:21.418: E/AndroidRuntime(836): java.lang.IllegalStateException: Could not execute method of the activity 10-29 20:47:21.418: E/AndroidRuntime(836): at android.view.View$1.onClick(View.java:3591) 10-29 20:47:21.418: E/AndroidRuntime(836): at android.view.View.performClick(View.java:4084) 10-29 20:47:21.418: E/AndroidRuntime(836): at android.view.View$PerformClick.run(View.java:16966) 10-29 20:47:21.418: E/AndroidRuntime(836): at android.os.Handler.handleCallback(Handler.java:615) 10-29 20:47:21.418: E/AndroidRuntime(836): at android.os.Handler.dispatchMessage(Handler.java:92) 10-29 20:47:21.418: E/AndroidRuntime(836): at android.os.Looper.loop(Looper.java:137) 10-29 20:47:21.418: E/AndroidRuntime(836): at android.app.ActivityThread.main(ActivityThread.java:4745) 10-29 20:47:21.418: E/AndroidRuntime(836): at java.lang.reflect.Method.invokeNative(Native Method) 10-29 20:47:21.418: E/AndroidRuntime(836): at java.lang.reflect.Method.invoke(Method.java:511) 10-29 20:47:21.418: E/AndroidRuntime(836): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) 10-29 20:47:21.418: E/AndroidRuntime(836): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 10-29 20:47:21.418: E/AndroidRuntime(836): at dalvik.system.NativeStart.main(Native Method) 10-29 20:47:21.418: E/AndroidRuntime(836): Caused by: java.lang.reflect.InvocationTargetException 10-29 20:47:21.418: E/AndroidRuntime(836): at java.lang.reflect.Method.invokeNative(Native Method) 10-29 20:47:21.418: E/AndroidRuntime(836): at java.lang.reflect.Method.invoke(Method.java:511) 10-29 20:47:21.418: E/AndroidRuntime(836): at android.view.View$1.onClick(View.java:3586) 10-29 20:47:21.418: E/AndroidRuntime(836): ... 11 more 10-29 20:47:21.418: E/AndroidRuntime(836): Caused by: android.os.NetworkOnMainThreadException 10-29 20:47:21.418: E/AndroidRuntime(836): at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1117) 10-29 20:47:21.418: E/AndroidRuntime(836): at java.net.InetAddress.lookupHostByName(InetAddress.java:385) 10-29 20:47:21.418: E/AndroidRuntime(836): at java.net.InetAddress.getAllByNameImpl(InetAddress.java:236) 10-29 20:47:21.418: E/AndroidRuntime(836): at java.net.InetAddress.getAllByName(InetAddress.java:214) 10-29 20:47:21.418: E/AndroidRuntime(836): at libcore.net.http.HttpConnection.<init>(HttpConnection.java:70) 10-29 20:47:21.418: E/AndroidRuntime(836): at libcore.net.http.HttpConnection.<init>(HttpConnection.java:50) 10-29 20:47:21.418: E/AndroidRuntime(836): at libcore.net.http.HttpConnection$Address.connect(HttpConnection.java:341) 10-29 20:47:21.418: E/AndroidRuntime(836): at libcore.net.http.HttpConnectionPool.get(HttpConnectionPool.java:87) 10-29 20:47:21.418: E/AndroidRuntime(836): at libcore.net.http.HttpConnection.connect(HttpConnection.java:128) 10-29 20:47:21.418: E/AndroidRuntime(836): at libcore.net.http.HttpEngine.openSocketConnection(HttpEngine.java:315) 10-29 20:47:21.418: E/AndroidRuntime(836): at libcore.net.http.HttpEngine.connect(HttpEngine.java:310) 10-29 20:47:21.418: E/AndroidRuntime(836): at libcore.net.http.HttpEngine.sendSocketRequest(HttpEngine.java:289) 10-29 20:47:21.418: E/AndroidRuntime(836): at libcore.net.http.HttpEngine.sendRequest(HttpEngine.java:239) 10-29 20:47:21.418: E/AndroidRuntime(836): at libcore.net.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:273) 10-29 20:47:21.418: E/AndroidRuntime(836): at libcore.net.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:168) 10-29 20:47:21.418: E/AndroidRuntime(836): at com.example.test2.MainActivity$MyRunnable.getTemperature(MainActivity.java:52) 10-29 20:47:21.418: E/AndroidRuntime(836): at com.example.test2.MainActivity$MyRunnable.run(MainActivity.java:68) 10-29 20:47:21.418: E/AndroidRuntime(836): at com.example.test2.MainActivity.but_Click(MainActivity.java:89) 10-29 20:47:21.418: E/AndroidRuntime(836): ... 14 more
0
|
30.10.2012, 00:48 | |
Ответы с готовыми решениями:
18
Потоки, ошибки при POST запросах Послать POST запрос запрос с двумя и более параметрами? Get запрос + куки + Post запрос Разделение на потоки. запрос-ответ |
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
|
|
30.10.2012, 01:10 | 2 |
не вижу потоков в вашем коде.
0
|
0 / 0 / 0
Регистрация: 20.11.2011
Сообщений: 29
|
||||||
30.10.2012, 02:40 [ТС] | 3 | |||||
0
|
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
|
|
30.10.2012, 02:42 | 4 |
как можно перечитав кучу статей думать что Runnable это поток?
Добавлено через 32 секунды значит неправильно юзали.
0
|
0 / 0 / 0
Регистрация: 20.11.2011
Сообщений: 29
|
|
30.10.2012, 03:27 [ТС] | 5 |
http://devdream.net/?p=71 а это что?
0
|
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
|
|
30.10.2012, 03:46 | 6 |
ну. и в чем проблема? черном по белому в самом начале написано где новый поток, а где в текущем потоке. что не понятно то?
0
|
0 / 0 / 0
Регистрация: 20.11.2011
Сообщений: 29
|
||||||
30.10.2012, 16:52 [ТС] | 7 | |||||
Код
10-30 12:50:36.399: E/AndroidRuntime(1092): FATAL EXCEPTION: main 10-30 12:50:36.399: E/AndroidRuntime(1092): java.lang.IllegalStateException: Could not execute method of the activity 10-30 12:50:36.399: E/AndroidRuntime(1092): at android.view.View$1.onClick(View.java:3591) 10-30 12:50:36.399: E/AndroidRuntime(1092): at android.view.View.performClick(View.java:4084) 10-30 12:50:36.399: E/AndroidRuntime(1092): at android.view.View$PerformClick.run(View.java:16966) 10-30 12:50:36.399: E/AndroidRuntime(1092): at android.os.Handler.handleCallback(Handler.java:615) 10-30 12:50:36.399: E/AndroidRuntime(1092): at android.os.Handler.dispatchMessage(Handler.java:92) 10-30 12:50:36.399: E/AndroidRuntime(1092): at android.os.Looper.loop(Looper.java:137) 10-30 12:50:36.399: E/AndroidRuntime(1092): at android.app.ActivityThread.main(ActivityThread.java:4745) 10-30 12:50:36.399: E/AndroidRuntime(1092): at java.lang.reflect.Method.invokeNative(Native Method) 10-30 12:50:36.399: E/AndroidRuntime(1092): at java.lang.reflect.Method.invoke(Method.java:511) 10-30 12:50:36.399: E/AndroidRuntime(1092): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) 10-30 12:50:36.399: E/AndroidRuntime(1092): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 10-30 12:50:36.399: E/AndroidRuntime(1092): at dalvik.system.NativeStart.main(Native Method) 10-30 12:50:36.399: E/AndroidRuntime(1092): Caused by: java.lang.reflect.InvocationTargetException 10-30 12:50:36.399: E/AndroidRuntime(1092): at java.lang.reflect.Method.invokeNative(Native Method) 10-30 12:50:36.399: E/AndroidRuntime(1092): at java.lang.reflect.Method.invoke(Method.java:511) 10-30 12:50:36.399: E/AndroidRuntime(1092): at android.view.View$1.onClick(View.java:3586) 10-30 12:50:36.399: E/AndroidRuntime(1092): ... 11 more 10-30 12:50:36.399: E/AndroidRuntime(1092): Caused by: android.os.NetworkOnMainThreadException 10-30 12:50:36.399: E/AndroidRuntime(1092): at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1117) 10-30 12:50:36.399: E/AndroidRuntime(1092): at java.net.InetAddress.lookupHostByName(InetAddress.java:385) 10-30 12:50:36.399: E/AndroidRuntime(1092): at java.net.InetAddress.getAllByNameImpl(InetAddress.java:236) 10-30 12:50:36.399: E/AndroidRuntime(1092): at java.net.InetAddress.getAllByName(InetAddress.java:214) 10-30 12:50:36.399: E/AndroidRuntime(1092): at libcore.net.http.HttpConnection.<init>(HttpConnection.java:70) 10-30 12:50:36.399: E/AndroidRuntime(1092): at libcore.net.http.HttpConnection.<init>(HttpConnection.java:50) 10-30 12:50:36.399: E/AndroidRuntime(1092): at libcore.net.http.HttpConnection$Address.connect(HttpConnection.java:341) 10-30 12:50:36.399: E/AndroidRuntime(1092): at libcore.net.http.HttpConnectionPool.get(HttpConnectionPool.java:87) 10-30 12:50:36.399: E/AndroidRuntime(1092): at libcore.net.http.HttpConnection.connect(HttpConnection.java:128) 10-30 12:50:36.399: E/AndroidRuntime(1092): at libcore.net.http.HttpEngine.openSocketConnection(HttpEngine.java:315) 10-30 12:50:36.399: E/AndroidRuntime(1092): at libcore.net.http.HttpEngine.connect(HttpEngine.java:310) 10-30 12:50:36.399: E/AndroidRuntime(1092): at libcore.net.http.HttpEngine.sendSocketRequest(HttpEngine.java:289) 10-30 12:50:36.399: E/AndroidRuntime(1092): at libcore.net.http.HttpEngine.sendRequest(HttpEngine.java:239) 10-30 12:50:36.399: E/AndroidRuntime(1092): at libcore.net.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:273) 10-30 12:50:36.399: E/AndroidRuntime(1092): at libcore.net.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:168) 10-30 12:50:36.399: E/AndroidRuntime(1092): at com.example.test2.MainActivity$MyAsyncTask.getTemperature(MainActivity.java:91) 10-30 12:50:36.399: E/AndroidRuntime(1092): at com.example.test2.MainActivity$MyAsyncTask.onPreExecute(MainActivity.java:65) 10-30 12:50:36.399: E/AndroidRuntime(1092): at android.os.AsyncTask.executeOnExecutor(AsyncTask.java:586) 10-30 12:50:36.399: E/AndroidRuntime(1092): at android.os.AsyncTask.execute(AsyncTask.java:534) 10-30 12:50:36.399: E/AndroidRuntime(1092): at com.example.test2.MainActivity.but_Click(MainActivity.java:52) 10-30 12:50:36.399: E/AndroidRuntime(1092): ... 14 more 10-30 12:50:38.129: I/Process(1092): Sending signal. PID: 1092 SIG: 9
0
|
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
|
|
30.10.2012, 17:57 | 8 |
название метода doInBackground вам ни о чем не говорит?
0
|
0 / 0 / 0
Регистрация: 20.11.2011
Сообщений: 29
|
|
30.10.2012, 18:45 [ТС] | 9 |
Тоже самое
0
|
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
|
|
30.10.2012, 18:50 | 10 |
0
|
0 / 0 / 0
Регистрация: 20.11.2011
Сообщений: 29
|
|
30.10.2012, 18:53 [ТС] | 11 |
Запихнул функцию в doInBackground, происходит тоже самое.
0
|
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
|
|
30.10.2012, 18:57 | 12 |
сделайте клин порджект.
покажите новый код и скопируйте повторно логи.
0
|
0 / 0 / 0
Регистрация: 20.11.2011
Сообщений: 29
|
||||||
30.10.2012, 19:11 [ТС] | 13 | |||||
Код
10-30 15:08:54.827: D/dalvikvm(638): GC_CONCURRENT freed 359K, 7% free 8243K/8839K, paused 19ms+14ms, total 63ms 10-30 15:08:54.827: D/dalvikvm(638): WAIT_FOR_CONCURRENT_GC blocked 45ms
0
|
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
|
|
30.10.2012, 21:11 | 14 |
0
|
0 / 0 / 0
Регистрация: 20.11.2011
Сообщений: 29
|
|
30.10.2012, 23:02 [ТС] | 15 |
А что тогда нужно делать?
tTemper.setText("End"); это не происходит
0
|
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
|
|
30.10.2012, 23:40 | 16 |
это нужно делать в onPostExecute
0
|
0 / 0 / 0
Регистрация: 20.11.2011
Сообщений: 29
|
|
31.10.2012, 00:22 [ТС] | 17 |
Поток не закрывается даже после закрытия приложения
0
|
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
|
|
31.10.2012, 00:32 | 18 |
поток закрывается когда заканчивает выполнятся.
0
|
0 / 0 / 0
Регистрация: 20.11.2011
Сообщений: 29
|
|
31.10.2012, 01:20 [ТС] | 19 |
Ну в моем случаии как я понял он не заканчивается, что с этим делать?
Добавлено через 37 минут Разобрался с проблемой, можно закрывать
0
|
31.10.2012, 01:20 | |
31.10.2012, 01:20 | |
Помогаю со студенческими работами здесь
19
POST запрос 1С POST запрос Post запрос VK post запрос post запрос POST запрос Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |