как решить исключение в Android - PullRequest
0 голосов
/ 23 мая 2011

Я написал HttpDelete в Android для вызова веб-службы REST.

public void onCreate(Bundle savedInstanceState)
    {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    TextView txt = (TextView) findViewById(R.id.textView1);
    txt.setText(getInputStreamFromUrl("http://192.168.37.241:8080/kyaw/k"));
    }

    public static String getInputStreamFromUrl(String url) {
          InputStream content = null;
          HttpResponse response = null;
          try {

            DefaultHttpClient httpclient = new DefaultHttpClient();             
            HttpDelete delete=new HttpDelete(url);
            put.setHeader("Content-Type","application/vnd.org.snia.cdmi.container");
            response = httpclient.execute(delete);
            content = response.getEntity().getContent();
          }catch (Exception e) {
            Log.e("[DELETE REQUEST]", "Network exception");
          }
            String result=response.getStatusLine().toString()+"\n"+response.getHeaders(url);
            return result;
        }

И я получаю исключение, которое

05-23 08:30:16.868: ERROR/[DELETE REQUEST](1197): Network exception
05-23 08:30:16.868: DEBUG/AndroidRuntime(1197): Shutting down VM
05-23 08:30:16.878: WARN/dalvikvm(1197): threadid=1: thread exiting with uncaught exception (group=0x40015560)
05-23 08:30:16.908: ERROR/AndroidRuntime(1197): FATAL EXCEPTION: main
05-23 08:30:16.908: ERROR/AndroidRuntime(1197): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.test/com.test.putandroid}: java.lang.NullPointerException

Кто-нибудь знает почему?

Ответы [ 3 ]

1 голос
/ 23 мая 2011

проверяли ли вы файл манифеста для разрешения Интернета?

0 голосов
/ 23 мая 2011

В функции onCreate () в строке 4 мы находим, что после инициализации TextView вы пытаетесь установить значение.

Вы должны использовать объект Handler, поскольку вы не можете обновить объекты пользовательского интерфейсав то время как в отдельной теме.

Вот ссылка для вашей помощи

http://www.tutorialforandroid.com/2009/01/using-handler-in-android.html

http://thedevelopersinfo.com/?p=150

0 голосов
/ 23 мая 2011

Понятия для сетевого исключения (пока) нет, но последний NPE наиболее вероятен, потому что предыдущее исключение выдается до инициализации response через httpclient.execute(delete).

Вам следует переписать свой блок catch и записать имя перехваченного исключения и сообщение в журнал.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...