2012-03-03 29 views
14

Estoy buscando el tutorial para mostrar todos los archivos y carpetas en una lista ... pero no obtuve nada ... ¿Alguien aquí sabe que cómo puedo mostrar todo la carpeta y los archivos de Dropbox en mi lista de lista ... Así que cuando hago clic en cualquiera de los archivos ... Entonces el archivo comienza a descargar ...Listar todas las carpetas y archivos de Dropbox usando la API de Dropbox

Bueno, aquí sé cómo descargar un archivo de Dropbox, pero para eso Necesito poner ese nombre del archivo en mi código de una manera estática.

También voy a utilizar el filtro después para el archivo .csv solamente ... pero quiero mostrar todos los archivos en una vista de lista.

Gracias ..

+0

yo también necesito misma .. ¿Cuál es –

Respuesta

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; 

Esto es lo que yo uso. una vez que tenga los nombres de stringarray, puede visualizarlo en una vista de lista.

para poder visualizarlo en un gridview como éste

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

        }); 
+0

¿Qué es mApi aquí? ¿Me puede proporcionar una demostración de muestra? – shailesh

+0

@AmelJose ¿qué estoy aquí? – NarendraJi

+0

@shailesh AppKeyPair appKeys = new AppKeyPair (APP_KEY, APP_SECRET); AndroidAuthSession session = new AndroidAuthSession (appKeys); DropboxAPI mApi = new DropboxAPI <> (sesión); – NarendraJi

3

Prueba este código para listar los archivos ..... no sé más sobre Dropbox, probarlo

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

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

mDBApi borre o proporcione cualquier enlace para el proyecto de demostración – shailesh

+0

@shailesh Sé que es tarde: DropboxAPI mDBApi – Lunchbox

-1

por favor utilice éste, que es la última 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; 
     } 

    } 
Cuestiones relacionadas