Интеграция xamarin, CouchBaseLite, MVVMCross и SyncGateway для просмотра изменений в базе данных.

Я работаю над проектом xamarin, где я использую CouchBase Lite в качестве локальной базы данных. Я также хочу использовать библиотеку MVVMCross. Может ли кто-нибудь указать, где я должен включить библиотеку Couchbase-Lite, MVVMCross - библиотеку горячего тунца (например, библиотеку классов или переносимую библиотеку классов или проект для конкретной платформы), чтобы модель представления получала уведомления об изменениях в Couchdatabase.

По сути, я хочу изменить представление всякий раз, когда в базе данных происходят изменения. Я хочу изменить представление с помощью mvvmcross. Я использую syncgateway для синхронизации с сервером Couchbase.

Я новичок в Xamarin, MVVM и CouchBaselite. Я не мог найти конкретного примера для всего этого.

Заранее спасибо.


person Arun Ramachandran    schedule 20.05.2015    source источник
comment
SQLite лучше всего подходит для мобильных приложений. Xamarin предоставляет больше примеров с использованием базы данных SQLite.   -  person Anees Deen    schedule 22.05.2015


Ответы (2)


Возможно, я бы просто использовал компонент CouchBaseLite Xamarin. Если вы хотите получить доступ к этому в своем проекте PCL Core, вам, вероятно, придется создать какую-то оболочку вокруг компонента и правильно внедрить ее в каждую платформу. Вы можете использовать вики плагины MvvmCross, чтобы начать работу.

person PkL728    schedule 22.05.2015
comment
Большое спасибо. Я попробую это. Спасибо еще раз. - person Arun Ramachandran; 23.05.2015
comment
Теперь я добавил компонент Couchbaselite в проект Xamarin.Android. В примере с продуктовой синхронизацией они использовали TinyIoc для доступа к службе CouchBase, которая написана в Shared.Back, и разрешают ее в проектах Shared.Front и Native. Мой вопрос в том, как сделать то же самое с MVVMCross и PCL. Из PCL, какая оболочка и как внедрить эту зависимость в модель представления. Потому что в MVVMCross модель представления будет только в проекте PCL. - person Arun Ramachandran; 26.05.2015
comment
С вашей стороны действительно нужно проделать гораздо больше работы, чтобы понять, как работает MvvmCross и модель плагина. Я настоятельно рекомендую серию Stuart N+1, чтобы ознакомиться с тем, как это работает. В этот момент вы действительно просите нас сделать вашу работу за вас. Если вы вернетесь с конкретными проблемами кодирования, мы будем рады помочь, но, к сожалению, это требует дополнительной работы с вашей стороны. - person PkL728; 26.05.2015
comment
Что касается вашего конкретного вопроса IoC, у вас есть несколько вариантов. MvvmCross имеет собственную структуру IoC... т. е. var plugin = Mvx.Resolve‹Myplugin›(), или вы можете узнать, как заменить структуру IoC MvvmCross на Tiny IoC здесь. - person PkL728; 26.05.2015
comment
да я понимаю. Извините за абстрактный вопрос. Я попробовал это, и это почти работает. Как только я получу его полностью, я опубликую его здесь. Спасибо - person Arun Ramachandran; 27.05.2015

Я знаю, что это старая ветка, но есть новый плагин MvvmCross для Couchbase, и в основном он делает все, что вы хотите. Он находится в альфа-версии на момент написания этой статьи на Nuget и с открытым исходным кодом на Github. Я действительно искал то же самое, и счастлив, что нашел его! :)

https://www.nuget.org/packages/MvvX.Plugins.CouchBaseLite.ForestDB

https://github.com/mathieumack/MvvX.CouchBaseLite

person cesar    schedule 12.07.2016