List all the folder and files of Dropbox using Dropbox API

Kanika picture Kanika · Mar 3, 2012 · Viewed 21.2k times · Source

Am looking for the tutorial to display all the files and folder in a listview..but I didn't get anything..Does anyone here know that how can I show all the folder and files of Dropbox into my listview..So that when I click on any of the file..Then that file starts download..

Well I know here that How to download a file from Dropbox, but for that I need to put that name of the file in my code in a static way..

I am also going to use filter afterwards for .csv file only...but I want to show all the files in a listview.

Thanks..

Answer

Amel Jose picture Amel Jose · Jul 19, 2012
            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;

This is what i use. once you have stringarray fnames,you can display it in a listview.

You can display it in a gridview like this

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

                    });