Skip to content

Commit

Permalink
Basic picasa file download.
Browse files Browse the repository at this point in the history
  • Loading branch information
Kajsa Goffrich and Rickard Lindberg authored and kajgo committed Jan 13, 2013
1 parent 21e827e commit d2c4a29
Show file tree
Hide file tree
Showing 2 changed files with 61 additions and 1 deletion.
1 change: 1 addition & 0 deletions photobox/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
<uses-sdk android:minSdkVersion="8" />

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

<application
android:icon="@drawable/ic_launcher"
Expand Down
61 changes: 60 additions & 1 deletion photobox/src/com/photobox/app/PicasaActivity.java
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
package com.photobox.app;

import java.io.File;
import java.io.*;
import java.net.*;
import java.util.*;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.util.*;
import android.content.*;
import android.os.Bundle;
import android.os.Environment;
import android.view.View;
Expand Down Expand Up @@ -73,10 +75,67 @@ public void onItemClick(AdapterView<?> parent, View view, int position, long id)
Log.d("PicasaActivity", " photo = " + thing);
}
}
Log.d("PicasaActivity", "PATH = " + new ContextWrapper(getBaseContext()).getFilesDir());

File destinationDir = new File("/mnt/sdcard/data/com.photobox/photos");
new FileDownloader(destinationDir, things).start();

Intent intent = new Intent(getBaseContext(), PhotoboxActivity.class);
intent.putExtra("action", "dir");
intent.putExtra("dir", destinationDir.getAbsolutePath());
startActivity(intent);
}
});
}

class FileDownloader {
private File folder;
private List<String> urls;

public FileDownloader(File folder, List<String> urls) {
this.folder = folder;
this.urls = urls;
}

public void start() {
wipeFolder();
downloadEachPhoto();
}

private void wipeFolder() {
folder.mkdirs();
for(File file : folder.listFiles()) {
file.delete();
}
}

private void downloadEachPhoto() {
for(String url : urls) {
downloadFile(new File(folder, "foo.jpg"), url);
return;
}
}

private void downloadFile(File destination, String url) {
try {
HttpURLConnection connection = (HttpURLConnection)new URL(url).openConnection();
connection.setDoOutput(true);
connection.setRequestMethod("GET");
InputStream is = connection.getInputStream();
FileOutputStream fos = new FileOutputStream(destination);
int c;
while ((c = is.read()) != -1) {
fos.write(c);
}
fos.close();
is.close();
} catch (Exception e) {
Log.d("PicasaApi", "failed to downloadFile: " + e.toString(), e);
}
}

}

private String[] getAlbumTitlesArray(List<PicasaAlbum> albumList) {
List<String> albumStrings = new ArrayList<String>();
for(PicasaAlbum album : albumList) {
Expand Down

0 comments on commit d2c4a29

Please sign in to comment.