Исключение нулевого указателя в Android Java - PullRequest
0 голосов
/ 02 августа 2011

Я пытаюсь подключиться к базе данных на удаленном сервере.
У меня есть следующий код с замаскированными личными данными:


public static void connectToServer () {
        Log.e(tag,"Inside connectToServer");
        String result = "";
        ArrayList toDB = new ArrayList();

        //Assign namevalue pairs to toDB
        try {
            toDB.add(new BasicNameValuePair("A",dta.getA()));
            toDB.add(new BasicNameValuePair("B",dta.getB()));
            toDB.add(new BasicNameValuePair("C",dta.getC()));
            toDB.add(new BasicNameValuePair("D",dta.getD()));
            toDB.add(new BasicNameValuePair("E",dta.getE()));
            toDB.add(new BasicNameValuePair("F",dta.getF()));
        } catch (Exception e) {
            Log.e(tag,e.toString());
        }

        //http post
        try{
                HttpClient httpclient = new DefaultHttpClient();
                HttpPost httppost = new HttpPost("http://mydom.com/myFolder/file.php");
                httppost.setEntity(new UrlEncodedFormEntity(toDB));
        }catch(Exception e){
                Log.e(tag, "Error in http connection "+e.toString());
        }
    }

Мой файл манифеста выглядит так: <br> < uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /><br> < uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /><br> < uses-permission android:name="android.permission.INTERNET" /><br>

В logcat у меня есть следующее: <br> Inside connectToServer <br> java.lang.NullPointerException
Почему я получаю исключение NullPointerException?
Спасибо.

Ответы [ 3 ]

2 голосов
/ 02 августа 2011

Некоторые объекты, которые вы разыменовываете внутри метода, имеют значение null, поэтому, вероятно, это eta.

2 голосов
/ 02 августа 2011

Скорее всего, вы пытаетесь вызвать метод несуществующего объекта, который вам не удалось создать.

Без обработчика исключений вы получите номер строки, в которой произошла ошибка в журналах.

1 голос
/ 02 августа 2011

Попробуйте на самом деле указать тип ArrayList

, например ArrayList<BasicNameValuePair> toDB = new ArrayList<BasicNameValuePair>();

, также убедитесь, что тег или dta действительно где-то инициализированы (возможно, когда вы их удалите, вы можете продолжитьи присвойте им пустую строку, например: String tag = ""; или DTA dta = new DTA(); или что-то еще, что dta.

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