1. Hast Du Lust, bei uns mitzuarbeiten und das AH-Team zu verstärken? Alle Details zu dieser aktuellen Herausforderung findest Du hier.
  1. Sico, 09.05.2010 #1
    Sico

    Sico Threadstarter Fortgeschrittenes Mitglied

    Hallo,

    ich habe hier mal ein bischen Code zum Thema DateiDownload mit Progressbar...

    Meine Frage, kann man das noch einfacher, eleganter lösen?

    Code:
    package de.download;
    
    import java.io.BufferedOutputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.net.HttpURLConnection;
    import java.net.MalformedURLException;
    import java.net.URL;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.os.Handler;
    import android.os.Message;
    import android.widget.ProgressBar;
    import android.widget.TextView;
    
    
    public class download extends Activity {
        
        
        clockThread thread;
        TextView tv1,tv2;
        ProgressBar pg1;
        long numWritten = 0;
        int contentLength;
    
            @Override
            public void onCreate(Bundle icicle) {
    
                    super.onCreate(icicle);
                    setContentView(R.layout.main);
                    tv1 = (TextView) findViewById(R.id.TextView01);
                    tv2 = (TextView) findViewById(R.id.TextView02);
                    pg1 = (ProgressBar) findViewById(R.id.progressbar_Horizontal);
                    thread = new clockThread();
                    
                        thread.start();
                    
    
                    }
            
            private class clockThread extends Thread {
                @Override public void run() {
                   
    
            DownloadFromUrl("http://cyanogen-updater.googlecode.com/files/update-cm-5.0.7-DS-test3-signed.zip","/sdcard/test.zip");
                }}
                    
            private Handler showAdressResults = new Handler() {
                  public void handleMessage(Message msg) {
                      pg1.setMax(contentLength);
                      pg1.setProgress((int)numWritten);
                      tv2.setText("Downloadgröße: "+new Integer(contentLength).toString());  
                    tv1.setText("Downloade: "+new Long(numWritten).toString());  
                  }
                
            };
            
            
            public void DownloadFromUrl(String DURL, String fileName) {  
                    
                        
                        
                        try {
                            
                            String urlStr = DURL;
                            URL url = new URL(urlStr);
                            HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
                            contentLength = httpConn.getContentLength();
                            
                            
                            OutputStream out = new BufferedOutputStream(
                            
                            new FileOutputStream(fileName));
                            InputStream inStream = httpConn.getInputStream();
                            
                            byte[] buffer = new byte[1024];
                            
                            int numRead;
                            
                            
                            
                            while ((numRead = inStream.read(buffer)) != -1) {
                            
                            out.write(buffer, 0, numRead);
                            
                            numWritten += numRead;
                            showAdressResults.sendEmptyMessage(0);
                            }
                            
                            
                            httpConn.disconnect();
                            
                            
                           
    
                        } catch (MalformedURLException e) {
                            
                            e.printStackTrace();
                        } catch (IOException e) {
                            
                            e.printStackTrace();
                        }
                        
                    
                     
                    
            }
    
            
    }
    
    
    
    
            
     
Die Seite wird geladen...
Ähnliche Themen Forum Datum
[OFFEN] Verständnisprobleme: APK Expansion Files für eine APK > 100MB Android App Entwicklung 10.09.2017
[ERLEDIGT] Widget reagiert nicht auf Click mit anschliessendem Http-Request Android App Entwicklung 04.07.2017
[ERLEDIGT] Notifications in Fragment geht überhaupt nicht!!! Android App Entwicklung 14.03.2017
Zeitkritische Programmierung - Einfache Möglichkeiten..? Android App Entwicklung 05.02.2017
Uri oder File path als String speichern zum wiederauslesen Android App Entwicklung 26.01.2017
Probleme mit NFC File Transfer Android App Entwicklung 21.01.2017
AsyncTasks: "FTP Download" / "FTP liste Daten in Verzeichnis" Probleme Android App Entwicklung 16.01.2017
DDMS FIle Explorer keine Dateien mehr vorhanden Android App Entwicklung 16.11.2016
Clientseitige Speicherung der Bilder Android App Entwicklung 31.10.2016
Einfache App mit Timer Android App Entwicklung 07.10.2016
Du betrachtest das Thema "File Download....gehts auch einfacher, eleganter?" im Forum "Android App Entwicklung",