Список всех папок и файлов Dropbox с помощью Dropbox API

Ищем учебник, чтобы отображать все файлы и папку в списке... но я ничего не получил... Кто-нибудь знает, как я могу показать всю папку и файлы Dropbox в моем списке. Так что, когда я нажимаю на любой файл... Затем этот файл начинает загрузку..

Ну, я знаю, что, как загрузить файл из Dropbox, но для этого мне нужно ставить это имя файла в моем коде статическим способом.

Я также собираюсь использовать фильтр для файла .csv только... но я хочу показать все файлы в списке.

Спасибо..

Ответы

Ответ 1

            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, вы можете отобразить их в списке.

Вы можете отобразить его в виде сетки, подобном этому

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

                    });

Ответ 2

Попробуйте этот код, чтобы просмотреть файлы..... Я не знаю больше о Dropbox, попробуйте

 Entry contact = mDBApi.metadata("/", 0, null, true, null);

    List<Entry> CFolder = contact.contents;
    for (Entry entry : CFolder) {
    Log.i("DbExampleLog", "Filename: " + entry.fileName());}

Ответ 3

пожалуйста, используйте этот, это последний 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;
        }

    }