HTTP POST

Ответить
DKArhangel
Сообщения: 5
Зарегистрирован: 07 сен 2014, 07:23

HTTP POST

Сообщение DKArhangel » 07 сен 2014, 07:28

В общем пытаюсь реализовать пример из интернета с передачей данных в базу MySQL, в принципе в эмуляторе работает все идеально, и на нем я уже пошел значительно дальше но... при установке приложения на телефон и нажатии кнопки "отправить данные" на телефоне приложение вылетает, ссылаясь на com.example.test

в чем собственно может быть ошибка?

Код: Выделить всё

package com.example.test;

 import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends Activity {
	Button sendButton;
	 @Override
	public void onCreate(Bundle savedInstanceState)
	 {  super.onCreate(savedInstanceState);
	 setContentView(R.layout.activity_main);
	 sendButton = (Button) findViewById(R.id.sendButton);
	 }



public void send(View v)
 {

	 try {
 HttpClient httpclient = new DefaultHttpClient();

 HttpPost httppost = new HttpPost("http://ofc.hol.es/registr.php");

	 List nameValuePairs = new ArrayList(2);
	 nameValuePairs.add(new BasicNameValuePair("password", "12345"));
	 httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
 httpclient.execute(httppost); 
 } catch (ClientProtocolException e) {
	 e.printStackTrace();
 } catch (IOException e) {
	 e.printStackTrace();
}
	 
}
}
код активити

Код: Выделить всё

<?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <Button
        android:text="Toggle LED"
        android:id="@+id/sendButton"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:onClick="send"
        />

 </LinearLayout>

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: HTTP POST

Сообщение rezak90 » 07 сен 2014, 18:20

Нужно логи смотреть, там есть ответы.
R.id.team
Политика на форуме запрещена

DKArhangel
Сообщения: 5
Зарегистрирован: 07 сен 2014, 07:23

Re: HTTP POST

Сообщение DKArhangel » 07 сен 2014, 23:18

Логи... смотреть... на телефоне... на котором выдает единственный месадж о том что программа закрыта... и в эмуляторе работает все идеально... вы серьезно? или это как обычно на форумах накрутка сообщений в стиле капитан очевидность... без обид...

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: HTTP POST

Сообщение rezak90 » 07 сен 2014, 23:36

конечно серьезно, подключаешь телефон к пк и смотришь логи в LogCat
R.id.team
Политика на форуме запрещена

DKArhangel
Сообщения: 5
Зарегистрирован: 07 сен 2014, 07:23

Re: HTTP POST

Сообщение DKArhangel » 07 сен 2014, 23:40

эм а есть описание данной процедуры? можно ссылку или что то в этом роде? ну и спасибо за наводку, правда не знал.

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: HTTP POST

Сообщение rezak90 » 07 сен 2014, 23:59

с телефоном все так же как и с эмулятором, разве что для телефона если есть какие то драйвера то нужно их установить, а дальше все так как с эмулятором в ддмс выбираем дивайс и наблюдаем логи
R.id.team
Политика на форуме запрещена

hysteresis
Сообщения: 51
Зарегистрирован: 28 ноя 2013, 03:20
Откуда: UA

Re: HTTP POST

Сообщение hysteresis » 08 сен 2014, 00:03

С телефона: Настройки - Опции разработчика - Отладка USB. Запускаешь проект и увидешь свой телефон в списке.

DKArhangel
Сообщения: 5
Зарегистрирован: 07 сен 2014, 07:23

Re: HTTP POST

Сообщение DKArhangel » 08 сен 2014, 00:47

я так понимаю проблема где то тут

Код: Выделить всё

09-08 00:43:30.735: E/AndroidRuntime(25345): 	at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
09-08 00:43:30.735: E/AndroidRuntime(25345): 	at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)
09-08 00:43:30.735: E/AndroidRuntime(25345): 	at com.example.test.MainActivity.send(MainActivity.java:42)
09-08 00:43:30.735: E/AndroidRuntime(25345): 	... 14 more
09-08 00:43:30.774: W/ActivityManager(1509):   Force finishing activity com.example.test/.MainActivity
09-08 00:43:31.305: W/ActivityManager(1509): Activity pause timeout for ActivityRecord{41c15bc0 com.example.test/.MainActivity}
09-08 00:43:41.664: W/ActivityManager(1509): Activity destroy timeout for ActivityRecord{41c15bc0 com.example.test/.MainActivity}

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: HTTP POST

Сообщение rezak90 » 08 сен 2014, 01:08

нет, весь лог бросай
R.id.team
Политика на форуме запрещена

DKArhangel
Сообщения: 5
Зарегистрирован: 07 сен 2014, 07:23

Re: HTTP POST

Сообщение DKArhangel » 08 сен 2014, 01:12

вот весь

Код: Выделить всё

09-08 01:11:29.641: W/InputReader(1509): [TOUCH_DEBUG] dispatchMotion :: AMOTION_EVENT_ACTION_DOWN(0)
09-08 01:11:29.743: W/InputReader(1509): [TOUCH_DEBUG] dispatchMotion :: AMOTION_EVENT_ACTION_UP(1)
09-08 01:11:31.633: W/InputReader(1509): [TOUCH_DEBUG] dispatchMotion :: AMOTION_EVENT_ACTION_DOWN(0)
09-08 01:11:31.704: W/InputReader(1509): [TOUCH_DEBUG] dispatchMotion :: AMOTION_EVENT_ACTION_UP(1)
09-08 01:11:32.516: W/InputManagerService(1509): Starting input on non-focused client com.android.internal.view.IInputMethodClient$Stub$Proxy@42437540 (uid=10144 pid=21097)
09-08 01:11:36.086: W/InputReader(1509): [TOUCH_DEBUG] dispatchMotion :: AMOTION_EVENT_ACTION_DOWN(0)
09-08 01:11:36.164: W/InputReader(1509): [TOUCH_DEBUG] dispatchMotion :: AMOTION_EVENT_ACTION_UP(1)
09-08 01:11:36.243: W/dalvikvm(26175): threadid=1: thread exiting with uncaught exception (group=0x40e331f8)
09-08 01:11:36.258: E/AndroidRuntime(26175): FATAL EXCEPTION: main
09-08 01:11:36.258: E/AndroidRuntime(26175): java.lang.IllegalStateException: Could not execute method of the activity
09-08 01:11:36.258: E/AndroidRuntime(26175): 	at android.view.View$1.onClick(View.java:3057)
09-08 01:11:36.258: E/AndroidRuntime(26175): 	at android.view.View.performClick(View.java:3524)
09-08 01:11:36.258: E/AndroidRuntime(26175): 	at android.view.View$PerformClick.run(View.java:14226)
09-08 01:11:36.258: E/AndroidRuntime(26175): 	at android.os.Handler.handleCallback(Handler.java:605)
09-08 01:11:36.258: E/AndroidRuntime(26175): 	at android.os.Handler.dispatchMessage(Handler.java:92)
09-08 01:11:36.258: E/AndroidRuntime(26175): 	at android.os.Looper.loop(Looper.java:137)
09-08 01:11:36.258: E/AndroidRuntime(26175): 	at android.app.ActivityThread.main(ActivityThread.java:4516)
09-08 01:11:36.258: E/AndroidRuntime(26175): 	at java.lang.reflect.Method.invokeNative(Native Method)
09-08 01:11:36.258: E/AndroidRuntime(26175): 	at java.lang.reflect.Method.invoke(Method.java:511)
09-08 01:11:36.258: E/AndroidRuntime(26175): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
09-08 01:11:36.258: E/AndroidRuntime(26175): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
09-08 01:11:36.258: E/AndroidRuntime(26175): 	at dalvik.system.NativeStart.main(Native Method)
09-08 01:11:36.258: E/AndroidRuntime(26175): Caused by: java.lang.reflect.InvocationTargetException
09-08 01:11:36.258: E/AndroidRuntime(26175): 	at java.lang.reflect.Method.invokeNative(Native Method)
09-08 01:11:36.258: E/AndroidRuntime(26175): 	at java.lang.reflect.Method.invoke(Method.java:511)
09-08 01:11:36.258: E/AndroidRuntime(26175): 	at android.view.View$1.onClick(View.java:3052)
09-08 01:11:36.258: E/AndroidRuntime(26175): 	... 11 more
09-08 01:11:36.258: E/AndroidRuntime(26175): Caused by: android.os.NetworkOnMainThreadException
09-08 01:11:36.258: E/AndroidRuntime(26175): 	at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1100)
09-08 01:11:36.258: E/AndroidRuntime(26175): 	at java.net.InetAddress.lookupHostByName(InetAddress.java:426)
09-08 01:11:36.258: E/AndroidRuntime(26175): 	at java.net.InetAddress.getAllByNameImpl(InetAddress.java:277)
09-08 01:11:36.258: E/AndroidRuntime(26175): 	at java.net.InetAddress.getAllByName(InetAddress.java:251)
09-08 01:11:36.258: E/AndroidRuntime(26175): 	at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:137)
09-08 01:11:36.258: E/AndroidRuntime(26175): 	at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)
09-08 01:11:36.258: E/AndroidRuntime(26175): 	at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)
09-08 01:11:36.258: E/AndroidRuntime(26175): 	at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:360)
09-08 01:11:36.258: E/AndroidRuntime(26175): 	at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
09-08 01:11:36.258: E/AndroidRuntime(26175): 	at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
09-08 01:11:36.258: E/AndroidRuntime(26175): 	at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)
09-08 01:11:36.258: E/AndroidRuntime(26175): 	at com.example.test.MainActivity.send(MainActivity.java:42)
09-08 01:11:36.258: E/AndroidRuntime(26175): 	... 14 more
09-08 01:11:36.266: W/ActivityManager(1509):   Force finishing activity com.example.test/.MainActivity
09-08 01:11:36.789: W/ActivityManager(1509): Activity pause timeout for ActivityRecord{41777e08 com.example.test/.MainActivity}

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: HTTP POST

Сообщение rezak90 » 08 сен 2014, 02:14

java.lang.IllegalStateException: Could not execute method of the activity
Не может найти метод в активити. Присвоение обработчика лучше делать в коде, а не в лейауте.
Caused by: android.os.NetworkOnMainThreadException
Идет обращение в сеть с главного потока. Нужно организовать в отдельном потоке.
R.id.team
Политика на форуме запрещена

Ответить