2012-07-05 73 views
0

我爲android編寫應用程序,它將位於android設備上的數據庫與外部數據庫同步。總之,Android生成一些數據並將其存儲在自己的數據庫中。 Android不時通過互聯網將這些數據發送給HTTP服務器。我想知道,發送這些數據XML或JSON會更好嗎?我知道JSON比XML輕得多,但是在JSON上做XML有什麼優勢?同步數據庫有什麼更好?數據庫同步 - XML或JSON

+1

如果你有解析它們的工具,它真的歸結爲偏好。 – Josh 2012-07-05 16:21:31

回答

1

在非常大的數據集中,XML會稍微重一點,因爲它需要打開和關閉標記。標籤之間的數據有多大也有問題。如果在開始和結束標籤之間有大量數據,那麼這會「軟化」效果。如果您沒有使用大量數據,那麼我只會使用對客戶端和服務器都有更好的本地庫支持。對於中小型數據集,我認爲這種差異不會很明顯。

1

我會說json ....因爲json更輕,如果你正在尋找的只是傳遞數據,json是更快,更簡單的方法。我同時使用json和xml一段時間,並且我還沒有找到任何理由更喜歡xml over json,除了可能該XML「看起來」更好...

無論如何,如果您正在使用現有的解析和編碼工具(如JAXB),從JSON到XML的過渡應該帶你2-3行代碼,SIO你也可以切換另一個...

1

我會推薦JSON,因爲它比XML輕得多,在我看來,更容易處理的格式。要麼完成這項工作。其他需要考慮的事項是您在HTTP Server上使用的服務來攔截數據。你在寫自己的作品嗎?使用預先存在的一種可能在一種格式上比另一種更好地工作?

也有沒有直接連接到遠程數據庫和更新它的原因?我知道經常這樣做可能會減慢應用程序的運行速度並造成大量的數據使用,但是如果你只是謹慎地做,就像你打算做的那樣,應該不是那麼大的問題。

1

您還沒有說明這是單用戶還是多用戶應用程序....分佈式數據同步不是一個簡單的問題需要解決。

如果這是一個單用戶解決方案,我會調查您的數據庫是否支持複製。如果你的數據集很小,我還會考慮簡單地發佈數據庫轉儲文件。這兩種解決方案都避免了將數據序列化爲XML/JSON數據的性能開銷。也避免了數據庫類型支持的麻煩。

最後,對於「左場」解決方案,爲什麼不考慮將數據存儲在couchdb?客戶端服務器複製內置。