Warten progress bar in android

In meiner android-Anwendung, kopiere ich einige Daten aus der server-Datenbank in die lokale Datenbank. Der code ist unten geschrieben. Es dauert über 15 Minuten. Bei langsameren verbindungen kann es überschritten werden. Also will ich das display ein warte-Statusanzeige, sollte die Anzeige "bitte warten", bis die Aufgabe beendet ist. Ich beziehe viele Dinge, aber ich konnte nicht verstehen, wie das warten Fortschrittsbalken im folgenden code.

refresh.setOnClickListener(new OnClickListener(){

public void onClick(View v) {
    mySQLiteAdapter.openToWrite();
    mySQLiteAdapter.deleteAll();
    radapter.openToWrite();
    radapter.deleteAll();
    uadapter.openToWrite();
    uadapter.deleteAll();
            try
                {
                     HttpClient httpclient = new DefaultHttpClient();
                     HttpPost httppost = new HttpPost("http://xxxxxxxxxxxxxxxxxxxxx");
                     HttpResponse response = httpclient.execute(httppost);
                     HttpEntity entity = response.getEntity();
                      is = entity.getContent();
                } catch (UnsupportedEncodingException e) {
                    e.printStackTrace();
                } catch (ClientProtocolException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    e.printStackTrace();
                }
                try {
                    BufferedReader reader = new BufferedReader(new InputStreamReader(
                            is, "iso-8859-1"), 8);
                    StringBuilder sb = new StringBuilder();
                    String line = null;
                    while ((line = reader.readLine()) != null) {
                        sb.append(line + "\n");
                    }
                    is.close();
                    json = sb.toString();
                } catch (Exception e) {
                Toast.makeText(getBaseContext(), e.toString(), Toast.LENGTH_LONG).show();
                }

                try {
                    jObj = new JSONObject(json);
                    contacts = jObj.getJSONArray("get");
                    for(int i = 0; i < contacts.length(); i++){
                    JSONObject c = contacts.getJSONObject(i);
                        if(!c.isNull("rname"))//|| c.getString("rcode").equals(null))
                        {
                            rname = c.getString("rname");
                            rcode = c.getString("rcode");
                            radapter.insert(rcode, rname);
                        }
                        else
                        {
                            rname = "";
                            rcode = c.getString("rcode");
                            radapter.insert(rcode, rname);
                        }
                    }
                    Toast.makeText(getBaseContext(), " Ryot BackUp completed", Toast.LENGTH_SHORT).show();

                } catch (JSONException e) {
                    Toast.makeText(getBaseContext(), "Error"+e.toString(), Toast.LENGTH_LONG).show();
                }
                adapter.deleteAll();
                oadapter.deleteAll();
                e2.setText("Back Up completed");
            }

       });

Mir bitte jemand helfen. Vielen Dank im Voraus

  • Erfahren Sie mehr über die Horizontale Progressbar-und threading-behandeln Sie es entsprechend.
Schreibe einen Kommentar