Я пытаюсь найти лучший способ сделать простое соединение таблицы в моих двух таблицах, используя базу данных sqlite в приложении Android. Самый простой способ использовать CursorJoiner или есть ли более простой способ?
Лучший способ присоединиться к таблицам с использованием sqlite в android
Ответ 1
В реализации SQLiteDatabase и SQLiteQueryBuilder вы увидите, что можно передать таблицы, которые хотите присоединиться к аргументу table
query
, даже если документация подразумевает, что он будет принимать только одно имя таблицы. Документация для SQLiteQueryBuilder более понятна и даже предлагает такие вещи, как foo, bar
или foo LEFT OUTER JOIN bar ON (foo.id = bar.foo_id)
.
Ответ 2
Если вы хотите использовать стороннюю библиотеку, я рекомендую использовать Active Android
https://github.com/pardom/ActiveAndroid
используя это, вы можете объединить таблицы, подобные этому
From query = new Select()
.from(Foo.class)
.innerJoin(Bar.class)
.on("Foo.Id=Bar.Id");
вы даже можете вернуть курсор для использования в загрузчиках
Cursor cursor = Cache.openDatabase().rawQuery(query.toSql(), query.getArguments());
подробнее здесь