Frage

„onCreate“ I-Daten von web.The Dauer des Herunterladens von Daten bin Download ist 10 sec. Ich wan't ProgressDialog zu haben, während das Herunterladen von Daten ist. Hier ist mein Code, aber die ProgressDialog nicht angezeigt wird:

public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    ProgressDialog dialog = ProgressDialog.show(Test.this, "", 
        "Loading. Please wait...", true);

     try {
         URL myURL = new URL("http://www.sample.com/");
         URLConnection ucon = myURL.openConnection();
         InputStream is = ucon.getInputStream();
         BufferedInputStream bis = new BufferedInputStream(is);
         ByteArrayBuffer baf = new ByteArrayBuffer(50);
         int current = 0;
          while((current = bis.read()) != -1){
                  baf.append((byte)current);
          }

          content= new String(baf.toByteArray());

     }
     catch (Exception e) {}
     dialog.dismiss();
}
War es hilfreich?

Lösung

Der beste Ansatz, um diese Art von Dingen zu tun, ist mit AsyncTask, um die Anwendung nicht einfrieren, während Sie die Datei herunterladen. Außerdem was ist, wenn Sie geben Ihren Benutzern eine bessere Erfahrung durch einen Fortschrittsbalken-Dialog, anstatt einen einfachen Dialog. Es ist nicht schwer zu implementieren; Sie können sehen, ein Beispiel hier: herunterladen einer Datei mit Android, und zeigt den Fortschritt in einem ProgressDialog

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top