Variables de ámbito de aplicación de nivel de aplicación de Android
Entiendo que no hay alcance de nivel de aplicación disponible para poder definir lógica / datos compartidos y que cada actividad es esencialmente una aplicación autónoma unida por el manifiesto …
PERO tengo un grupo de permisos de acceso de usuario que estoy recibiendo a través de una llamada de servicio web y no quiero hacer esta llamada en todas las actividades onCreate()
.
- Arquitectura de la aplicación de Android - MVVM o MVC?
- Advertencia: Advertencia: Versión de origen compatible 'RELEASE_7' del procesador de anotaciones 'android.arch.lifecycle.LifecycleProcessor' less than -source '1.8'
- Android Modelos - ARMv6 y ARMv7 dispositivos para el desarrollo de juegos?
- Arquitectura limpia: cómo reflejar los cambios de la capa de datos en la interfaz de usuario
- Android Patrones arquitectónicos
Estoy usando SharedPreferences
en la aplicación, pero como los permisos no están destinados a ser editables por el usuario, la exposición de archivos planos en dispositivos Android se siente como una forma insegura de manejar esto.
Necesito volver a solicitar esta información si la aplicación se reinicia, por lo que creo que el menos costoso sería almacenarla en una variable.
Soy consciente de IntentExtras, pero estamos hablando de un "objeto" de configuración, no un tipo primitivo.
Manera correcta de manejar esta situación?
- Explicación de Android MVP
- ¿Cuál es el razonamiento para separar los métodos RestAdapter.build () y .create () al usar Dagger?
- ¿Hay una manera de determinar si es posible llamar a un dialog.dismiss () sin vacío try-catch bloque?
- ¿Realmente necesito pasar alrededor de las instancias de contexto profundamente en la aplicación?
- Arquitectura estándar para aplicaciones de iOS / Android que requieren una interfaz de servidor
- Android: cómo crear una aplicación de pestañas compleja con vistas
- Show Dialog de ViewModel en Android MVVM Architecture
- Qt versiones para arquitecturas mips, brazo, x86 faltan
En realidad, puede crear una clase "Aplicación" que se puede utilizar para crear esencialmente configuraciones de aplicación amplia.
Simplemente cree una nueva clase y extienda Aplicación, luego establezca cualquier miembro de la clase y los métodos getter / setter apropiados y puede acceder a ellos a través de su aplicación.
A continuación, debe actualizar su manifiesto de la siguiente manera:
<application android:icon="@drawable/logo" android:label="@string/app_name" android:name=".application.CustomApplication">
Entonces en cualquier actividad puedes acceder a ella de la siguiente manera:
CustomApplication app = ((CustomApplication)getApplication());
Creo que usar las preferencias compartidas es bastante seguro. Sólo los usuarios avanzados con raíz, costumbre roms y conocimientos de hacking sería capaz de tomar la oportunidad de hacerlo! (Ni siquiera estoy seguro de que esto sería posible).
Además de SharedPreferences, también puede implementar un objeto Application personalizado y mantener sus permisos allí.
De todos modos, como desarrollador creo que es mucho más probable que sea hackeado en algún lugar dentro de la solicitud que hago para obtener los permisos de usuario (uso https, etc) y mi aplicación decompiled.