2012-09-08 4 views
2


J'essaye d'obtenir un progressbardialog horizontal pour le tableau de json que je télécharge d'Internet. Voici mon code actuelHttpGet JSONArray android Barre de progression

protected JSONArray doInBackground(Date... arg0) { 
    try { 
    BufferedReader in = null; 
    String result = null; 

    HttpClient client = new DefaultHttpClient(); 
    HttpConnectionParams.setSoTimeout(client.getParams(), 30000); 
    HttpConnectionParams.setConnectionTimeout(client.getParams(), 
      30000); 

    String getter = arg0[0].getDate(); 

    URI website = new URI("http://10.0.2.2/bmorg/getEvent?day=" + getter); 

    HttpGet request = new HttpGet(); 
    request.setURI(website); 

    HttpResponse response = client.execute(request); 

    in = new BufferedReader(new InputStreamReader(response 
      .getEntity().getContent())); 

    StringBuffer sb = new StringBuffer(""); 
    String l = ""; 
    String nl = System.getProperty("line.seperator"); 
    while ((l = in.readLine()) != null) { 
     sb.append(l + nl); 
    } 

    in.close(); 
    result = sb.toString(); 

    return new JSONArray(result); 
    } catch (Exception e) { 
    _worked = false; 
    e.printStackTrace(); 
    } 
    return null; 
} 

Cela fonctionne très bien, mais ce que je veux est un état de téléchargement. Je ne sais pas comment obtenir la taille de ma demande Http et les octets téléchargés pour mettre cela à la méthode onChange de la barre de progression.

Répondre

0

Mise à jour vos progrès ici:

while ((l = in.readLine()) != null) { 
     sb.append(l + nl); 
    } 

Vous pouvez utiliser AsyncTask.publishProgress et AsyncTask.onProgressUpdate méthodes pour cela.

Questions connexes