使用Dropbox API列出Dropbox的所有文件夹和文件

时间:2012-03-03 12:26:43

标签: android dropbox

我正在寻找教程,以便在列表视图中显示所有文件和文件夹..但我没有得到任何东西..这里的任何人都知道如何将Dropbox的所有文件夹和文件显示到我的列表视图中..所以,当我点击任何文件时......然后该文件开始下载..

我在这里知道如何从Dropbox下载文件,但为此我需要以静态方式将该文件的名称放在我的代码中..

我之后也会使用过滤器来处理.csv文件...但我想在列表视图中显示所有文件。

谢谢..

3 个答案:

答案 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;
        }

    }