2011-07-07 18 views
6

con respecto al administrador de activos de Android, ¿es posible obtener un archivo de los activos sin contexto? Leí que puedo inicializar un objeto File con el tipo de ruta "file: /// android_assets", y luego obtener el archivo desde allí, pero dice que el archivo no existe (Honeycomb).Android Assets sin contexto

¿Cuál es la solución general en torno a este problema? No hay ninguna forma de obtener el contexto en el lugar donde necesito los archivos de los activos.

Gracias

+0

¿Podemos saber por qué no puede obtener el contexto en este lugar? – MByD

+0

porque tengo un personal propietario que hace todo desde las piezas de la IU y el personal, y las obtengo como libs, y luego solo tengo una clase que necesita implementar alguna interfaz, en ese punto no tengo Contexto. – Pett

+0

Entonces, ¿por qué no pasarás el contexto como argumento? – MByD

Respuesta

4

Para obtener acceso al contexto en el que no está presente se puede extender clase de aplicación y crear la referencia estática al contexto. De esta manera puede acceder desde cualquier lugar dentro de la aplicación:

public class MyApp extends Application { 

    public static Context context; 

    @Override 
    public void onCreate() { 
     super.onCreate(); 
     context = getApplicationContext(); 
    } 
} 
+0

Parece ser la mejor solución, aquí en 2016 – Fattie

+0

Esta no es una buena opción, use la inyección de dependencia para inyectar dependencias de contexto. Hay bibliotecas para hacer esto: Daga 2 (Google), Daga (cuadrado), Guice, etc. – rupinderjeet

Cuestiones relacionadas