我是新來的android開發,所以我想知道天氣有模型實施可觀察是好的做法或將this發生。可以/應該在Android中的模型類擴展一個Observable
就我而言,我的模型不是數據庫模型,而是服務器的狀態。我有以下類
- MainActivity - 主要的東西
- FragmentInfo - 一個片段視圖,其保存的文本框
- ModelServerStatus - 一個簡單的類,它擁有一個布爾變量和幾個有用的函數來設置/獲取變量。
- ThreadCheckServerStatus - 通過UDP連接到服務器並執行寫入/讀取的線程。此線程知道
ModelServerStatus
,並將通過使用setStatus更新ModelServerStatus
。這個線程總是運行並睡5秒鐘。
我應該在ModelServerStatus
延長Observable
和調用notify每ModelServerStatus.setStatus(true/false)
運行時間。這樣MainActivity
可以是Observer
和更新FragmentInfo.textView
。
一個非常基本的ModelServerStatus.setStatus()
實施
public void setStatus(boolean newStatus)
{
// See if the value of the server has changed
if (hasStatusChanged(newStatus))
{
//Observer Notify
setChanged();
notifyObserver();
}
}
我這背後的思維:
該模型將通知控制器更新視圖
或
個的ModelServerStatus將通知MainActivity更新FragmentInfo
我想想也
控制器將檢查更新的模式,並在必要時更新視圖。
但是這聽起來不對。
問題的確是這個任務的最佳實施是什麼!
想法?感謝您的幫助
真棒這可以在服務+1完成,但我不知道這是比我的模型更好或更差。此外,我只希望它只在應用程序運行時輪詢,而不是在其暫停時輪詢, –
您可以隨時停止服務。並從簡歷開始。我相信你的模型會很好。但處理長期聯網事件的普遍接受的方法是通過服務。在這種情況下,通信的廣播方式很好地工作,儘管您可以輕鬆創建一個直接通信系統。 – Knossos