Utilizamos cookies propias y de terceros. Al navegar entendemos que aceptas el uso de cookies. +Info.
Política de cookies
Proyecto AjpdSoft

· Inicio
· Buscar
· Contactar
· Cookies
· Descargas
· Foros
· Historia
· Nosotros
· Temas
· Top 10
· Trucos
· Tutoriales
· Usuario
· Wiki

Proyecto AjpdSoft: Foros

AjpdSoft :: Ver tema - Guardar configuración aplicación Android leer configuración
Foros de discusión Buscar Perfil FAQ Iniciar sesión
Information Guardar configuración aplicación Android leer configuración

Publicar nuevo tema Responder al tema
Foros de discusión » Varios (seguridad, internet, ofimática, errores)   
Ver tema anterior :: Ver tema siguiente
AutorMensaje
varios
Magnífico usuario


Registrado: Oct 10, 2006
Mensajes: 2092

Asunto: Guardar configuración aplicación Android leer configuración Responder citando

Estoy empezando a desarrollar aplicaciones para dispositivos Android, he leído vuestro manual:

http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=536

Y este otro para bases de datos SQLite:

http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=537

He hecho algunas pruebas y me va gustando este entorno. También he visto vuestros nuevos manuales sobre Google App Inventor:

http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=554

Pero se quedan algo "cortas", no tienen muchas opciones como la que os quiero comentar.

Estoy desarrollando una aplicación para publicarla en Android Market. Me queda una pequeña duda ¿cómo puedo guardar la configuración de la aplicación para que al abrirla aparezcan los últimos cambios que haya hecho el usuario?

Me explico: tengo varios CheckBox y EditText, quiero que cuando se cierre mi aplicación Android se guarden los valores de estos componentes y que cuando se abra la aplicación Android se muestren. Ya sé que podría hacerlo con SQLite o con ficheros normales pero ¿existe alguna forma mejor? ¿contempla Android este tipo de configuración al estilo de ficheros INI en Windows?


Ultima edición por varios el Mar Jul 26, 2011 9:30 pm, editado 1 vez
MensajePublicado:
Mar Jul 26, 2011 8:51 pm
Top of PageVer perfil de usuario
varios
Magnífico usuario


Registrado: Oct 10, 2006
Mensajes: 2092

Asunto: Re: Guardar configuración aplicación Android leer configurac Responder citando



Anuncios



Y otra duda relacionada con lo anterior ¿cómo programos eventos de cerrar y abrir aplicación? lo digo porque al crear el proyecto Android en Eclipse no aparecen estos "eventos" y no sé cómo llamarlos.
MensajePublicado:
Mar Jul 26, 2011 8:51 pm
Top of PageVer perfil de usuario
alonsojpd
Administrador/Moderador


Registrado: Sep 16, 2003
Mensajes: 2687

Asunto: Re: Guardar configuración aplicación Android leer configurac Responder citando



Anuncios



Efectivamente podrías guardar la configuración y cargarla mediante SQLite o ficheros, aunque no es lo recomendable.

Android incluye lo que llama SharedPreferences, es una clase que te permitirá guardar datos de configuración en un fichero XML y cargarlos (leerlos) en cualquier momento. Este fichero se guardará en la misma carpeta que donde tengas instalada tu aplicación Android y se eliminará si se desinstala la aplicación. Normalmente en la carpeta "shared_prefs".

Te indicamos cómo leer un valor de ese fichero de preferencias en Android:

En los imports, debes añadir:

Código:

import android.content.SharedPreferences;


Un procedimiento para cargar la configuración (leerla del fichero "AjpdSoftMonitorWifi.xml" con SharedPreferences) y actualizar varios componentes (un CheckBox y un EditText):

Código:

    //cargar configuración Android SharedPreferences
    public void cargarConfiguracion()
    {       
      SharedPreferences prefs =
          getSharedPreferences("AjpdSoftMonitorWifi",
           Context.MODE_PRIVATE);    
      txtFichero.setText(prefs.getString("Fichero", "wifi.txt"));
      opUbFic.setChecked(prefs.getBoolean("SDCard", true));      
    }


El procedimiento para guardar las SharedPreferences (creará dos líneas en el fichero AjpdSoftMonitorWifi.xml":

<string name="Fichero">fichero.txt</string>


Código:

    //guardar configuración Android SharedPreferences
    public void guardarConfiguracion()
    {
       SharedPreferences prefs =
          getSharedPreferences("AjpdSoftMonitorWifi",
                Context.MODE_PRIVATE);       
       SharedPreferences.Editor editor = prefs.edit();
       editor.putBoolean("SDCard", opUbFic.isChecked());
       editor.putString("Fichero", txtFichero.getText().toString());
       editor.commit();
    }


Nota: el "opUbFic" es un CheckBox y el "txtFichero" es un EditText. Indicamos "Context.MODE_PRIVATE" para que las preferencias sean exclusivas de nuestra aplicación, si queremos que otras aplicaciones puedan acceder a las preferencias de la nuestra podemos usar "Context.MODE_WORLD_READABLE" indicando que las preferencias pueden ser leídas por otras aplicaciones pero sólo modificables por la nuestra y "Context.MODE_WORLD_WRITABLE" indicando que el resto de aplicaciones puede leer y modificar las preferencias de la nuestra.

En cuanto a los métodos para leer y guardar datos en el fichero SharedPreferences, ya has visto que se usan para escribir putBoolean, putString (dependiendo del tipo de datos a guardar) y getString, getBoolean para leer los datos. Existen otros métodos como getFloat, getInt, getLong.
MensajePublicado:
Mar Jul 26, 2011 9:04 pm
Top of PageVer perfil de usuario
alonsojpd
Administrador/Moderador


Registrado: Sep 16, 2003
Mensajes: 2687

Asunto: Re: Guardar configuración aplicación Android leer configurac Responder citando



Anuncios



En cuanto a los eventos de abrir y cerrar la aplicación Android, es suficiente con que añadas los siguientes eventos a tu código Java Eclipse (dentro de la clase principal de la aplicación:

Para guardar la configuración cuando se cierre la aplicación Android usaremos el evento "onDestroy":

Código:

    //Evento "Cerrar aplicación" guardar los datos en fichero xml
    @Override
    public void onDestroy()
    {
      super.onDestroy();
      guardarConfiguracion();
    }


Para cargar la configuración guardada en el xml cuando se abra la aplicación usaremos:

Código:

    //evento "Abrir aplicación" leemos configuración del fichero xml
    @Override
    protected void onStart()
    {
      super.onStart();
      cargarConfiguracion();
    }   


Como ves es sencillo, llamamos a los procedimientos de guardar y cargar creados anteriormente en cada evento y ya debería funcionarte. Prueba y nos cuentas.
MensajePublicado:
Mar Jul 26, 2011 9:18 pm
Top of PageVer perfil de usuario
varios
Magnífico usuario


Registrado: Oct 10, 2006
Mensajes: 2092

Asunto: [RESUELTO] Guardar configuración xml Android Responder citando



Anuncios



Muchas gracias por la excelente explicación, ya lo he probado y funciona perfectamente. No sabía que sería tan fácil.
MensajePublicado:
Mar Jul 26, 2011 9:28 pm
Top of PageVer perfil de usuario
alonsojpd
Administrador/Moderador


Registrado: Sep 16, 2003
Mensajes: 2687

Asunto: Re: [RESUELTO] Guardar configuración xml Android Responder citando



Anuncios



varios escribió:
Muchas gracias por la excelente explicación, ya lo he probado y funciona perfectamente. No sabía que sería tan fácil.


En este artículo explicamos la clase SharedPreferences de Android un poco más detalladamente:

http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=556
MensajePublicado:
Mie Jul 27, 2011 12:31 pm
Top of PageVer perfil de usuario
Mostrar mensajes de anteriores:   
Todas las horas son GMT - 1 Horas
Publicar nuevo tema Responder al tema
Foros de discusión » Varios (seguridad, internet, ofimática, errores)  

Cambiar a:  
Key
  Puede publicar nuevos temas en este foro
No puede responder a temas en este foro
No puede editar sus mensajes en este foro
No puede borrar sus mensajes en este foro
No puede votar en encuestas en este foro
Este sitio web NO CONTIENE malware, todos los programas con código fuente aquí. Autor: Alonso Javier Pérez Díaz Google+ Síguenos en Google+