2

Android アプリケーションの生のテキスト ファイルの 1 つからテキストを読み取り、このテキスト ファイルの行をアプリに表示したいと考えています。ウィジェット。

MainActivity については、次のコードを使用して InputStream を取得するメソッドを作成しました。

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

私の質問は、ユーザーがアプリではなくウィジェットを使用している場合、MainActivity の onCreate メソッドが呼び出されないため、AppwidgetProvider で Context への参照を取得する方法です。自体。上記のコードでは、widgetprovider クラスでコンパイラ エラーが発生します。

4

3 に答える 3

2

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);
}
于 2013-04-25T05:21:41.697 に答える
1

コンテキストのみに問題がある場合

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

ofAppWidgetProviderは、コンテキスト オブジェクトを paramsに取得します。

実装を共有できますか?

于 2013-04-25T05:16:18.360 に答える
1

これを行う最善の方法はContext、アプリケーションのリソースにアクセスする必要があるすべてのクラスと関数に a を渡すことです。

static Contextこれを行う 2 番目に良い方法は、Applicationクラスに a を格納することです。これを行う方法を正確に説明する例を次に示します: Android で「コンテキスト」を取得する静的な方法は?

于 2013-04-25T05:18:06.993 に答える