2013-10-11 50 views
2

我有一個簡單的應用程序,將一些數據從網絡寫入數據庫。這在iOS和Windows Phone版本的應用程序中絕對正常,但Android版本遇到了一些問題。部署我的MVVMCross Xamarin.Android應用程序似乎清除應用程序的文檔存儲

似乎應用程序中存儲的數據(在/data/data/com.myapp/目錄中的數據會在我部署應用程序時被刪除根據the source code for the connection factory,數據總是存儲在Environment.GetFolderPath(Environment.SpecialFolder.Personal)返回的值中,我應該想象的是一個應用程序數據特定的文件夾,類似於iOS應用程序文檔目錄。

然而,當我剛剛打開應用程序並從Android任務管理器中刪除它並重新打開它時,一切都按預期工作使用調試器;數據如預期那樣持久。

不幸的是,我從來沒有做過Android開發,但我的與非Xamarin項目合作過的同事不瞭解可能導致此問題的原因。也許MVVMCross將數據存儲在錯誤的文件夾中?

回答

3

這是Xamarin.Android

的常見問題

在Visual Studio改變的工具設置|選項| Xamarin | Android設置|仿真/調試設備|保留在設備上的應用程序數據/緩存部署

之間

settings

+1

順便說一句,該插件的社區版還允許您指定的路徑 - 見https://github.com/MvvmCross/MvvmCross-SQLite/blob/master/Sqlite/Cirrious.MvvmCross.Community .Plugins.Sqlite/BaseClasses.cs - 我希望這將成爲主要版本向前移動 – Stuart

+0

哇,我不敢相信這不會提供大約一個小時的谷歌搜索。我想我不是在尋找正確的東西。希望我在未來添加了一些關鍵字來幫助其他人。感謝Stuart,不僅僅是爲了這個,而是爲了一個偉大的框架。 –

+0

@建議如果該設置拒絕工作,該怎麼辦? http://stackoverflow.com/questions/29838729/xamarin-preserve-application-data-cache-on-device-between-deploys-not-working –