我想从dropbox中获取图片并在我的android应用程序gridview中显示它们。
第一个问题是图像应该在drawable文件夹中,以便在gridview中显示。 第二个问题是如何从dropbox文件夹下载或获取图像。 Dropbox Sync API仅显示我的Dropbox中的数据,而不是我的客户端应用程序上的服务器。
有人可以帮助我解决这些困难吗?
提前致谢。
答案 0 :(得分:0)
这是我实现的方式
public void getMediaList(String MEDIA_PATH) {
Logger.e(MEDIA_PATH);
if (MEDIA_PATH != null) {
try {
Entry dirent = mApi.metadata(MEDIA_PATH, 0, null, true, null);
for (Entry ent: dirent.contents) {
System.out.println("/"+ent.path);
if (ent.isDir) {//ent.path
scanDirectory(ent);
} else {
addSongToList(ent);
}
}
} catch (DropboxException e) {
e.printStackTrace();
}
getFile();
}
}
ArrayList<String> List_dropBox_images = new ArrayList<String>();
private void getFile()
{
for (int i = 0; i < list.size(); i++) {
try {
System.gc();
DropboxLink shareLink = mApi.share(list.get(i).get("Path"));
Logger.e("",""+shareLink.url);
String shareAddress = getLocation(shareLink.url);
if(shareAddress==null) continue;
String shareAddress_f= shareAddress.replaceFirst("https://www.dropbox.com/", "https://dl.dropboxusercontent.com/");
Logger.e(""," address "+shareAddress_f);
List_dropBox_images.add(shareAddress_f);
}catch (Exception e) {
System.gc();
e.printStackTrace();
}
}
}
private String getLocation(String link) {
try {
final URL url = new URL(link);
final HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setInstanceFollowRedirects(false);
return urlConnection.getHeaderField("location");
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return link;
}
所有解决方案
试一试,享受编码..