2017-06-16 136 views
1

我正在開發一個新的基於xamarin的項目,我必須以某種方式存儲交易數據,如果應用程序關閉,數據不應該丟失。所以我決定存儲一個寫有事務信息的文件,以便程序可以訪問文件並讀取,或者在需要時重寫信息。首先,我正在考慮創建資產.txt文件,但我發現無法將信息寫入這類文件。第二種情況是使用嵌入式文件,但我仍然無法獲得應該保留的位置,因此用戶不會無意中刪除它。如果可以分享您的經驗或發送一篇關於此主題的解釋文章。Xamarin商店信息

+2

傳統上這是一個數據庫的用途。有許多關於使用本地SQLite數據庫和Xamarin應用程序的文章和示例。 – Jason

+0

在我的情況下,我必須存儲一個字符串是值得實施的數據庫? – GeekyNuns

+1

你如何將所有交易數據存儲在單個字符串中?除了使用數據庫之外,還有一些方法可以保留短字符串,但我不知道它們是否可以應用。 –

回答

2

可以少量的信息存儲在像這樣的應用程序屬性:

string foo = "Foo"; 
Application.Current.Properties["bar"] = foo; 

正是如此檢索它們:

string foo = Application.Current.Properties["bar"] as string; 
0

另一種方式,我發現。這應該是跨平臺的能力,我只測試了迄今爲止的Android版本。

使用的NuGet安裝

XAM.Plugins.Settings

存儲的值(我只得到字符串和整數工作)

var settings = CrossSettings.Current; 
settings.AddOrUpdateValue<string>("key", value); 

檢索值

var settings = CrossSettings.Current; 
var strSettings = settings.GetValueOrDefault<string>("key", string.Empty); 

我嘗試了更復雜的類型,並且出現錯誤

System.ArgumentException:不支持類型PreSetStruct的值。發生

PreSetStruct是一個帶有幾個字段的簡單結構。

我將在以後的iOs版本上工作,並會讓你知道它是如何工作的。