在我的应用程序中,我有一个帐户激活表单,通过Internet.IN进行身份验证。平均时间(单击激活按钮后)我希望向用户显示某种UI,以便他知道激活是在进展。请你能和我分享这些代码。 另外,如何在激活应用程序后创建成功的文件。谢谢
答案 0 :(得分:2)
您可以像这样使用Async任务
在OnCreate
之前声明一个进度对话框ProgressDialog对话框;
并添加一个使用AsyncTask扩展的类,如
private class LongOperation extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... params) {
// perform the action which you want to do
return null;
}
/*
* (non-Javadoc)
*
* @see android.os.AsyncTask#onPostExecute(java.lang.Object)
*/
@Override
protected void onPostExecute(String result)
{
// execution of result of Long time consuming operation
// perform task which you want to display once background task is finished
dialog.dismiss();
}
/*
* (non-Javadoc)
*
* @see android.os.AsyncTask#onPreExecute()
*/
@Override
protected void onPreExecute() {
// initialize dialog
dialog = new ProgressDialog(Comment.this);
// set message
dialog.setMessage("Please wait while processing");
dialog.setIndeterminate(true);
dialog.setCancelable(false);
dialog.show();
}
/*
* (non-Javadoc)
*
* @see android.os.AsyncTask#onProgressUpdate(Progress[])
*/
@Override
protected void onProgressUpdate(Void... values)
{
}
}
也可以参考此链接,
http://www.vogella.com/articles/AndroidPerformance/article.html#asynctask
答案 1 :(得分:1)
看看:http://developer.android.com/reference/android/os/AsyncTask.html 当线程在后台执行时,您可以提供自己的加载布局。非常容易使用。
答案 2 :(得分:0)
当您使用AsyncTask
来完成此操作时,我假设您已阅读文档。如果没有,我可以为您提供一个例子:
public void doInBackground(Void... arg0) {
int i;
for(i = 0; i < 10; i++) {
publishProgress(i);
}
}
从doInBackground
方法将进度发布到onProgressUpdate
方法
public void onProgressUpdate(int arg0) {
Log.d(arg0);
}