Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/179.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android崩溃:异步错误2_Java_Android_Android Asynctask - Fatal编程技术网

Java Android崩溃:异步错误2

Java Android崩溃:异步错误2,java,android,android-asynctask,Java,Android,Android Asynctask,我已经多次搜索这个问题,但没有找到解决方案。我正在构建一个应用程序,用户在其中登录并显示其配置文件,但在显示配置文件时,它会立即崩溃 错误: 12-28 15:01:03.797: E/AndroidRuntime(2565): FATAL EXCEPTION: AsyncTask #2 12-28 15:01:03.797: E/AndroidRuntime(2565): java.lang.RuntimeException: An error occured while executing

我已经多次搜索这个问题,但没有找到解决方案。我正在构建一个应用程序,用户在其中登录并显示其配置文件,但在显示配置文件时,它会立即崩溃

错误:

12-28 15:01:03.797: E/AndroidRuntime(2565): FATAL EXCEPTION: AsyncTask #2
12-28 15:01:03.797: E/AndroidRuntime(2565): java.lang.RuntimeException: An error occured while executing doInBackground()
12-28 15:01:03.797: E/AndroidRuntime(2565):     at android.os.AsyncTask$3.done(AsyncTask.java:299)
12-28 15:01:03.797: E/AndroidRuntime(2565):     at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:352)
12-28 15:01:03.797: E/AndroidRuntime(2565):     at java.util.concurrent.FutureTask.setException(FutureTask.java:219)
12-28 15:01:03.797: E/AndroidRuntime(2565):     at java.util.concurrent.FutureTask.run(FutureTask.java:239)
12-28 15:01:03.797: E/AndroidRuntime(2565):     at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
12-28 15:01:03.797: E/AndroidRuntime(2565):     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
12-28 15:01:03.797: E/AndroidRuntime(2565):     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
12-28 15:01:03.797: E/AndroidRuntime(2565):     at java.lang.Thread.run(Thread.java:856)
12-28 15:01:03.797: E/AndroidRuntime(2565): Caused by: java.lang.NullPointerException
12-28 15:01:03.797: E/AndroidRuntime(2565):     at com.example.itmaproject.Profile$DownloadStylist.doInBackground(Profile.java:104)
12-28 15:01:03.797: E/AndroidRuntime(2565):     at com.example.itmaproject.Profile$DownloadStylist.doInBackground(Profile.java:1)
12-28 15:01:03.797: E/AndroidRuntime(2565):     at android.os.AsyncTask$2.call(AsyncTask.java:287)
12-28 15:01:03.797: E/AndroidRuntime(2565):     at java.util.concurrent.FutureTask.run(FutureTask.java:234)
12-28 15:01:03.797: E/AndroidRuntime(2565):     ... 4 more
java代码

private class DownloadStylist extends AsyncTask<String, String, JSONObject> {
        private ProgressDialog progressDialog = new ProgressDialog(
                Profile.this);

        protected void onPreExecute() {

            progressDialog.setMessage("Loading profile ...");
            progressDialog.setIndeterminate(false);
            progressDialog.setCancelable(false);
            progressDialog.show();
        }

        protected JSONObject doInBackground(String... args) {

            Intent i1 = getIntent();
            username = i1.getStringExtra("username");

            List<NameValuePair> params1 = new ArrayList<NameValuePair>();
            params1.add(new BasicNameValuePair("username", username));

            JSONObject json = jsonParser.makeHttpRequest(url, "POST", params1);

            // Check your log cat for JSON reponse
            Log.d("Profile JSON: ", json.toString());

            try {
                // profile json object
                jsonarray = json.getJSONArray("user");
                user = new String[jsonarray.length()];
                for (int m = 0; m < jsonarray.length(); m++) {

                    json = jsonarray.getJSONObject(m);

                    // Retrive JSON Objects
                    user[m] = json.getString("user");

                }
            } catch (JSONException e) {
                e.printStackTrace();
            }

            return json;
        }

        @Override
        protected void onPostExecute(JSONObject json) {
            super.onPostExecute(json);
            // dismiss the dialog after getting all products
            progressDialog.dismiss();
            try {

                String userid = json.getString("userid");
                String name = json.getString("name");
                String email = json.getString("email");
                String department = json.getString("department");
                String gender = json.getString("gender");
                String ssid = json.getString("ssid");
                String birthdate = json.getString("birthdate");
                String phid = json.getString("phid");

                // displaying all data in textview
                UserId.setText(userid);
                fName.setText(name);
                Email.setText(email);
                // displaying all data in textview
                Add.setText(department);
                Sex.setText(gender);
                Conts.setText(ssid);
                Bday.setText(birthdate);
                txtCredits.setText(phid);

            } catch (Exception e) {
                e.printStackTrace();
            }

        }

    }

}

读一读吧!原因:java.lang.NullPointerException 12-28 15:01:03.797:E/AndroidRuntime2565:at com.example.itmaproject.Profile$DownloadStylist.doInBackgroundProfile.java:104第104行是什么?我猜用户名是空的。在此方法上设置断点,单步执行并检查。Debugger将在30秒后发现这一点。您需要调查makeHttpRequest返回null的原因。第104行之前的日志中的任何异常都是log.dProfile JSON:,JSON.toString;哈哈,你知道怎么使用调试器吗?顺便说一句,这对找出这些问题非常有帮助:您应该总是期望从对外部资源的调用中获得异常和null返回,并正确地处理它们。您还应该学习如何使用调试器。
Log.d("Profile JSON: ", json.toString());