2010-11-08 7 views
5

Necesito poder llamar a readAsset desde fuera de la actividad principal de mi aplicación. He escuchado a personas mencionar que necesitan pasar el Contexto, pero el lenguaje ha sido muy vago. ¿Puede alguien describir los pasos necesarios para agregar la capacidad de llamar a readAsset a una clase existente que no es la actividad principal? Crear una función pública en la actividad principal y hacer que otros llamen que no funcionará como el lugar donde necesito agregar el conjunto de respuestas, está en un hilo separado.Android Cómo leer un activo desde fuera de la actividad principal

+0

¿Cuál es su aprensión a pasar 'Contexto' a las clases que dependería de la funcionalidad? –

+0

No tengo ninguna, pero no he encontrado un ejemplo de lo que tengo que hacer. Me imagino que es simple, pero solo estoy buscando descripciones vagas. Supongamos que tengo mi actividad principal y alguna otra clase (en este caso, en un hilo separado). Qué debo agregar en la otra clase, de modo que mis activos estén disponibles para mí allí. – corbin

Respuesta

6
public class NonActivity { 
    public void doStuff(Context c) { 
     //read from assets 
     c.getAssets(); 
     //use assets however 
    } 
} 

No estoy seguro de lo que está preguntando, pero quizás algo como esto? Solo agregue a la clase existente y use el contexto para recuperar los activos. En su actividad de llamar al método como este:

public class MyActivity extends Activity { 
    public void OnCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    NonActivity n = new NonActivity(); 
    n.doStuff(this); 
    } 
} 
+0

Esto se parece a lo que estaba pidiendo. Voy a intentar esto esta noche. ¡Gracias! – corbin

+0

Esto fue todo. Pensé que sería fácil. – corbin

+0

Me alegro de poder ayudar :) – danh32

0

Nota accede a todos los sistemas de archivo se debe hacer el hilo principal, por lo que no debería leerlos durante onCreate(). En su lugar, debe usar otro hilo, como el proporcionado por una AysncTask.

Cuestiones relacionadas