Ich habe einfach eine txt-Datei Funktion gelesen.
AssetManager mngr = getAssets();
InputStream is = mngr.open("textdb.txt");
Es funktioniert von meiner Haupttätigkeit. Wenn ich jedoch denselben Code in einer separaten Klasse verwende, gibt getAssets () einfach null/crash zurück.
Ich kann nicht herausfinden, warum es nur in der Hauptklasse funktioniert.
Irgendwelche Ideen?
Lösung:
subClass.ReadSettings(getApplicationContext());
public String[] ReadSettings(Context myContext) {
}
Ist Ihre andere Klasse auch eine Activity
? getAssets () ist eine Kontextmethode. Wenn Ihre Klasse keine Aktivität ist, müssen Sie einen Kontext übergeben und dann getAssets aufrufen.
Wie so:
public myClass(Context myContext) {
AssetManager mngr = myContext.getAssets();
InputStream is = mngr.open("textdb.txt");
}