Я не могу отправлять данные в базу данных Mysql, используя библиотеку Volley.

Вот код залпа, который выдает следующее исключение «Попытка вызвать виртуальный метод» int java.lang.String.hashCode ()».

String url = "http://192.168.60.02/TransportTracking/main.php";

StringRequest postRequest = new StringRequest(Request.Method.POST, url,
        new Response.Listener<String>()
        {
            @Override
            public void onResponse(String response) {
                // response
                Log.d("Response", response);
            }
        },
        new Response.ErrorListener()
        {
            @Override
            public void onErrorResponse(VolleyError error) {
                // error
                Log.d("Error.Response", error.getMessage());
            }
        }
) {
    @Override
    protected Map<String, String> getParams()
    {
        Map<String, String>  params = new HashMap<String, String>();
        params.put("long","100");
        params.put("lat", "200");
        params.put("recordtime","acbcbcb");

        return params;
    }
};
    AppController.getInstance().addToRequestQueue(postRequest, "tag_json_obj");

и вот журнал ошибок:

07-06 08:07:54.315 2837-2837/com.example.jawadtariq.uogtransporttrackingsystem E/AndroidRuntime: НЕИСПРАВНОЕ ИСКЛЮЧЕНИЕ: основной процесс: com.example.jawadtariq.uogtransporttrackingsystem, PID: 2837

java.lang.NullPointerException: попытка вызвать виртуальный метод 'int java.lang.String.hashCode()' для ссылки на нулевой объект в com.android.volley.Request.(Request.java:136) в com.android.volley .toolbox.StringRequest.(StringRequest.java:43)

                                                                                                 at com.example.jawadtariq.uogtransporttrackingsystem.LocationService$3.<init>(LocationService.java:98)
                                                                                                 at com.example.jawadtariq.uogtransporttrackingsystem.LocationService.onConnected(LocationService.java:81)
                                                                                                 at com.google.android.gms.common.internal.zzac.zzn(Unknown Source)
                                                                                                 at com.google.android.gms.internal.zzbco.zzm(Unknown Source)
                                                                                                 at com.google.android.gms.internal.zzbcc.zzpY(Unknown Source)
                                                                                                 at com.google.android.gms.internal.zzbcc.onConnected(Unknown Source)
                                                                                                 at com.google.android.gms.internal.zzbcw.onConnected(Unknown Source)
                                                                                                 at com.google.android.gms.internal.zzbbh.onConnected(Unknown Source)
                                                                                                 at com.google.android.gms.common.internal.zzaa.onConnected(Unknown Source)
                                                                                                 at com.google.android.gms.common.internal.zzn.zzrj(Unknown Source)
                                                                                                 at com.google.android.gms.common.internal.zze.zzs(Unknown Source)
                                                                                                 at com.google.android.gms.common.internal.zzi.zzrk(Unknown Source)
                                                                                                 at com.google.android.gms.common.internal.zzh.handleMessage(Unknown Source)
                                                                                                 at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                                                 at android.os.Looper.loop(Looper.java:135)
                                                                                                 at android.app.ActivityThread.main(ActivityThread.java:5221)
                                                                                                 at java.lang.reflect.Method.invoke(Native Method)
                                                                                                 at java.lang.reflect.Method.invoke(Method.java:372)
                                                                                                 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
                                                                                                 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)

И последнее, что следует упомянуть, это то, что я погуглил это исключение, прежде чем публиковать здесь, и большинство проблемных вопросов имеют неверный URL-адрес. Но в моем случае URL правильный.


person jawad    schedule 06.07.2017    source источник
comment
Возможно, это то, что вы ищете.   -  person Shashanth    schedule 06.07.2017


Ответы (2)


Объявите экземпляр volley request-queue, а затем добавьте в него stringRequest. как

RequestQueue requestQueue =  
             Volley.newRequestQueue(getApplicationContext());
StringRequest postRequest = new StringRequest(Request.Method.POST, url,
        new Response.Listener<String>()
        {
            @Override
            public void onResponse(String response) {
                // response
                Log.d("Response", response);
        }
        },
        new Response.ErrorListener()
        {
            @Override
            public void onErrorResponse(VolleyError error) {
                // error
                Log.d("Error.Response", error.getMessage());
            }
        }
    ){
    @Override
    protected Map<String, String> getParams()
    {
        Map<String, String>  params = new HashMap<String, String>();
        params.put("long","100");
        params.put("lat", "200");
        params.put("recordtime","acbcbcb");
        return params;
    }
};

requestQueue.add(postRequest);

Это рабочий код для меня.

person Dhiral Kaniya    schedule 06.07.2017
comment
Но я использую класс singleton volley, и мой код скомпилирован, но выдает исключение, как указано выше. - person jawad; 06.07.2017
comment
Если вы разместили свой URL-адрес локально, попробуйте его с 127.0.0.1 для устройств Android и 10.0.2.2 для устройств AVD. Убедитесь, что ваш компьютер и устройства подключены к одному и тому же соединению. @джавад.. - person Dhiral Kaniya; 06.07.2017

Вы также можете узнать больше о залпе здесь http://www.androidhive.info/2014/05/android-working-with-volley-library-1/

person PCGALI ANDROID    schedule 06.07.2017
comment
Не не публиковать ответы только по ссылкам. Ссылки на внешние ресурсы приветствуются, но, пожалуйста, добавьте контекст вокруг ссылки, чтобы ваши коллеги-пользователи имели некоторое представление о том, что это такое и почему оно там. Всегда цитируйте наиболее релевантную часть важной ссылки на случай, если целевой сайт недоступен или навсегда отключится. - person Shashanth; 06.07.2017