2013-10-22 70 views
0

在我的Android項目中,我有一個活動和一個小部件(廣播接收器)。兩者都有一個簡單的按鈕。當單擊任一按鈕時,應執行相同的操作: 首先,布爾變量應設置爲相反的值(true爲false,false爲true)。這個布爾值應該獨立於Activity和Receiver的生命週期存儲。 然後,根據布爾的舊狀態,應執行兩種方法之一來查詢SQLite數據庫。如何在活動和小部件之間共享數據和方法

我需要類似於Singleton Activity的東西,它有自己的共享首選項和方法,可以從各種Activities/Receivers中調用。

什麼是最好的方式來實現這樣的事情?

回答

1

聽起來不像你想要做的事情需要一個活動。我只是寫一個POJO單身人士與一個私人構造函數和一個靜態getInstance()方法返回一個私人靜態實例的類本身的初始化後,如果需要的話。

然後,你可以有一個實例方法,切換變量並觸發一個AsycTask或任何你的查詢。布爾值的狀態可以存儲在一個私有實例變量中,或者持久化到SharedPreferences,具體取決於需要保留多長時間。

+0

POJO Singleton究竟是什麼? Google搜索只給了我Java Enterprise Application的結果,但我還沒有找到任何Android參考。 –

+0

關於這個特定想法的任何內容都不針對Android。它只是一個繼承自java.lang.Object的普通類,就像在第一個例子中一樣:http://www.javaworld.com/javaworld/jw-04-2003/jw-0425-designpatterns.html –

+1

@RafaelBankosegger POJO代表Plain Old Java Object – RyanR