Ich muss in der Lage sein, readAsset von außerhalb der Hauptaktivität meiner Anwendung aufrufen. Ich habe von Leuten gehört, die den Kontext herumreichen müssen, aber die Sprache war sehr vage. Kann jemand die Schritte beschreiben, die notwendig sind, um die Fähigkeit hinzuzufügen, readAsset zu einer existierenden Klasse aufzurufen, die nicht die Hauptaktivität ist? Das Erstellen einer öffentlichen Funktion in der Hauptaktivität und das Aufrufen anderer Benutzer, die nicht als der Ort funktionieren, dem ich learnAsset hinzufügen muss, befinden sich in einem separaten Thread.Android So lesen Sie ein Asset von außerhalb der Hauptaktivität
5
A
Antwort
6
public class NonActivity {
public void doStuff(Context c) {
//read from assets
c.getAssets();
//use assets however
}
}
Nicht sicher, was Sie fragen, aber vielleicht so etwas? Fügen Sie einfach die vorhandene Klasse hinzu und verwenden Sie den Kontext, um die Assets abzurufen. In Ihrer Tätigkeit nennen das Verfahren wie folgt aus:
public class MyActivity extends Activity {
public void OnCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
NonActivity n = new NonActivity();
n.doStuff(this);
}
}
0
Hinweis alle Systemdateizugriffe sollten aus dem Haupt-Thread ausgeführt werden, so sollten Sie sie während onCreate() nicht lesen. Stattdessen sollten Sie einen anderen Thread verwenden, der z. B. von einer AysncTask bereitgestellt wird.
Verwandte Themen
- 1. So erhalten Sie die Asset-Versionszeichenfolge aus der Asset-Pipeline
- 2. Legen Sie ein Textfragment aus der Hauptaktivität
- 3. So lesen Sie ein Bild von IDataReader
- 4. So richten Sie eine Aktivität mit Registerkarten als Hauptaktivität ein
- 5. android fragment control hauptaktivität
- 6. Hinzufügen von JSON als Asset und Lesen
- 7. So zeigen Sie ein Bild außerhalb inkcanvas
- 8. So rufen Sie die Fragmentmethode aus der Hauptaktivität auf
- 9. So bewerten Sie Listenansicht Daten von außerhalb Adapter in Android
- 10. Android Intent zu starten Hauptaktivität der Anwendung
- 11. So lesen Sie SMS-Code von Ihrer Android-App
- 12. So stellen Sie eine Schaltfläche außerhalb von lisview ein
- 13. So lesen Sie Android-Eigenschaften mit Java
- 14. So lesen Sie Benachrichtigungen korrekt auf Android
- 15. So lesen Sie die Systemprotokolldatei in Android?
- 16. So lesen Sie eine ausgewählte Textdatei von SDCard auf Android
- 17. So erhalten Sie Medienelemente aus der Asset-URL
- 18. So lesen Sie die Herzfrequenz von Android Wear
- 19. Android sqlite Asset-Helfer kann meine Datenbank nicht lesen
- 20. Warum befinden sich 'jQuery-Rails' oft außerhalb der Asset-Gruppe
- 21. So erkennen Sie das Berührungsereignis außerhalb der Navigationsleiste
- 22. So lesen Sie von der Standardeingabe mit der Fischschale
- 23. Lesen von Daten von außerhalb erstellt von
- 24. android - Kopieren von Dateien aus Asset-Ordner
- 25. So lesen Sie serielle Daten von JavaScript
- 26. Laden Sie eine Datei von Asset mit Xamarin android
- 27. Ergebnis von SearchManager-Aktivität zur Hauptaktivität in Android
- 28. So lesen Sie die Datei der Subprozessausgabe
- 29. So lesen Sie die Ausgabe von + PrintTenuringDistribution
- 30. Lesen Sie Hibernate-Eigenschaften von außerhalb Krieg mit ServletContext
Was ist Ihre Befürchtung, 'Context' an Klassen zu übergeben, die von der Funktionalität abhängen? –
Ich habe keine, aber ich habe kein Beispiel gefunden, was ich tun muss. Ich kann mir vorstellen, dass es einfach ist, aber ich finde nur vage Beschreibungen. Angenommen, ich habe meine Hauptaktivität und eine andere Klasse (in diesem Fall in einem separaten Thread). Was muss ich in der anderen Klasse hinzufügen, damit mir dort meine Assets zur Verfügung stehen. – corbin