我正在寻找教程,以便在列表视图中显示所有文件和文件夹..但我没有得到任何东西..这里的任何人都知道如何将Dropbox的所有文件夹和文件显示到我的列表视图中..所以,当我点击任何文件时......然后该文件开始下载..
我在这里知道如何从Dropbox下载文件,但为此我需要以静态方式将该文件的名称放在我的代码中..
我之后也会使用过滤器来处理.csv文件...但我想在列表视图中显示所有文件。
谢谢..
答案 0 :(得分:20)
String[] fnames = null;
Entry dirent = mApi.metadata("/", 1000, null, true, null);
ArrayList<Entry> files = new ArrayList<Entry>();
ArrayList<String> dir=new ArrayList<String>();
for (Entry ent: dirent.contents)
{
files.add(ent);// Add it to the list of thumbs we can choose from
//dir = new ArrayList<String>();
dir.add(new String(files.get(i++).path));
}
i=0;
fnames=dir.toArray(new String[dir.size()]);
return fnames;
这就是我使用的。 一旦你有了stringarray fnames,你就可以在listview中显示它。
您可以在这样的网格视图中显示它
final GridView gv=(GridView)temp.findViewById(R.id.gridView1);
ArrayAdapter<String> ad = new ArrayAdapter<String>(mContext, android.R.layout.simple_list_item_1,fnames);
gv.setBackgroundColor(Color.BLACK);
gv.setNumColumns(3);
gv.setGravity(Gravity.CENTER);
gv.setAdapter(ad);
gv.setBackgroundResource(R.drawable.black_cloud1);
gv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
// TODO Auto-generated method stub
Toast.makeText(mContext,gv.getItemAtPosition(arg2).toString(),Toast.LENGTH_SHORT).show();
temp.setData(fnames,gv.getItemAtPosition(arg2).toString());
return;
}
});
答案 1 :(得分:3)
尝试使用此代码列出文件.....我不知道有关Dropbox的更多信息,请尝试
Entry contact = mDBApi.metadata("/", 0, null, true, null);
List<Entry> CFolder = contact.contents;
for (Entry entry : CFolder) {
Log.i("DbExampleLog", "Filename: " + entry.fileName());}
答案 2 :(得分:-1)
请使用这个,这是最新的api .....
public void login(String accessToken) {
DbxRequestConfig requestConfig = DbxRequestConfig.newBuilder("ManualApp")
.withHttpRequestor(OkHttp3Requestor.INSTANCE)
.build();
mDbxClient = new DbxClientV2(requestConfig, accessToken);
}
public List<Metadata> getListFile(String path) {
if (mDbxClient == null) {
RkLogger.e("get files error", "must login first please");
return null;
}
try {
return mDbxClient.files().listFolder(path).getEntries();
} catch (DbxException e) {
RkLogger.e("DbxException ", e.toString());
return null;
}
}