заносить в список файлы / файлы в android

Мне хотелось бы мочь открываться в одном ListView активности файлы, которые содержит мое приложение. Эти файлы сохранялись в другой активности, и всегда с тем же расширением (.prop из-за того, что делает ее единственной).

Что я не осознаю, как получать в array список этих файлов (так как я не считаю идею откуда этой сохраняя каждый файл .prop).

Я присоединяю вас код, когда я сохраняю каждый файл:

final EditText input = new EditText(Insercion.this);

new AlertDialog.Builder(Insercion.this)
        .setTitle("Nombre del fichero")
        .setView(input)
        .setPositiveButton("Guardar", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int whichButton) {
                String editable = input.getText().toString();
                // aquí guardo lo aceptado
                try {
                FileOutputStream fos = openFileOutput(editable+".prop", Context.MODE_WORLD_READABLE);

                ObjectOutputStream salida=new ObjectOutputStream(fos);
                salida.writeObject(carteles);
                fos.close();
                salida.close();
            }catch (Exception e){
                e.printStackTrace();
                System.out.println("ERROR ESCRITURA");
            }
            }
        })
        .setNegativeButton("Cancelar", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int whichButton) {

            }
        }).show();
2
задан 21.04.2017, 03:28
1 ответ

Сначала ты должен принимать во внимание, что, чтобы писать файл, у тебя должно быть место, где писать это, следовательно это неправильное:

FileOutputStream fos = openFileOutput(editable+".prop", Context.MODE_WORLD_READABLE);

Это serГ - в правильное, если ты хотел написать файл в внешнее хранение :

 try {
            //Escribiendo al almacenamiento externo.
            FileOutputStream fos = new FileOutputStream(new File(getExternalFilesDir(null), "test.prop"));
            ObjectOutputStream salida = new ObjectOutputStream(fos);
            salida.writeObject(carteles);
            fos.close();
            salida.close();
        }catch (Exception e){
            e.printStackTrace();
            System.out.println("ERROR ESCRITURA");
        }

не забывай добавить разрешение, чтобы реализовывать эта operaciГіn внутри тебя AndroidManifest.xml:

 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

, Если ты захочешь написать твой файл внутри внутреннее хранение , serГ - в, таким образом:

FileOutputStream fos = new FileOutputStream(new File(getFilesDir(), "test.prop"));

, Чтобы получать файлы внутри каталог, - зная Ваш ubicaciГіn, которая obtendrГ - в, таким образом, согласно тебе cГіdigo:

  String path = getExternalFilesDir(null)+ File.separator;

path serГ - в:

/storage/emulated/0/Android/data/[PAQUETE DE APLICACIÓN]/files/

Восток serГ - в один mГ©todo, чтобы получать файлы внутри каталога, и он добавляет их к listView.

   private void listFilesProp(){
        List<String> list = new ArrayList<String>();
        //obtiene ruta donde se encuentran los archivos.
        String path = getExternalFilesDir(null)+ File.separator;
        File f = new File(path);
        //obtiene nombres de archivos dentro del directorio. 
        File file[] = f.listFiles();
        for (int i=0; i < file.length; i++)
        {
            Log.d("Files", "Archivo : " + file[i].getName());
            //Agrega nombres de archivos a List para ser agregado a adapter.
            list.add(file[i].getName());
        }

        ListView listview = (ListView)findViewById(R.id.listview);
        //Crea Adapter
        ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(
                this,
                android.R.layout.simple_list_item_1,
                list );
        //Configura Adapter a ListView.
        listview.setAdapter(arrayAdapter);
    }

introducir la descripción de la imagen aquí

2
ответ дан 24.11.2019, 14:35
  • 1
    Большое спасибо Елена, с этим - все больше, чем просвет:) – Sergio Cv 19.04.2016, 10:46

Теги

Похожие вопросы