Java 从phpMyAdmin返回JSON时出现Android NullPointerException

Java 从phpMyAdmin返回JSON时出现Android NullPointerException,java,php,android,json,Java,Php,Android,Json,我在Android编程中尝试将phpMyAdmin与MySQL数据库连接时遇到了一些问题。下面是我试图从php方法中获取返回结果的部分: public boolean getLogin(UserModel userModel) { String username = userModel.getUserName(); String password = userModel.getPassword(); List<NameValuePair> params = n

我在Android编程中尝试将phpMyAdmin与MySQL数据库连接时遇到了一些问题。下面是我试图从php方法中获取返回结果的部分:

public boolean getLogin(UserModel userModel) {
    String username = userModel.getUserName();
    String password = userModel.getPassword();
    List<NameValuePair> params = new ArrayList<NameValuePair>();
    // getting JSON string from URL
    JSONObject json = jParser.makeHttpRequest(url, "GET", params);
    params.add(new BasicNameValuePair("getlogin", "1"));
    params.add(new BasicNameValuePair("userid", username));
    params.add(new BasicNameValuePair("password", password));

    try {   
        int success = json.getInt(TAG_SUCCESS);
        if (success == 1) {
            return true;
        }
    } catch (JSONException e) {
        e.printStackTrace();
    }
    return false;
}
并将错误消息作为堆栈跟踪:

02-14 21:57:19.967: D/dalvikvm(29822): GC_FOR_ALLOC freed 70K, 11% free 9471K/10567K, paused 18ms
02-14 21:57:19.975: I/dalvikvm-heap(29822): Grow heap (frag case) to 10.680MB for 589840-byte allocation
02-14 21:57:19.999: D/dalvikvm(29822): GC_CONCURRENT freed 1K, 11% free 10045K/11207K, paused 1ms+2ms
02-14 21:57:20.147: D/TextLayoutCache(29822): Using debug level: 0 - Debug Enabled: 0
02-14 21:57:20.257: D/CLIPBOARD(29822): Hide Clipboard dialog at Starting input: finished by someone else... !
02-14 21:57:35.272: I/URL(29822): http://192.168.0.101/lms/dataprocess.php
02-14 21:57:36.483: E/JSON Parser(29822): Error parsing data org.json.JSONException: End of input at character 0 of 
02-14 21:57:36.491: W/dalvikvm(29822): threadid=11: thread exiting with uncaught exception (group=0x40c341f8)
02-14 21:57:36.632: E/AndroidRuntime(29822): FATAL EXCEPTION: AsyncTask #1
02-14 21:57:36.632: E/AndroidRuntime(29822): java.lang.RuntimeException: An error occured while executing doInBackground()
02-14 21:57:36.632: E/AndroidRuntime(29822):    at android.os.AsyncTask$3.done(AsyncTask.java:278)
02-14 21:57:36.632: E/AndroidRuntime(29822):    at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273)
02-14 21:57:36.632: E/AndroidRuntime(29822):    at java.util.concurrent.FutureTask.setException(FutureTask.java:124)
02-14 21:57:36.632: E/AndroidRuntime(29822):    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307)
02-14 21:57:36.632: E/AndroidRuntime(29822):    at java.util.concurrent.FutureTask.run(FutureTask.java:137)
02-14 21:57:36.632: E/AndroidRuntime(29822):    at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:208)
02-14 21:57:36.632: E/AndroidRuntime(29822):    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
02-14 21:57:36.632: E/AndroidRuntime(29822):    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
02-14 21:57:36.632: E/AndroidRuntime(29822):    at java.lang.Thread.run(Thread.java:856)
02-14 21:57:36.632: E/AndroidRuntime(29822): Caused by: java.lang.NullPointerException
02-14 21:57:36.632: E/AndroidRuntime(29822):    at Controller.UserController.getLogin(UserController.java:47)
02-14 21:57:36.632: E/AndroidRuntime(29822):    at AsyncTask.GetLoginAsyncTask.doInBackground(GetLoginAsyncTask.java:22)
02-14 21:57:36.632: E/AndroidRuntime(29822):    at AsyncTask.GetLoginAsyncTask.doInBackground(GetLoginAsyncTask.java:1)
02-14 21:57:36.632: E/AndroidRuntime(29822):    at android.os.AsyncTask$2.call(AsyncTask.java:264)
02-14 21:57:36.632: E/AndroidRuntime(29822):    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
02-14 21:57:36.632: E/AndroidRuntime(29822):    ... 5 more
02-14 21:57:45.366: I/Process(29822): Sending signal. PID: 29822 SIG: 9
空指针异常部分位于那里的try-catch。 有什么想法吗?提前谢谢

从浏览器访问url时,返回的数据如下:

{"success":1}

您实际上并不是在发出web请求。您所犯的错误是,您直接尝试解析JSON,而没有发出实际的web请求

错误:


检查此问题,根据您的要求获取参考资料并编写代码。

UserController中第47行的内容是什么?@android\u dev int success=json.getIntTAG\u success;
{"success":1}
 JSONObject json = jParser.makeHttpRequest(url, "GET", params);
    params.add(new BasicNameValuePair("getlogin", "1"));
    params.add(new BasicNameValuePair("userid", username));
    params.add(new BasicNameValuePair("password", password));

    try {   
        int success = json.getInt(TAG_SUCCESS);  
       // Here 'json' is an object you are required to pass in a request
       // you are making a web request and without it, you are trying to parse it, which is actually not the response you are expecting from server

        if (success == 1) {
            return true;
        }
    } catch (JSONException e) {
        e.printStackTrace();
    }