Sesión de inicio de sesión – Actividades
Tengo un inicio de sesión en mi aplicación. Quiero saber la mejor manera de establecer una sesión global o equivalente que pueda referirme de cualquier actividad para que sepa si un usuario está conectado. Además, para que otras actividades puedan obtener el identificador de usuario para realizar transacciones de base de datos.
No quiero usar putExtra () ya que tendré que hacerlo por cada Intent I build en toda la aplicación.
- Inicio de sesión de Android - Mejor implementación
- Salir de una sesión de LinkedIn en Android
- SDK de Android Facebook: comprueba si el usuario está conectado o no
- Autorización para Android de Facebook - no puede iniciar sesión cuando se instala la aplicación oficial de Facebook
- Uso de cookies con solicitudes de Retrofit Robospice
- ¿La forma preferida de conectar AudioEffect a la mezcla global?
- Android: Persistencia de la sesión de servidor mediante cookie al realizar llamadas HTTP
- Funcionalidad de cierre de sesión en android
- Longitud de sesión corta en Google Analytics para Android
- Gestión de sesiones de Android
- Estrategia de la aplicación de Android para realizar un seguimiento de una sesión de inicio de sesión
- Cómo utilizar la sesión para trabajar entre php webservices y android
- Android detecta si una aplicación entró en el fondo
Puede crear una clase de aplicación que se puede utilizar como un titular de estado global.
He aquí un ejemplo de código:
public class SampleApplication extends Application { private static String username; private static String password; @Override public void onCreate() { super.onCreate(); username=""; password=""; } public static String getUsername() { return username; } public static void setUsername(String username) { SampleApplication.username = username; } public static String getPassword() { return password; } public static void setPassword(String password) { SampleApplication.password = password; } }
Después de declarar métodos estáticos y variables, debe definir su clase de aplicación en su AndroidManifest.xml. Utilice el atributo android:name
de la etiqueta de la application
para definir el nombre de su clase.
Aquí hay más código de ejemplo:
<application android:name=".SampleApplication" android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".SampleApp" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application>
Su clase de aplicación compartirá todos los eventos del ciclo de vida como actividad y se destruirá cuando se cierre la aplicación.
Puede acceder a las variables de su aplicación con getters y setters estáticos de cualquier actividad o servicio:
SampleApplication.setUsername(""); String currentUserName=SampleApplication.getUsername(); SampleApplication.setPassword(""); String currentPassword=SampleApplication.getPassword();
También puede, en lugar de ir a clase singleton, optar por la clase normal de la aplicación
Alternativa al mismo ejemplo:
public class SampleApplication extends Application { private String username; private String password; @Override public void onCreate() { super.onCreate(); username=""; password=""; } public String getUsername() { return username; } public void setUsername(String username) { SampleApplication.username = username; } public String getPassword() { return password; } public void setPassword(String password) { SampleApplication.password = password; } }
Puede acceder a ellos con:
((SampleApplication)getApplication()).getUsername();
- IBeacons – Compañía (Estimate, Gimbal, etc.) SDKs contra la biblioteca de Android / iOS
- De la notificación: AlertDialog sin UI