|
||
|
![]() |
![]() |
Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android |
![]() |
|
Herramientas |
#1
|
||||
|
||||
![]()
Hola,
Tengo 2 actividades. Una llamada Formulario, donde pido todos los datos mediante EditText (entre ellos el NIF y password ) y una vez están todos los campos llenados tengo un botón que da de alta al Usuario, y me crea un archivo llamado "usuarios.txt", en el data/files. Y luego otra que es el login donde tengo que ingresar el NIF y password del formulario creado. Una vez tengo el archivo creado. Necesito leer el fichero para poder extraer de ahí el NIF y el password, para poder loguearse y hacer la comprobación y entrar en el menú de la app... Alguien me puede ayudar?? |
|
#2
|
||||
|
||||
Yo te recomendaría que usaras para eso, esto SharePreferences, http://www.sgoliver.net/blog/?p=1731
Es mas fácil leer y escribir en la carpeta data Pero si no, toma, aqui tienes un manual de como recuperar datos http://www.javaya.com.ar/androidya/d...o=144&inicio=0
__________________
Controlador de Medicamentos 1.5 (https://play.google.com/store/apps/d...mentcontrolled)
Legislación Basica Española 1.1 (https://play.google.com/store/apps/d...islacionbasica) |
#3
|
||||
|
||||
Gracias jtsamper,
pero tengo una duda, el primer enlace se asemeja a lo que estoy buscando. El segundo no me sirve ya que no me dejan trabajar con un fichero xml. Entonces, el primer link, si no voy mal encaminado éste codigo, lo que haría es almacenar en un editText todo el contenido del fichero no? Si es así bien, pero como hago para extraer solo lo que yo quiera? public void recuperar(View v) { String nomarchivo = et1.getText().toString(); File tarjeta = Environment.getExternalStorageDirectory(); File file = new File(tarjeta.getAbsolutePath(), nomarchivo); try { FileInputStream fIn = new FileInputStream(file); InputStreamReader archivo = new InputStreamReader(fIn); BufferedReader br = new BufferedReader(archivo); String linea = br.readLine(); String todo = ""; while (linea != null) { todo = todo + linea + " "; linea = br.readLine(); } br.close(); archivo.close(); et2.setText(todo); } catch (IOException e) { } } Imagina que tengo "usuarios.txt", y en el fichero tengo: //Nombre Pepito //Apellido Grillo //NIF 4712373E //password password //Ciudad Valencia Tendría que ir línea por línea y sólo extraer NIF y password. y guardarlo como valor EditText, para luego en la activity de login, que hay 2 EditText (nif i password) hacer un equals para comprovar que los valores extraídos del fichero corresponen a los que he el usuario ha introducido.. no se si me explico. De todas formas muchas gracias! Última edición por leles92 Día 07/02/14 a las 09:53:17. |
#4
|
||||
|
||||
Pero vas a almacenar muchos datos??? o solo uno?
__________________
Controlador de Medicamentos 1.5 (https://play.google.com/store/apps/d...mentcontrolled)
Legislación Basica Española 1.1 (https://play.google.com/store/apps/d...islacionbasica) |
#5
|
||||
|
||||
Se trata de una práctica que estoy haciendo, que va de agencias de viajes.
A ver, tengo un scrollview con campos para rellenar, que son: - Nombre - Apellido - Segundo Apellidp - NIF - Pais (spinner) - Comunidad (spinner) - Ciudad(spinner) - Poblacion (spinner) - Password - Telèfono Luego con el outputFile, guardo los datos en el fichero con el nombre "usuarios.txt". Realmente, puedo decidir que quiero que se escriba solamente en el fichero. Pongamos el caso de que sólo guardo el NIF y el Password. Así que cuando abras el archivo solo te vas a encontrar NIF y Password (sólo el valor). En la práctica nuestro profesor nos dice: Este formulario, cuando se llene hace falta que se guarde en un fichero usuarios.txt, y se tiene que almacenar en un array(no una colección!!) de objetos usuarios que se cargarà al iniciar la app. Y de ahí supongo que tendré que sonsacar el nif y el password para validarlo en el login.. No se como diablos hacerlo ![]() Última edición por leles92 Día 07/02/14 a las 12:39:21. |
#6
|
||||
|
||||
Supongo que la practica es de leer y escribir datos en txt, pero esa no es la mejor forma de almacenar esa informacion, para ello usaria base de datos (sqlite)
Si vas a guardar la info en el txt, te recomiendo que la formatees, con JSON, para poder recuperarlo de manera facil. Aqui te dejo la informacion de como tratar un string como json http://www.inforjmr.es/?p=497
__________________
Controlador de Medicamentos 1.5 (https://play.google.com/store/apps/d...mentcontrolled)
Legislación Basica Española 1.1 (https://play.google.com/store/apps/d...islacionbasica) |
#7
|
||||
|
||||
Si tu profesor te dice que almacenes en un fichero txt es que no tiene mucha idea de Android, como te han comentado en otras respuestas lo ideal es usar SQLite o los sharedPreferences.
Pero volviendo a tu problema, la forma de leer ficheros sería esta: https://gist.github.com/rchampa/8873722 Si quieres escribir, solo debes cambiar las clases BufferedReader y FileReader por BufferedWriter y FileWriter Un saludo.
__________________
meh
|
#8
|
||||
|
||||
Sqlite de cabeza. Es lo mejor para eso
|
![]() |
![]() |
||||||
|