2014-02-07 39 views
0

我想創建一個擴展於Android SharedPreferences的,這樣我就可以創建一些自定義的方法,如:我想擴展SharedPreferences類的Android

getBoolean (int KeyFromStringTable, boolean defValue); 

,而不是打字:

getBoolean (getString (R.string.KeyString), defValue); 

每次。

但是,SharedPreferences不是一個類,它是一個接口(dang)。有人建議我如何在SharedPreferences中添加一些功能?

+0

使用裝飾模式。 – njzk2

回答

1

創建一個包裝,包含您的SharedPreferences並添加輔助方法。

或者,在某處創建靜態幫助器方法。

或者,創建您自己的實現SharedPreferences,也許通過分叉現有的實現。這種方法有許多缺點,其中最重要的是你不能強制Android使用你的實現,也就是說它檢索到的地方(例如,首選項屏幕),它不會使用你的實現。此外,您需要跟蹤對原始實施的更改,以防這些更改與您的分支有關。

或者,創建某種鍵盤宏,可以節省您的打字時間。

可以想象,有一些基於註解的方式來處理這個問題,但是我的註釋-fu很弱,所以我不知道所有的註解能力。

+0

我認爲在另一個問題中找到答案:創建一個將接口封裝到共享首選項的類。通過這樣做,我可以用我想要的行爲向課程中添加方法。它仍在建設中,但我很樂觀。 – Rich

+0

我認爲這個解決方案基本上是你在第1條和第2條中推薦的。 – Rich

+0

@Rich:主要是第一個選項。 – CommonsWare