android - 在移动应用程序中运行进度对话框后如何调试 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);
解决方案
推荐阅读
- angular - Mat checkbox.. CheckAll 和 Uncheck All - Angular Material 6
- regex - Google Script 从单元格中获取文本(Spredsheet 特殊字符,如ç、à、é、è)并在 Google Doc 文档中搜索
- python - Python 请求获得最终链接
- php - 使用 PHP 的 Goog Cloud Storage Acl 和/或存储桶
- postgresql - Postgres 更改索引与删除索引并创建索引
- json - SyntaxError:位置 1 的 JSON 中的意外标记 a
- javascript - 带有纯 JavaScript 的随机背景颜色生成器(无 jquery)
- android - 如何根据改造请求传递对象数组?
- sharepoint - 年龄列的 Sharepoint IF 语句
- docker - 运行 docker-compose 的 TFS powershell 任务失败