Использование Green DAO с поставщиком контента

Я планирую использовать GreenDAO в своем проекте. Я уже тестировал его, создав тестовый проект. Однако у меня есть пара требований, которые мне нужно выполнить.

  1. База данных моего приложения будет зашифрована. Для этого мы планируем использовать SQLCipher . Я нашел эту ссылку . Я изучаю его, но интересно узнать, есть ли что-либо в оригинальном проекте GreenDAO.

  2. Поскольку мое приложение будет синхронизировать данные с / на сервере, я буду использовать SyncAdapter, так как я не хочу делать все тяжелые действия самостоятельно, что уже сделано с помощью платформы Android. Но для этого требуется Content Provider . Итак, как я могу использовать GreenDAO с Content Provider .

Обновление 2

Мой проект состоит из семи объектов. Я использовал addContentProvider() над сущностями. И генерируется семь разных контент-провайдеров. Есть ли способ иметь все таблицы sqlite в одном поставщике контента?

Solutions Collecting From Web of "Использование Green DAO с поставщиком контента"

У меня есть проект, работающий с greenDao и поставщиком контента. Сначала я использовал ProviGen только для того, чтобы генерировать контент-провайдера и запрос с помощью преобразователя контента, но затем проект оказался очень большим, поэтому я решил реализовать greenDAO, я сделал это, чтобы использовать contentProvider, созданный в провиге, чтобы получить от него базу данных , Так что теперь у меня есть и contentProvider, и провиген, прикрепленные к той же базе данных. Я рекомендую вам создать свой ContentProvider и прикрепить свой daoMaster к базе данных, сгенерированной с ней. Вот фрагмент кода, который я использовал в классе приложений onCreate:

 private static DaoSession daoSession; public void onCreate(){ SQLiteOpenHelper myAppOpenHelper = new ProvigenContentProvider().openHelper(this); //ContentProvider created previously SQLiteDatabase db = myAppOpenHelper.getWritableDatabase(); DaoMaster daoMaster = new DaoMaster(db); daoSession = daoMaster.newSession(); } 

После этого использовать greendao просто:

 public DaoSession getDaoSession(){ return daoSession; } 

И там вы можете иметь как contentProvider, так и greenDao. Если вы еще не запустили свой проект, тогда создайте поставщика контента вручную и создайте DaoMaster с тем же кодом здесь. Удачи