Aplicacion explorador de archivos

  • Respuestas:1
Lionheart
  • Posts del Foro: 1

12 abr. 2016 19:55:50 vía Web

Estoy trabajando en una aplicaacion y necesito crear un explorador para poder seleccionar videos que esten en el movil.

Busque como hacer un explorador y encontre el codigo de un explorador(como no puedo poner la url y el codigo es largo pues no se como mostrarlo)

Pero no me funciona la aplicacion ya que en el codigo de la main activity crea una clase GridAdapter que no indica como hacerla.

codigo de la main:

    package com.itimetux.timeexplorer;

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;

import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.GridView;


public class MainActivity extends ActionBarActivity {
 private GridView SDS; // Grid
 private ArrayList<String> SD_CARDS; // Rutas de almacenamiento

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main); // Asignamos el layout principal
        SDS = (GridView) findViewById(R.id.sdcards); // Definimos el grid
        SD_CARDS = getAllsds();  // Definimos las rutas de almacenamiento
        final GridAdapter gadapter = new GridAdapter(this,
    R.layout.sdcards, SD_CARDS); // Creamos un adaptador
        SDS.setAdapter(gadapter); // Le asignamos el adaptador al grid
        SDS.setOnItemClickListener(new OnItemClickListener() { 
         // Manejamos los clic sobre los elementos del grid
   @Override
   public void onItemClick(AdapterView<?> a, View v,
     final int position, long id) {
    // Vamos a iniciar una nueva actividad pasando como extra la ruta de almacenamiento
    Intent in = new Intent(MainActivity.this, Explorador.class);
    in.putExtra("SD", SD_CARDS.get(position));
    startActivity(in); // Inicamos la actividad
   }
  });
    }

    private ArrayList<String> getAllsds() {
  ArrayList<String> tmp = new ArrayList<String>(); // Array de todas las rutas

  String rutas[] = { "/mnt/", "/storage/" }; // Rutas posibles

  for (int i = 0; i < rutas.length; i++) {
   File file = new File(rutas[i]);// Ruta actual ( listamos de uno a uno )
   if (!file.exists()) // Si no existe pasamos a la siguiente
    continue;
   System.out.println("Ruta : " + rutas[i]); // Imprimimos para "depurar"
   String f[] = file.list(); // Contenido de ruta actual
   for (int o = 0; o < f.length; o++) { // Recorremos el contenido de la ruta actual
    if (f[o].indexOf("sd") != -1) { // Vemos si contiene sd en el nombre si es asi es almacenamiento
     String ruta = rutas[i] + f[o]; // Creamos una Ruta,esta ruta es la original
     File fd = new File(ruta); // Creamos un nuevo File para evitar rutas repetidas basadas en symlinks
     String toAdd;
     try {
      System.out.println("Canocial :"
        + fd.getCanonicalPath().toString()); // Esta seria la ruta original
      toAdd = fd.getCanonicalPath().toString();
     } catch (IOException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
      toAdd = null;
      continue;
     }
     if (!tmp.contains(toAdd)) { // Si se repitiera no lo añadimos
      System.out.println("A añadir :" + toAdd);
      tmp.add(toAdd);
     }
    }
   }
  }

  return tmp; // Regresamos el Array de almacenamientos
 }
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }
}

Mi pregunta es si alguno sabe de alguna forma como crear un explorador o como completar el codigo que dije antes.

Espero respuestas.

Contestar
jarotillo
  • Posts del Foro: 1

8 jun. 2016 13:12:53 vía Web

A mi me ha pasado lo mismo y buscando he llegado a tu página.
Por lo que veo nadie ha contestado.
He encontrado esta página, está en Ingles pero hace mas o menos lo mismo.
Como no puedo poner la dirección aquí.
Busca: File Explorer code on android studio en google y te sale la primera. tiene código para descarga.

Contestar