2011-08-31 40 views
0

我正在開發一個從服務器檢索一些數據的應用程序。 我有兩個選擇:在Android上使用Pattern singleton

  • 從服務器獲取整個數據集,然後使用模式「單」,以減少查詢

  • 對於每個查詢的數量,獲得相應的與它的工作數據從服務器集

什麼是最佳選擇?

+0

請更改您的問題,以便可以理解您的意思是先生:) – pgsandstrom

+0

您的問題是,我認爲太抽象,無法回答。在您的應用程序中,單身模式如何減少查詢次數? –

+0

謝謝你的回答,我必須從互聯網上消費一個webservice,它包含一個Object Person(Name,Age ...)的列表,然後用戶可以按名稱搜索人物,我應該提出另一個請求到服務器或只是採取我擁有的人的名單,並從中獲取數據,我希望現在更清楚,並提前謝謝 – insatien

回答

1

在我看來,這取決於。

它取決於數據的大小,以及是否有意義返回用戶可能不需要的數據。

就我個人而言,在我正在構建的應用程序中,我將僅返回當時需要的數據。很明顯,儘管如此,一旦我獲得了數據,如果持續保持好或甚至暫時保持數據,我將不會再次獲取它。

1

我同意C0deAttack的回答。您的目標應該是儘量減少您的應用在手機上成爲「好公民」的限制內的網絡流量。 (這意味着你的應用程序不產生負面的用戶或其他應用程序使用過多資源—包括內存和文件空間的影響。)

從它的聲音,我猜的數據沒有那麼龐大。如果是這樣,我會建議緩存響應並在本地使用它,從而避免重複查詢服務器。根據數據更改的頻率,您甚至可以考慮使其持久化,以便應用程序在下次啓動時不必查詢服務器。如果響應包含估計的過期時間,那麼這將有助於建立更新時間表。 (Google的許可證服務器使用此想法。)

P.S.我沒有看到這有什麼(直接)與單身模式。

0

如何將數據存儲在sqlite數據庫中並使用sql執行查詢?由於您可以免費進行排序和訂購,它可以幫助您減少編寫代碼。如果你的用戶沒有互聯網連接,你也有即時離線功能。 :)