2012-06-29 10 views
5

私は共有設定を読むことについてthisthisという質問を読んでいます。しかし、SharedPreferencesにアクセスするにはContextが必要です。コンテキストなしでSharedPreferencesにアクセスする方法を知りたい先にありがとうコンテキストなしのSharedPreferencesへのアクセス

+3

をあなたは単に_can't_が、限り、あなたのアプリケーションが実行されているよう使用できる_ApplicationContext_があります。 –

+0

できません。それは文脈が必要です。 – Guardanis

+0

あなたがそれを必要とする理由について詳しく説明できれば、おそらくもっとそれを手伝うことができます。 – Erol

答えて

5

私はApplicationContextを最初に取得し(this)、そのコンテキストを使用してSharedPreferencesを取得することで問題を解決します。 K-balloに感謝します。

0

アプリケーションクラス:

import android.app.Application; 
import android.content.Context; 

public class MyApplication extends Application { 

    private static Context mContext; 

    public void onCreate() { 
     super.onCreate(); 
     mContext = getApplicationContext(); 
    } 

    public static Context getAppContext() { 
     return mContext; 
    } 

} 

AndroidManifestでアプリケーションを宣言します。

<application android:name=".MyApplication" 
    ... 
/> 

使用法:

PreferenceManager.getDefaultSharedPreferences(MyApplication.getAppContext()); 
関連する問題