从服务器下载数据时设置progressBar

时间:2012-02-17 13:49:29

标签: android

我有一个应用程序,当用户登录时,会从服务器下载一些数据并将它们存储在本地数据库中。

问题是我想在下载过程中显示一个进度条,因为它需要很长时间,即使出现问题而用户也看不到它,应用程序似乎也会阻塞。

另外,如何制作这个进度条,我已经阅读了一些新线程的例子(异步任务,但问题是我不知道如何使用它们。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

这是一个示例代码集。

 public class HttpActivity extends Activity implements OnClickListener
{
   @Override  
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    ...
}
public void onClick(View v) {
    if(v.getId() == R.id.signin_get_button){
        ...
        signInGet(givenUsername, givenPassword);
    }       
}   
private void signInGet(String username, String password){

    class HttpGetAsycTask extends AsyncTask<String, Void, String>{

        private ProgressDialog dialog = ProgressDialog(HttpActivity.this, "Sign In", "Communicating with the server", true);

        @Override
        protected String doInBackground(String... params) {
            //Do your downloading Here......
        }

        @Override
        protected void onPostExecute(String result) {
            super.onPostExecute(result);
            dialog.dismiss();
            ...
        }
@Override
        protected void onPreExecute(String result) {
            super.onPreExecute(result);
            dialog.show();
            ...
        }
    }

    HttpGetAsycTask httpGetAsycTask = new HttpGetAsycTask();
    httpGetAsycTask.doInBackground(username, password);
}
}