2013-12-12 44 views
2

的設置插件上使用的NuGet其設置插件在MvvmCross

https://www.nuget.org/packages/MvvmCross.Plugins.Settings/0.0.0.2

似乎只適用於Windows Phone的。

名稱(MvvmCross.Plugins.Settings)使它看起來像一個'官方'插件,但它不是。

令人困惑的是,還有另外一個用於Windows Phone的太:

https://www.nuget.org/packages/MvvmCross.Plugins.Settings.WindowsPhone/0.0.0.2

都有爲作者ShawnMclean。

還有這一個,但它只是保存基本類型(int,字符串,雙等),它是不能保存自定義對象:

https://github.com/ceton/Mvx.Plugins.Settings

一個非常簡單的實現將將值序列化爲JSON。值可以是任何東西。

你在保存MvvmCross應用中的設置時使用了什麼?

回答

3

Cheesebaron對Droid手機Touch和Windows Phone的一個MvvmCross設置插件,基於ceton的插件,有一些修正:

https://github.com/Cheesebaron/Cheesebaron.MvxPlugins

這個插件也只保存基本類型。如果你想保存可序列化的類型,可以克隆repo並擴展每個平臺的插件實現。

當然,您可以隨時讓應用程序處理JSON序列化並將其存儲爲字符串,也可以爲您提供一個很好的服務,以便在應用程序中使用它。畢竟,JSON序列化應該是相當跨平臺的。

+0

謝謝,我不知道Cheesebaron的實現。就像你已經提到的那樣,不幸的是它只保存了基本類型 –

0

根據您的設置的複雜性,您可以考慮使用http://www.nuget.org/packages/MvvmCross.HotTuna.Plugin.File/並將您的設置對象序列化爲XML或JSON。

+0

我不會推薦這樣做。您應該使用平臺的本地設置功能 - 否則您的設置將成爲無法由軟件基礎架構工具管理的無形筒倉。例如,如果您的任何客戶正在使用MDM基礎架構,他們將無法將更新的設置推送到您的應用程序。 – Adam