繁体   English   中英

从Android非活动类中的资源读取文本

[英]Reading text from resources in non-activity class in Android

我想从Android应用程序中的一个原始文本文件中读取一些文本,并在应用程序中显示该文本文件中的一行。 小部件。

对于MainActivity,我编写了一个使用以下代码获取InputStream的方法:

getBaseContext().getResources().openRawResource(R.raw.tips);

我的问题是如何在AppwidgetProvider中获得对Context的引用,因为当用户使用窗口小部件而不是应用程序时,不会调用MainActivity的onCreate方法。 本身。 上面的代码在widgetprovider类中导致编译器错误。

您可以从onUpdate获取它。 请检查代码

@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
        int[] appWidgetIds) {
    // TODO Auto-generated method stub
    super.onUpdate(context, appWidgetManager, appWidgetIds);
    context.getResources().openRawResource(id);
}

如果仅上下文有问题

public void onUpdate(Context context, AppWidgetManager appWidgetManager,
      int[] appWidgetIds) {..}

AppWidgetProvider获取将上下文对象转换为参数。

你能分享你的实现吗?

最好的方法是将Context传递到需要访问应用程序资源的所有类和函数中。

第二种最佳方法是在您的Application类中存储static Context 这是一个确切描述其操作方法的示例: 在Android上获取“上下文”的静态方法?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM