android - 获取 Assets ();从另一个类(class)

标签 android assets

我有一个简单的读取 txt 文件的功能。

AssetManager mngr = getAssets();
InputStream is = mngr.open("textdb.txt");

它适用于我的主要 Activity 。但是如果我在单独的类中使用相同的代码,getAssets() 只会返回 null/crash。

我无法找到为什么它只适用于主类。

有什么想法吗?

解决方案:

subClass.ReadSettings(getApplicationContext());

public String[] ReadSettings(Context myContext) {
}

最佳答案

你的其他类也是 Activity 吗? getAssets() 是 Context 的一个方法。如果您的类不是 Activity,则需要将上下文传递给它,然后对其调用 getAssets。

像这样:

public myClass(Context myContext) {
    AssetManager mngr = myContext.getAssets();
    InputStream is = mngr.open("textdb.txt");
}

关于android - 获取 Assets ();从另一个类(class),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8458433/

相关文章:

ruby-on-rails - 将大模板 Assets 链接到 rails erb 文件的正确方法是什么?

android - Android上 native 堆的最大大小?

android - 如何在 Android 7.1 上正确创建静态应用程序快捷方式?

android - 多媒体音量而不是 Android 中的电话音量

android - 使用react-native检查手机上是否安装了Metamask应用程序

android - *有什么*方法可以将 Android/drawable 图形链接到/assets?

android - 如何使用 Jsoup 从 <div> 中获取一系列 <p> 标签?

ruby-on-rails-3 - Rails 3.1/在终端中隐藏 Assets 信息

symfony - symfony 4 中未安装 Assets

fonts - 在yii2中的哪里放字体?