首页 > 解决方案 > 在移动应用程序中运行进度对话框后如何调试 AsyncTask 及其方法?

问题描述

我是 Android 开发的新手。我正在代码中设置调试器点,并尝试postexecute()使用AsyncTask().

我无法进行调试,因为它在preExecute()完成后从窗口中出来。

即使是实时的,应用程序也不会崩溃,在进度对话框被关闭后,它会将我带到主页。

我甚至需要调试 doInbackground 和 postExecute() 方法。我在这里会犯什么错误?

new MakeRequestAndResponse().executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, edtPhone,
                edtPass, "android", gcmToken, version, mAndroidId);

class MakeRequestAndResponse extends AsyncTask<String, Integer, String> {
    private ProgressDialog pr;

    @Override
    protected void onPreExecute() {
        super.onPreExecute();
        pr = new ProgressDialog(Activity_Login.this);
        s = new SpannableString("Verifying credentials..");
        s.setSpan(new TypefaceSpan(Activity_Login.this, "Lato-Regular.ttf"), 0, s.length(),
                Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        pr.setMessage(s);
        pr.setIndeterminate(false);
        pr.setCancelable(false);
        pr.show();
    }

    @Override
    protected String doInBackground(String... param) {
        JSONObject jsonObj = null;
        try {

            try {
                jsonObj = makeRequest(param[0], param[1], param[2], param[3], param[4], param[5]);
            } catch (Exception e) {
            }

            if (jsonObj == null) {
                return "null response";
            } else {
                return jsonObj.toString();
            }
        } catch (Exception e) {
            return "null response";
        }
    }

    @Override
    protected void onPostExecute(String json) {

        if (pr.isShowing() && pr != null) {
            pr.dismiss();
        }
        Log.d(TAG, json);
        System.out.println("Login Json Response:"+json);

标签: android

解决方案


推荐阅读