用于monotouch的mvvmcross sqlite-net插件

时间:2012-12-20 21:14:45

标签: sqlite xamarin.ios mvvmcross sqlite-net

我正在多平台企业应用程序中实现优秀的mvvmcross库。 monodroid sqlite插件正在运行 - 我现在需要实现单触功能。 我感兴趣的是,是否有人为ios / monotouch平台开发了一个附带的sqlite插件,并描述了所涉及的复杂性和路径,绊脚石等。 干杯

2 个答案:

答案 0 :(得分:3)

这应该非常简单......

  1. 在Mac上使用MonoDevelop,创建一个新的MonoTouch库项目 - Cirrious.MvvmCross.Plugins.Sqlite.Touchin文件夹/ MvvmCross / Cirrious / Plugins / Sqlite /
  2. 将调试和发布的构建路径设置为../../../../bin/Touch/debug和../../../../bin/Touch/release
  3. 添加以下参考:Cirrious.MvvmCross(核心PCL),Cirrious.MvvmCross.Touch(核心MonoTouch方法),Cirrious.MvvmCross.Plugins.Sqlite(核心SQLite函数)
  4. 添加'样板'插件文件 - 它只是在DI中注册连接工厂 - 见下面的
  5. 添加连接工厂类 - 请参阅下面的
  6. 在Droid插件中的sqlite-net文件中添加链接 - SQLiteNet.cs
  7. 构建
  8. 当你在MonoTouch UI项目中使用这个插件时,你需要在setup.cs文件中注册插件实例 - 就像你所有的Touch插件一样 - 这是因为我们不能使用Assembly.Load()在运行时
  9. 您可能还需要在运行时使用插件做一些特别的事情 - 不确定 - 尚未在MonoTouch中使用过SQLite-net - Sqlite示例应该有所帮助 - https://github.com/praeclarum/sqlite-net/tree/master/examples/StocksTouch
  10. 我的尝试是: https://github.com/slodge/MvvmCross/tree/vnext/Cirrious/Plugins/Sqlite/Cirrious.MvvmCross.Plugins.Sqlite.Touch

    但我没有测试过这个。

    如果有效的话,我会喜欢阅读它吗?如果没有,可以看一下它来修复它。

答案 1 :(得分:2)

你看过这篇博文了吗? http://slodge.blogspot.nl/2012/10/a-sqlite-example-vnext-portable.html

  

“请注意,到目前为止我只完成了此插件的Droid实现,但我认为其余所有内容 - WP7,MonoTouch和WinRT(以及更高版本)应该是直截了当的 - 而且相同的SQLiteNet。 cs文件(#if和all)将在这些插件之间进行链接共享。“

您是否尝试过为monotouch项目使用相同的SQLite插件?