Android 下载json时如何更新progressBar

Android 下载json时如何更新progressBar,android,Android,我想下载一个文件 我放了一个进度条来下载Jason。。 我的问题是进度条没有更新。 正确下载,但不更新进度条 有什么问题? java代码: public class GetJsonTask extends AsyncTask<String, String, String> { @Override protected void onProgressUpdate(String... progress) {

我想下载一个文件 我放了一个进度条来下载Jason。。 我的问题是进度条没有更新。 正确下载,但不更新进度条 有什么问题? java代码:

    public class GetJsonTask extends AsyncTask<String, String, String>
    {
        @Override
          protected void onProgressUpdate(String... progress) {
                // setting progress percentage

                dialog.setProgress(Integer.parseInt(progress[0]));
           }
        protected void onPreExecute() 
        { 
            dialog = new ProgressDialog(MainActivity.this); 
            dialog.setMessage("Downloading " +  " from the server. Please wait.");
            dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
            dialog.setCancelable(false); 
            dialog.setCanceledOnTouchOutside(false);
            dialog.show();
        }



        @Override
        protected String doInBackground(String... urls) {
            // TODO Auto-generated method stub
             try {
                    InputStream inputStream = null;
                    DefaultHttpClient defaultHttpClient = new DefaultHttpClient();
                    HttpPost httpPost = new HttpPost(urls[0]);
                    HttpResponse httpResponse = defaultHttpClient.execute(httpPost);
                    HttpEntity httpEntity = httpResponse.getEntity();
                    inputStream = httpEntity.getContent();
                    BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream, "iso-8859-1"), 8);
                    StringBuilder sb = new StringBuilder();
                    String line = null;
                    while ((line = reader.readLine()) != null) {
                        sb.append(line + "\n");
                    }
                    byte data[] = new byte[1024];

                    long total = 0;

                    while ((count = reader.read()) != -1) {
                        total += count;
                        // publishing the progress....
                        // After this onProgressUpdate will be called
                        publishProgress(""+(int) ((total*100) / 10000) );




                    }
                    inputStream.close();
                    String result = sb.toString();

                    return result;
                } catch (Exception ex) {
                      Log.e("aa2", "erroor2"+ex.toString());
                    return null;
                }





        }
        @Override
        protected void onPostExecute(String result) {
            // TODO Auto-generated method stub
            super.onPostExecute(result);

             dialog.dismiss();
            }
}
公共类GetJsonTask扩展异步任务
{
@凌驾
受保护的void onProgressUpdate(字符串…进度){
//设置进度百分比
setProgress(Integer.parseInt(progress[0]);
}
受保护的void onPreExecute()
{ 
dialog=新建ProgressDialog(MainActivity.this);
setMessage(“正在从服务器下载“+”,请稍候”);
设置ProgressStyle(ProgressDialog.STYLE_水平);
对话框。可设置可取消(false);
对话框。setCanceledOnTouchOutside(false);
dialog.show();
}
@凌驾
受保护的字符串doInBackground(字符串…URL){
//TODO自动生成的方法存根
试一试{
InputStream InputStream=null;
DefaultHttpClient DefaultHttpClient=新的DefaultHttpClient();
HttpPost HttpPost=新的HttpPost(URL[0]);
HttpResponse HttpResponse=defaultHttpClient.execute(httpPost);
HttpEntity HttpEntity=httpResponse.getEntity();
inputStream=httpEntity.getContent();
BufferedReader=新的BufferedReader(新的InputStreamReader(inputStream,“iso-8859-1”),8);
StringBuilder sb=新的StringBuilder();
字符串行=null;
而((line=reader.readLine())!=null){
sb.追加(第+行“\n”);
}
字节数据[]=新字节[1024];
长总计=0;
而((count=reader.read())!=-1){
总数+=计数;
//发布进度。。。。
//在此之后,将调用onProgressUpdate
出版进度(“+(int)((总计*100)/10000));
}
inputStream.close();
字符串结果=sb.toString();
返回结果;
}捕获(例外情况除外){
Log.e(“aa2”,“erroor2”+ex.toString());
返回null;
}
}
@凌驾
受保护的void onPostExecute(字符串结果){
//TODO自动生成的方法存根
super.onPostExecute(结果);
dialog.dismise();
}
}
如中所述,您应该设置
setUndeterminate(false)

的可能重复项