Не удается отправить get запрос

Ответить
Andrew_qb
Сообщения: 17
Зарегистрирован: 27 авг 2013, 12:14

Не удается отправить get запрос

Сообщение Andrew_qb » 27 авг 2013, 20:43

Есть приложение на первой экране ввожу мыло и должен перейти на второй и отправить get запрос но вылазит ошибка The application (...) has stopped unexpectedly. Please try again. что не понятное в логах:
  • 08-27 17:36:44.364 60-60/system_process I/ActivityManager: Starting: Intent { cmp=com.Application.testApp/.ProfileActivity (has extras) } from pid 1912
    08-27 17:36:45.334 1912-1912/com.Application.testApp D/AndroidRuntime: Shutting down VM
    08-27 17:36:45.334 1912-1912/com.Application.testApp W/dalvikvm: threadid=1: thread exiting with uncaught exception (group=0x40015560)
    08-27 17:36:45.344 1912-1912/com.Application.testApp E/AndroidRuntime: FATAL EXCEPTION: main
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.Application.testApp/com.Application.testApp.ProfileActivity}: java.lang.NullPointerException
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
    at android.app.ActivityThread.access$1500(ActivityThread.java:117)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:123)
    at android.app.ActivityThread.main(ActivityThread.java:3683)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:507)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
    at dalvik.system.NativeStart.main(Native Method)
    Caused by: java.lang.NullPointerException
    at com.Application.testApp.ProfileActivity.GetReq(ProfileActivity.java:50)
    at com.Application.testApp.ProfileActivity.onCreate(ProfileActivity.java:30)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
    ... 11 more
    08-27 17:36:45.364 60-204/system_process W/ActivityManager: Force finishing activity com.Application.testApp/.ProfileActivity
    08-27 17:36:45.364 60-204/system_process W/ActivityManager: Force finishing activity com.Application.testApp/.MainActivity
    08-27 17:36:45.875 60-72/system_process W/ActivityManager: Activity pause timeout for HistoryRecord{4065e468 com.Application.testApp/.ProfileActivity}
    08-27 17:36:52.224 263-263/com.android.defcontainer D/dalvikvm: GC_EXPLICIT freed 7K, 54% free 2544K/5511K, external 1625K/2137K, paused 57ms
    08-27 17:36:56.910 60-72/system_process W/ActivityManager: Activity destroy timeout for HistoryRecord{40628d90 com.Application.testApp/.MainActivity}
    08-27 17:36:56.910 60-72/system_process W/ActivityManager: Activity destroy timeout for HistoryRecord{4065e468 com.Application.testApp/.ProfileActivity}
    08-27 17:36:57.274 337-337/com.svox.pico D/dalvikvm: GC_EXPLICIT freed 4K, 54% free 2539K/5511K, external 1625K/2137K, paused 86ms
    08-27 17:37:05.205 222-222/com.android.quicksearchbox D/dalvikvm: GC_EXPLICIT freed 17K, 54% free 2597K/5639K, external 1625K/2137K, paused 53ms
И сам код

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

package com.Application.testApp;

import org.apache.http.client.HttpClient;
import org.apache.http.client.ResponseHandler;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.BasicResponseHandler;
import org.apache.http.impl.client.DefaultHttpClient;

import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.widget.TextView;

public class ProfileActivity extends Activity {

    TextView content;
    final String LOG_TAG = "myLogs";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.profile);
        GetReq();
    }

    public void GetReq() {
        try {
            HttpClient Client = new DefaultHttpClient();
            String URL = "http://forum.startandroid.ru/posting.php?mode=post&f=41";

            try {
                HttpGet httpget = new HttpGet(URL);
                ResponseHandler<String> responseHandler = new BasicResponseHandler();

                String SetServerString = "";
                SetServerString = Client.execute(httpget, responseHandler);
                content.setText(SetServerString);
                Log.d(LOG_TAG, "Response: " + content.getText().toString());
            } catch (Exception ex) {
                content.setText("Fail!");
            }
        } catch (Exception ex) {
            content.setText("Fail!!!");
        }
    }
}

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

Re: Не удается отправить get запрос

Сообщение Mikhail_dev » 27 авг 2013, 20:52

Потому что content тут не инициализирован, потому как не получил ссылку на необходимый ресурс.
И вообще, работать с интернетом через главный UI поток нельзя.

Andrew_qb
Сообщения: 17
Зарегистрирован: 27 авг 2013, 12:14

Re: Не удается отправить get запрос

Сообщение Andrew_qb » 27 авг 2013, 21:00

no-- писал(а):Потому что content тут не инициализирован, потому как не получил ссылку на необходимый ресурс.
И вообще, работать с интернетом через главный UI поток нельзя.
А как его инициализировать?
Я с java третий день так что без понятия как инициализировать контрол TextView.

Andrew_qb
Сообщения: 17
Зарегистрирован: 27 авг 2013, 12:14

Re: Не удается отправить get запрос

Сообщение Andrew_qb » 27 авг 2013, 21:03

Всё понял))

Andrew_qb
Сообщения: 17
Зарегистрирован: 27 авг 2013, 12:14

Re: Не удается отправить get запрос

Сообщение Andrew_qb » 27 авг 2013, 21:03

И вообще, работать с интернетом через главный UI поток нельзя.
А как надо?

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

Re: Не удается отправить get запрос

Сообщение Mikhail_dev » 27 авг 2013, 21:06

Через отельный поток. К примеру через AsyncTask.

Andrew_qb
Сообщения: 17
Зарегистрирован: 27 авг 2013, 12:14

Re: Не удается отправить get запрос

Сообщение Andrew_qb » 27 авг 2013, 21:08

Если не сложно, то покажите на моём примере, как?

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

Re: Не удается отправить get запрос

Сообщение Mikhail_dev » 27 авг 2013, 21:11

Боюсь, что это лишь запутает. Я бы посоветовал изучить Java более досконально, потому как Android нельзя будет изучить, не зная основы языка. Из книг могу посоветовать Хорстманн, том1, основы.

Andrew_qb
Сообщения: 17
Зарегистрирован: 27 авг 2013, 12:14

Re: Не удается отправить get запрос

Сообщение Andrew_qb » 27 авг 2013, 21:14

Нее читать мне не когда (по крайней мере сейчас), да и к тому же я C# программист и я его не брошу)) Всё таки если не затруднит покажите пример.

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

Re: Не удается отправить get запрос

Сообщение rezak90 » 27 авг 2013, 21:21

Andrew_qb писал(а):Нее читать мне не когда (по крайней мере сейчас), да и к тому же я C# программист и я его не брошу)) Всё таки если не затруднит покажите пример.
http://developer.android.com/reference/ ... cTask.html
R.id.team
Политика на форуме запрещена

Аватара пользователя
KamiSempai
Сообщения: 1339
Зарегистрирован: 17 фев 2012, 21:23
Откуда: Мордор

Re: Не удается отправить get запрос

Сообщение KamiSempai » 27 авг 2013, 22:45

Andrew_qb писал(а):Нее читать мне не когда...
*facepalm*
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.

Ответить