Bienvenido, les saluda Luis y para hoy les traigo este nuevo artículo.
¿Cómo acceder a los datos de los sensores en tu aplicación de Android? , probablemente también tengas curiosidad por saber cómo puedes analizar esos datos fuera de la aplicación. Tal vez desee buscar patrones en los datos o realizar un seguimiento de los cambios históricos en una aplicación de terceros. Cualquiera que sea su razón, está claro que deberá guardar los datos de sus sensores y acceder a ellos en una herramienta como Excel.
En este artículo, lo guiaré para guardar estos datos en el almacenamiento interno de su teléfono.
Índice
¿Dónde está?
A pesar del resumen anterior, el Documentos de Android nunca defina realmente el término «almacenamiento interno». Quizás peor sea el hecho de que no indican claramente dónde está el almacenamiento interno en el explorador de archivos. No temáis. El almacenamiento interno está AQUÍ:
/data/data/com.example.appname
Idealmente, pensarías que el método de contexto getFilesDir () encontraría esta ubicación. Ese no es siempre el caso y con frecuencia encontrará una ruta como «/data/user/0/com.example.appname» que no se puede encontrar en el árbol de archivos. Esto se debe a que el método getFilesDir () en realidad devuelve una ruta de archivo abstracta que cambiará según el sistema de almacenamiento. Dicho esto, puede obtener la ruta de archivo específica del sistema agregando getCanonicalFile () a la llamada filesDir.
main.filesDir:
/data/user/0/com.mullr.liftlevel/files
main.filesDir.absoluteFile:
/data/user/0/com.mullr.liftlevel/files
main.filesDir.parentFile:
/data/user/0/com.mullr.liftlevel
main.filesDir.canonicalFile:
/data/data/com.mullr.liftlevel/files
Una vez que tenga la ruta completa, es muy fácil encontrar sus archivos en el Explorador de archivos del dispositivo en Android Studio (Ver -> Herramientas de Windows -> Explorador de archivos del dispositivo).
Como se indica en los documentos de referencia, la aplicación de llamada no necesita ningún permiso adicional para acceder a la ruta devuelta.
¿Cómo se guarda un archivo nuevo?
Ahora que puede verificar la existencia de archivos, debemos pasar por el proceso real de guardado. Esto se puede hacer usando un contexto openFileOutput método que abre (o crea) un archivo para escribir. Como habrás adivinado, el archivo se encuentra en la ruta canónica desde arriba. los El fragmento de código de Android está aquí.
En el siguiente ejemplo, la variable de nombre de archivo es una sola palabra («archivo de prueba», en mi ejemplo). NO es necesario que incluya la ruta completa y, si lo hace, obtendrá un El archivo contiene un separador de ruta error.
Si está escribiendo datos en un archivo una vez, entonces el método anterior le vendrá bien. El método de escritura de FileOutputStream sobrescribirá cualquier archivo que esté en la ubicación especificada. Si desea agregar datos al archivo, deberá cambiar el segundo parámetro del método openFileOutput de Context.MODE_PRIVATE a Context.MODE_APPEND.
Sin embargo, hacer esto solo no será perfecto. La salida será una cadena de letras sin espacios ni líneas nuevas. Puede alterar la salida agregando los siguientes modificadores a sus salidas de cadena (incluidas las barras invertidas):
\n – nueva línea
\t – pestaña
El uso del parámetro MODE_APPEND funcionará bien incluso si el archivo aún no existe.
¿Cómo se lee un archivo existente?
Leer un archivo es casi tan fácil como escribir uno, solo que ahora también debe comprender el plegado (más esto ).
Al usar un bufferReader, puede leer el archivo línea por línea y manipular esas líneas individualmente. El plegado solo es necesario si desea manipular todo el archivo de forma coherente.
En conclusión
Ahora que puede usar y guardar los datos del sensor, está en camino de hacer algunas cosas interesantes con el dispositivo que el 99% de la población lleva consigo.
Añadir comentario