Доступ к основным данным iOS из Android
Я разработал для книги простое приложение для iPhone, используя Core Data. Данные являются неизменяемыми и хранятся в предварительно загруженной базе данных sqlite, управляемой Core Data.
Теперь мне нужно разработать (почти) одно и то же приложение для Android. Я собираюсь написать очень простой набор классов, имитирующих Базовые Данные, и читать из той же самой базы данных sqlite.
Прежде чем начать это, мне было интересно, если кто-нибудь знает о библиотеке Android, которая делает именно это.
Теоретически, вы можете буквально предоставить тот же API, что и iOS, возможно, даже проанализировав объектную модель.
2 ответа
Базовые данные имеют свою собственную структуру данных, вы можете посмотреть на нее, и вы увидите что-то вроде этого:
Таблицы из вашей модели имеют префикс Z, так что вы можете отлично запрашивать эту базу данных SQLite с помощью SQL-запросов в Android.
Примечание. Этот файл SQLite можно найти после запуска приложения с помощью Simulator в папке: /Users/<you_name>/Library/Application Support/iPhone Simulator/<ios_version>/Applications/<app_id>/Documents/<app_name>.sqlite
В более сложном проекте мы использовали greenDAO в качестве замены Core Data при переносе кода с iOS на Android. Он не поставляется с визуальным моделированием, но основные операции довольно похожи. Будучи инструментом ORM, greenDAO отображает объекты Java на SQLite и предлагает такие вещи, как отношения.