Ficheros en Android
Manejo de ficheros
Gestión de datos (2 – Ficheros)
I/O Streams
Lectura y Escritura de Ficheros en Java
BufferedInputStream and BufferedOutputStream in java
Cómo acceder a archivos específicos de la app
File directory = getApplicationContext().getFilesDir(); mostrarMensaje(directory.toString());
Ejemplo: Ficheros en memoria interna
Código de FicherosMemoriaInterna
Ejemplo: Ficheros en memoria externa
Ejemplo: Permiso en memoria externa
Añadir el permiso al manifiesto:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission-sdk-23 android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
build.gradle
android { compileSdkVersion 28 buildToolsVersion "30.0.2" buildFeatures { viewBinding true }
layout
MainActivity
public class MainActivity extends AppCompatActivity implements View.OnClickListener { public static final String FICHERO = "ficheroExterna.txt"; private static final int REQUEST_WRITE = 1; private ActivityMainBinding binding; private Memoria memoria; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); binding = ActivityMainBinding.inflate(getLayoutInflater()); View view = binding.getRoot(); setContentView(view); binding.botonEscribir.setOnClickListener(this); binding.botonLeer.setOnClickListener(this); } @Override public void onClick(View view) { // Si pulsamos en el botón escribir if (view == binding.botonEscribir) guardar(); // Si pulsamos en el botón leer else if (view == binding.botonLeer) leer(); }
public void guardar() { String permiso = Manifest.permission.WRITE_EXTERNAL_STORAGE; // comprobar los permisos if (ActivityCompat.checkSelfPermission(this, permiso) != PackageManager.PERMISSION_GRANTED) { // pedir los permisos necesarios, porque no están concedidos ActivityCompat.requestPermissions(this, new String[]{permiso}, REQUEST_WRITE); // Cuando se cierre el cuadro de diálogo se ejecutará onRequestPermissionsResult } else { // Permisos ya concedidos escribir(); } } @Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { String permiso = Manifest.permission.WRITE_EXTERNAL_STORAGE; // chequeo los permisos de nuevo switch (requestCode) { case REQUEST_WRITE: if (ActivityCompat.checkSelfPermission(this, permiso) == PackageManager.PERMISSION_GRANTED) { // permiso concedido escribir(); } else { // no hay permiso mostrarMensaje("No hay permiso para escribir en la memoria externa"); } break; } } private void mostrarMensaje(String texto) { Toast.makeText(this, texto, Toast.LENGTH_SHORT).show(); }
clase Memoria
public class Memoria { public static boolean escribirExterna(String fichero, String cadena) throws IOException{ } private static boolean escribir(File fichero, String cadena) throws IOException { } public static String mostrarPropiedades(File fichero) { } public static String mostrarPropiedadesExterna(String fichero) { } public static boolean disponibleEscritura() { } public static boolean disponibleLectura() { } public static String leerExterna(String fichero) throws IOException { } private static String leer(File fichero) throws IOException { } }
escribir
private void escribir() { }
leer
private void leer() { }
Recursos adicionales
Descripción general del almacenamiento de archivos y datos
Para obtener información adicional sobre permisos, consulta los siguientes artículos:
Para descubrir cómo solicitar permisos, descarga las siguientes apps de ejemplo:
Tarea online: Alarmas
Deja una respuesta
Lo siento, debes estar conectado para publicar un comentario.