0
我正在編寫一個與Google App Engine服務器交談的Android應用程序。服務器保存持久性數據,它使用PersistenceManager
存儲和提取。我有這樣的設置現在的方法如下:從GAE PersistenceManger發送對象到Android
- 稱爲
StoredThingToRemember
服務器上的@PersistenceCapable
類具有信息記憶,以及一些GAE對象持久爵士樂。 - 當Android客戶端想要獲取一個
ThingToRemember
,它發送一個HTTP請求給服務器,其獲取從PersistenceManager
一個StoredThingToRemember
,其轉換爲ThingToRemember implements Serializable
,其序列化爲一個byte[]
,然後在HTTP響應發送。 - 客戶端反序列化
ThingToRemember
並使用它。
這個工程,但它似乎不起眼。理想情況下,我想序列化併發送StoredThingToRemember本身。不幸的是,這似乎需要將所有的GAE對象持久化類放在Android應用程序中,這看起來很愚蠢和浪費。
從GAE持久性中獲取對象然後在Android應用程序中使用該對象的正確方法是什麼?
在串行化和反序列化結束時,您將使用哪個類來實現此目的? – 2011-04-03 23:59:23
@Andrew類是次要的。您應該研究序列化框架 - 選擇一種適合的格式(XML對於Java來說很典型,可能有很好的內置庫; JSON是一個很好的選項,通常易於讀寫),然後遵循其標準序列化數據的方法。 – 2011-04-04 00:01:58
我同意使用Java的內置序列化格式在這裏可能不是一個好主意。不過,我強烈建議不要使用XML(壞數據模型)。 JSON不錯,但像Google Protocol Buffers或Apache Thrift這樣的東西會更好一些(有很多語言的實現;它們處理一些結構驗證;它們都具有文本格式和具有更好性能的等效二進制格式) 。其他工具:https://github.com/eishay/jvm-serializers/wiki/ToolBehavior – 2011-04-04 06:30:02