Datei downloaden über DialogBox?

bruce85

Bekanntes Mitglied
Hallo nochmal,
der Titel sagt schon alles, ich habe schon viel gegoogelt und etwas gefunden, leider möchte er einfach nicht downloaden.

Hier ist mal der Code:
Java:
public void updateData(){
        final String file_url = this.getString(R.string.file_url);
        final ProgressDialog myProgress = new ProgressDialog(this);
    	myProgress.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
    	myProgress.setMessage("Videodateien werden heruntergeladen.");
        myProgress.show();
    
        new Thread(new Runnable(){

        	public void run(){
        		try {
        			URL url = new URL(file_url);
        			HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
        			urlConnection.setRequestMethod("GET");
        			urlConnection.setDoOutput(true);
        			urlConnection.connect();

        			File SDCardRoot = Environment.getExternalStorageDirectory();
        			File file = new File(SDCardRoot,"filename.rar");
        			FileOutputStream fileOutput = new FileOutputStream(file);

        			InputStream inputStream = urlConnection.getInputStream();

        			int totalSize = urlConnection.getContentLength();
        			myProgress.setMax(totalSize);
        			int downloadedSize = 0;

        			byte[] buffer = new byte[1024];
        			int bufferLength = 0;
        			int progress = 0;
        			while ( (bufferLength = inputStream.read(buffer)) != -1 ) {
        				fileOutput.write(buffer, 0, bufferLength);
        				downloadedSize += bufferLength;
        				progress = downloadedSize;
        				myProgress.setProgress(progress);
        			}
        			fileOutput.close();
        			myProgress.dismiss();
        		} catch (MalformedURLException e) {
        			e.printStackTrace();
        		} catch (IOException e) {
        			e.printStackTrace();
        		}
        	}
        }).start(); 
	}

Der Dialog öffnet sich zwar, aber es tut sich garnix, der ProgressDialog ist immer auf 0.
Hab ich Vielleicht etwas falsch gemacht?

Ich bedanke mich schonmal im Voraus.

MfG
 

Schandro

Top Contributor
Kann es sein das der ProgressDialog modal ist? Wenn ja musst du den Thread vor
Code:
myProgress.show();
starten, da die Ausführung des Codes so lange gestoppt wird bis der Dialog beendet ist.
 

bruce85

Bekanntes Mitglied
Danke Dir, das hab ich auch versucht, leider das gleiche Problem.

Irgendwas stimmt mit urlConnection.connect(); nicht, wenn ich nach urlConnection.connect(); etwas in die Cosole schreibe zum test, dann wird es nicht mehr ausgeführt.

Kann man das nicht irgendwie anders lösen?

MfG
 

bruce85

Bekanntes Mitglied
Hab das Problem gelöst.
Hatte vergessen das hier:
[XML]<uses-permission android:name="android.permission.INTERNET" />[/XML]
in der AndroidManifest.xml zu setzen.

Danke trotzdem.

MfG
 

bruce85

Bekanntes Mitglied
Noch eine Frage:
Wie kann ich, wenn der erste download beendet ist, einen weiteren download in dem gleichen ProgressDialog starten?

Ich hab das so versucht:
Java:
public void startDownload() {
        final ProgressDialog myProgress = new ProgressDialog(this);
    	myProgress.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
        myProgress.show();
    	new Thread(new Runnable(){
    		 
    		public void run(){
    	try {
        	for (int i=0; i<videoAnz; i++) {
        		if (videos[i].download == 1) {
        			downloadNr = downloadNr + 1;
        			final String file_url = videos[i].dUrl;
        	    	myProgress.setMessage("Videodateien werden heruntergeladen ("+downloadNr+"/"+downloadAnz+")");
        	    	
		    		URL url = new URL(file_url);
		            HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
		            urlConnection.setRequestMethod("GET");
		            urlConnection.setDoOutput(true);
		            urlConnection.connect();
		
		            FileOutputStream fileOutput = new FileOutputStream(videos[i].dOrt);
		            InputStream inputStream = urlConnection.getInputStream();
		            int totalSize = urlConnection.getContentLength();
		            myProgress.setMax(totalSize);
		            int downloadedSize = 0;
		 
		            byte[] buffer = new byte[1024];
		            int bufferLength = 0;
		            int progress = 0;
		            while ((bufferLength = inputStream.read(buffer)) != -1) {
		                    fileOutput.write(buffer, 0, bufferLength);
		                    downloadedSize += bufferLength;
		                    progress = downloadedSize;
		                    myProgress.setProgress(progress);
		            }
		            fileOutput.close();
		            myProgress.dismiss();
        		}
        	}
        } catch (MalformedURLException e) {
                e.printStackTrace();
        } catch (IOException e) {
                e.printStackTrace();
        }
    		}
    	}).start();
    }

wenn es dann mehr als einmal durchläuft bei der for Schleife (videoAnz), dann bekomm ich einen Thread Exception.

Kann mir da Vielleicht jemand weiterhelfen?

MfG
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
JavaWolf165 Android Fehler beim Speichern/Downloaden einer Datei Android & Cross-Platform Mobile Apps 2
I Foto mit einer bestimmten Auflösung aufnehmen und als Datei ablegen. Android & Cross-Platform Mobile Apps 5
I Android CameraApp, eingebaute App nutzen und Ergebniss als Datei speichern Android & Cross-Platform Mobile Apps 0
R Android Audio-Datei fliessend vorspulen Android & Cross-Platform Mobile Apps 9
J Android Zugriff auf eine Datei, diese von einer anderen App erstellt wurde? Android & Cross-Platform Mobile Apps 11
T Screenshot speichern ohne alte Datei überschreiben Android & Cross-Platform Mobile Apps 3
R Audio-Datei abspielen Android & Cross-Platform Mobile Apps 3
L Android content URI Datei einlesen Android & Cross-Platform Mobile Apps 9
S Android Datei aus dem Netz einlesen Android & Cross-Platform Mobile Apps 6
V Android Wird mein Vorhaben funktionieren? (Apk Datei decompilieren, bearbeiten, compilieren) Android & Cross-Platform Mobile Apps 2
L Android Datei Übertragung im Netzwerk Android & Cross-Platform Mobile Apps 8
S Termin aus *.txt Datei in Google Kalender eintragen? Android & Cross-Platform Mobile Apps 1
S *.APK Datei automatisch installieren? Android & Cross-Platform Mobile Apps 4
B Android XML Datei editieren --> Permission denied Android & Cross-Platform Mobile Apps 2
M Android Speichern einer .txt Datei im InternalStorage Android & Cross-Platform Mobile Apps 2
B Android Absolute kml-Datei erzeugen Android & Cross-Platform Mobile Apps 2
B Fragen zum Speichern einer Datei auf dem Gerät? Android & Cross-Platform Mobile Apps 7
S Listview Einträge aus "xml" Datei Android & Cross-Platform Mobile Apps 1
G Datei erstellen Android & Cross-Platform Mobile Apps 10
L Android Apache POI: Datei speichern geht nicht Android & Cross-Platform Mobile Apps 1
A Android Datei erstellen/schreiben/auslesen Android & Cross-Platform Mobile Apps 1
K Android Erstellt Ordner statt Datei. Android & Cross-Platform Mobile Apps 3
M Datei verschicken per byteArray? Android & Cross-Platform Mobile Apps 1
L Android Datei erstellen, Daten einspeichern und auslesen Android & Cross-Platform Mobile Apps 2
G Datei im Ordner speichern Android & Cross-Platform Mobile Apps 2
G Datei erzeugen, per E-Mail senden Android & Cross-Platform Mobile Apps 5
D Android WAV-Datei abspielen / Klangfolge(Endlos) Android & Cross-Platform Mobile Apps 4
A Android Eine Datei in Android löschen, aber wie ? Android & Cross-Platform Mobile Apps 24
D gpx-Datei von Smartphone auf Server uploaden Android & Cross-Platform Mobile Apps 4
U [Android] Eine Datei aus Jar-Archiv laden Android & Cross-Platform Mobile Apps 4
E Java ME Suche aufgenommene Datei Android & Cross-Platform Mobile Apps 4
T Android Ergebnis eines XML+XSLT "transform" in eine HTML - Datei schreiben (Android) Android & Cross-Platform Mobile Apps 2
K mp3 datei in j2me abspielen Android & Cross-Platform Mobile Apps 16
M Text in txt-Datei schreiben und nach ABC sortieren? Android & Cross-Platform Mobile Apps 2
R String wie WAV Datei nutzen Android & Cross-Platform Mobile Apps 4
A jad-Datei to N95 Android & Cross-Platform Mobile Apps 18
C 2 kleine Probleme (Datei lesen, String durchsuchen) Android & Cross-Platform Mobile Apps 16
L SecurityException beim lesen/schreiben eine Datei Android & Cross-Platform Mobile Apps 7
G WAV datei abspielen aber wohin kopieren ? Android & Cross-Platform Mobile Apps 2
S Variable Anzahl von Bytes aus einer Datei lesen Android & Cross-Platform Mobile Apps 2
K Null-Pointer-Exception in ListView - wird über Datenbank gefüllt Android & Cross-Platform Mobile Apps 1
M Einfache Rechenoperation über TCP Server Android & Cross-Platform Mobile Apps 15
H Android Anklickbare Region über RadioButton zentrieren Android & Cross-Platform Mobile Apps 1
B Android TCP-Verbindung zum Server über welche Prozess auslagerung nutzen? Android & Cross-Platform Mobile Apps 1
S Android Absoluter Neuling: EditText zur Laufzeit verändern bzw. über Button Android & Cross-Platform Mobile Apps 2
V Bytes (Wertebereich 0-255) über BLE empfangen,lesen und speichern Android & Cross-Platform Mobile Apps 1
L Android SQLite mit HSQLDB über Android synchronisieren Android & Cross-Platform Mobile Apps 13
Florum Android FTP Upload über Android Android & Cross-Platform Mobile Apps 15
T Musik über Bluetooth streamen Android & Cross-Platform Mobile Apps 2
B Android Mehrer Hexwerte über outputstream senden, und empfangen (Bluetoth) Android & Cross-Platform Mobile Apps 9
R W-Lan Problem über Sockets Android & Cross-Platform Mobile Apps 1
R Android App mit ausgeschaltetem Display über Volume-Tasten steuern Android & Cross-Platform Mobile Apps 0
A Android Login über Serveranbindung Android & Cross-Platform Mobile Apps 3
T Android Druckauftrag über Mobiles Internet Android & Cross-Platform Mobile Apps 2
L Android Android über Java Code connecten? Android & Cross-Platform Mobile Apps 2
N Java ME Server-Client Verbindung über Wifi Android & Cross-Platform Mobile Apps 6
D Android JMS über Android Android & Cross-Platform Mobile Apps 4
S DTMF-Töne über MIDlet senden Android & Cross-Platform Mobile Apps 3
Kidao Wie schließt man ein Midlet über Tasten? Android & Cross-Platform Mobile Apps 3
G SMS über Handy SMS Interface versenden Android & Cross-Platform Mobile Apps 5
B RFCOMM über serielle Schnittstelle RS 232 MIDLET Android & Cross-Platform Mobile Apps 1
T Installation über WAP Android & Cross-Platform Mobile Apps 3
J Bücher über Java-Spiele-Programmierung Android & Cross-Platform Mobile Apps 3
B Kann man bei Nokia-Handy's über Java die IR ansteuern? Android & Cross-Platform Mobile Apps 6

Ähnliche Java Themen

Neue Themen


Oben