2011-12-02 57 views
1

我有一個服務在後臺運行。它通過IP獲取一些字符串。 它應該截斷它們並將它們協調到一些變量。Android服務應該保存來自其他類的請求的數據

所以我想:

public class Listener extends Service{ 
public void main(){ 
//fetch and preprocess data 
data=fetched_string; 
} 

public String data=null; 
public String getData(){return data;} 

} 

據我瞭解,這應該工作。但是,我怎樣才能從另一個類訪問這個字符串數據或者我的想法有什麼問題?

或者也許有一個更優雅的android解決方案?

回答

1

如果您的服務在您的應用程序正在運行時運行,即不由另一個進程中的BroadcastReceiver調用,請擴展應用程序類shown here並讓您的服務設置它們。然後全局變量可以被應用程序中的其他類訪問。否則,請將這些服務寫入Sqlite數據庫並從那裏訪問它們。

0

居住在單身人士班的全局變量被建築納粹鄙視,但真的在android上使用。它可以被你的應用程序的所有類訪問,它們運行在同一個虛擬機中,但不能在應用程序重新啓動後存活。

要存儲在重新啓動的數據,有AER 3個選項 - 共享偏好(小數據量) - sqlite的,如果有很多,數據不是很有條理,你真的需要整理/查詢 - 它序列化到JSON與您選擇的數據綁定解決方案(shameles自我廣告:https://github.com/ko5tik/jsonserializer),並將其存儲在文件中,如果數據是結構化的,並且您喜歡有對象

相關問題