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() .

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?

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.

  • Administración de conexiones SQLite en Android
  • ¿Cuál es la forma estándar de organizar el código de Android en el proyecto
  • Comprobación de Internet, dónde colocar al usar MVP, RX y Retrofit
  • ¿Utilizando Inyección de Dependencia con Roboguice?
  • ¿Dónde debo inicializar los recursos para un Android Live Wallpaper
  • Necesidad de diseñar el diseño de la arquitectura de una aplicación Android
  • ¿Qué tipo de arquitectura cliente / servidor se utilizará?
  • Cómo se inicializa la notificación de fallos de Firebase
  • ¿Castrará Android la tecnología Jazelle de ARM?
  • Componentes de arquitectura de Android subprocesos de red
  • Crear una gran red de contenido en Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.