2010-10-26 86 views
6

我製作了一個庫,可以在我的應用程序中使用。我希望它訪問存儲在共享首選項中的一些設置。Android:在庫中使用SharedPreferences

這是我的圖書館的縮短版:

package com.android.foobar; 

import android.content.SharedPreferences; 
import android.preference.PreferenceManager; 

public class Lib { 
    int now; 

    public Lib() { 
     SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(this); 
     now = settings.getInt("now", 435); 
    } 

    public int foo(){ 
     return now; 
    } 
} 

我一直在尋找一個答案和實驗,但我無法找到一個有效的上下文傳遞給getDefaultSharedPreferences()。有任何想法嗎?

回答

3

最簡單的方法是將上下文作爲您的Lib構造函數的參數並從創建Lib的位置傳遞應用程序上下文。

如果搜索的是如何做到這一點看看這是一個靜態的方式:Accessing SharedPreferences through static methods

但恕我直言,第一解決方案是最好的。