3

我正在多平台企业应用程序中实现出色的 mvvmcross 库。monodroid sqlite 插件正在工作 - 我现在需要实现单点触控功能。如果有人为 ios/monotouch 平台开发了附带的 sqlite 插件并描述所涉及的复杂性和所采取的路径、绊脚石等,我很感兴趣。干杯

4

2 回答 2

3

这应该很直接...

  1. 在 Mac 上使用 MonoDevelop,在文件夹 /MvvmCross/Cirrious/Plugins/Sqlite/ 中新建一个 MonoTouch 库项目 - Cirrious.MvvmCross.Plugins.Sqlite.Touch
  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 插件 - SQLiteNet.cs 中添加指向 sqlite-net 文件的链接
  7. 建造
  8. 当你在 MonoTouch UI 项目中使用这个插件时,你需要在你的 setup.cs 文件中注册插件实例——就像你做所有的 Touch 插件一样——这是因为我们不能在运行时使用 Assembly.Load()
  9. 您可能还需要做一些特殊的事情才能在运行时使用插件 - 不确定 - 尚未在 MonoTouch 中使用 SQLite-net - Sqlite 示例应该有所帮助 - https://github.com/praeclarum/sqlite-net/tree/大师/示例/StocksTouch

我对此的尝试是: https ://github.com/slodge/MvvmCross/tree/vnext/Cirrious/Plugins/Sqlite/Cirrious.MvvmCross.Plugins.Sqlite.Touch

但我没有测试过这个。

如果它有效,我很想阅读它……如果它不起作用,我会看到修复它的动力。

于 2012-12-21T08:04:12.020 回答
2

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

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

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

于 2012-12-21T07:56:26.303 回答