Ich bin mir nicht ganz sicher, was Sie wollen mit „privaten Ordnern“ zu tun ... aber das ist, wie ich Dateien mit einem Fortschritt Callback herunterladen:
public class Downloader extends Thread implements Runnable{
private String url;
private String path;
private DownloaderCallback listener=null;
public Downloader(String path, String url){
this.path=path;
this.url=url;
}
public void run(){
try {
URL url = new URL(this.url);
URLConnection urlConnection = url.openConnection();
urlConnection.connect();
String filename = urlConnection.getHeaderField("Content-Disposition");
// your filename should be in this header... adapt the next line for your case
filename = filename.substring(filename.indexOf("filename")+10, filename.length()-2);
int total = urlConnection.getContentLength();
int count;
InputStream input = new BufferedInputStream(url.openStream());
OutputStream output = new FileOutputStream(path+"/"+filename);
byte data[] = new byte[4096];
long current = 0;
while ((count = input.read(data)) != -1) {
current += count;
if(listener!=null){
listener.onProgress((int) ((current*100)/total));
}
output.write(data, 0, count);
}
output.flush();
output.close();
input.close();
if(listener!=null){
listener.onFinish();
}
} catch (Exception e) {
if(listener!=null)
listener.onError(e.getMessage());
}
}
public void setDownloaderCallback(DownloaderCallback listener){
this.listener=listener;
}
public interface DownloaderCallback{
void onProgress(int progress);
void onFinish();
void onError(String message);
}
}
es zu benutzen:
Downloader dl = new Downloader("/path/to/save/file", "http://server.com/download");
dl.setDownloaderCallback(new DownloaderCallback{
@Override
void onProgress(int progress){
}
@Override
void onFinish(){
}
@Override
void onError(String message){
}
});
dl.start();
verweisen Sie auf diese [link] (http://stackoverflow.com/a/3028660/3746306). und was genau meinst du mit dem privaten Ordner? –
das bedeutet andere Anwendungen und Benutzer hat keine Berechtigung zum Schreiben oder Lesen (oder Kopieren) von Dateien und Ordnern – FarshidABZ