2010-06-26 125 views
2

我將在Android中製作一個移動應用程序。我的應用程序就像Google Map的獲取方向功能,但更復雜,所以我需要在地圖中存儲有關點的數據。所以我擔心SQLite可能無法處理這些大量的數據(或者考慮到手機的有限存儲空間)。我在SQLite中沒有背景,請耐心等待。SQLite可以處理大量的數據

+2

你對數據大小有什麼估計? – wlk 2010-06-26 14:37:22

+0

我的地圖應用程序與公共交通系統有關。例如,對於公共汽車路線,我需要保存終點,從出發點到出發點返回出發點(如果返程路線不同) 。我還需要保存公共汽車將轉彎的每個點(拐角,曲線道路)。我將爲10多個城市繪製點。 – Jairo 2010-06-26 15:00:10

+0

@jalbautista:好的,但MB有多少? – wlk 2010-06-26 15:16:01

回答

7

SQLite可以處理大量的數據,這裏的問題是設備的限制。如果您要存儲3MB或更多,則應考慮將該數據保存在外部服務器中並通過Internet訪問它。實際上,當您構建使用大量數據的應用程序時,通常應用程序不會始終使用所有數據,因此您可以將緩存(位於本地數據庫中)保存爲應用程序當前正在使用的數據,或者即將使用。

+0

謝謝你。嗯,現在考慮到,我可以使用MySQL作爲我的外部數據庫,當然,我的本地數據庫使用SQLite。這會有什麼影響嗎? – Jairo 2010-06-26 15:31:46

+0

它的唯一影響是您將不得不建立Internet連接。 – Cristian 2010-06-27 22:37:25

1

我認爲找出最好的方法是編寫一個簡單的應用程序來模擬您將要執行的事務處理類型並查看它是如何執行的。

您可能還想要比較SQLite如何與像db4o這樣的對象數據庫進行比較,該數據庫性能非常好,並且經常用作嵌入式數據庫(並且可以輕鬆處理數據)。

+1

這裏的問題是,Android僅支持SQLite,並且大多數設備的內部存儲空間不超過1GB。 – Cristian 2010-06-26 14:48:28

+1

這是不正確的,你可以使用db4o與Android:http://www.db4o.com/Android/default.aspx – 2010-06-29 19:42:00