我开发了一个Android应用程序,通过HTTP-Request与服务器进行通信。 有时候请求需要更多时间,因此应用程序只显示黑屏并在几秒后通过。有时黑屏会在几秒钟后出现,您可以反复发送请求。
是否有可能在屏幕加载时禁用onTouch-Events或显示图层?
谢谢。
答案 0 :(得分:1)
使用asyncTask
并在doInBackground()
方法中启动您的httprequest,并阻止用户,只需显示ProgressDialog
:
class YourRequestTask extends AsyncTask<Void, Void, JSONObject> {
ProgressDialog progress;
Context context;
public YourRequestTask(Context context) {
this.context = context;
}
@Override
protected void onPreExecute() {
progress = ProgressDialog.show(context, null,"Please wait...");
}
@Override
protected JSONObject doInBackground(Void... params) {
//do your work here for your http request
}
@Override
protected void onPostExecute(JSONObject result) {
progress.dismiss();
Log.i(TAG, "result is "+result.toString());
}
}