2013-04-22 67 views
0

我有一個簡單的應用程序,它記錄了一堆傳感器/ GPS數據。第一項活動很混亂,時間太長,所以我想模塊化它。我想現在已經3個模塊:將傳感器數據移動到不同的班級/活動

  1. 主要活動
  2. 傳感器數據(陀螺儀,加速度計等)
  3. GPS數據(位置,海拔等)

什麼是最好的我要去模塊化這個方法嗎?我試圖將一些傳感器數據移出原始類,然後我發現我的班級需要擴展一些android.content.context(例如Activity)才能正確訪問傳感器數據?

感謝您在正確的方向微調。

+0

您不需要擴展'Context' - 您可以創建輔助類並簡單地將'Activity'上下文傳遞給類的構造函數或者使用'Activity'中的'this'的各種方法 – Squonk 2013-04-22 19:01:48

+0

這是一個有趣的想法,我其實並沒有想到這是否被認爲是一種好的做法 – MasterGberry 2013-04-22 19:10:05

+0

好的做法是要做出一致的課程來完成他們應該做的事情,除此之外別無其他。[精心策劃](http://en.wikipedia.org/wiki/Extreme_programming_practices#Planning_game)是非常重要的,也有很好的做法[預定義規則](http://en.wikipedia.org/wiki/Extreme_programming_practices#Shared_understanding)編碼。不要讓它[DRY](http://en.wikipedia.org/wiki/Don%27t_repeat_yourself)。 – 2013-04-22 19:32:10

回答

1

從我在原來的問題評論...

你並不需要延長Context - 你可以創建輔助類和簡單的傳遞ActivityContext到類的構造函數或使用到從this各種方法Activity

只要你正確地設計你的幫助類,那麼它很好,這是很多人做的事情,事實上,有各種Android類需要參數Context。避免內存泄漏並使用正確的Context

有時使用應用程序Context可能會更好,因爲它對所有應用程序組件的生命週期都是持久的。然而,它只是一個部分的背景,因爲某些東西不適用於它(例如一些與UI相關的任務)。否則使用ActivityContext是沒問題的,只要沒有任何東西持有對它的永久引用(如果Activity被破壞,可能會導致內存泄漏)。