Код $ cordovaSQLite в контроллере должен лежать в пределах функции ионной готовности или функции deviceready (функция deviceready предпочтительнее, поскольку функция ионной готовности иногда не срабатывает), иначе я видел, как она выдавала ошибку.
Ваш метод использования openDB верен, который находится в функции запуска. Хотя в идеале он также должен иметь инструкцию try catch.
Для получения большей ясности ознакомьтесь с файлами www/index.html и www/js/app.js моего репозитория.
РЭПО находится в https://github.com/vibhutewary/ionic_ngcordova_sqlite_todo
Вы найдете уже построенный APK в «платформы/Android/строительство/выходов» папку в примере. После загрузки кода я протестировал команду «ionic run android», и она отлично работает.
Версия 2 вышеуказанной заявки находится в хранилище «ionic_ngcordova_sqlite_todos_version_2» моей учетной записи github. Это ту же функциональность, но использует методы Ionic Framework (улучшенный CSS и т. Д.).
Также я бы рекомендовал использовать функцию alert(), чтобы проверить, выполняется ли код в функции успеха openDB. Это может быть в заявлении try catch.
Хорошо как обновление: Я делюсь ссылкой на пример голых костей openDB и INSERT, SELECT здесь. Он использует предупреждение для уведомления о создании db, а затем оповещения, если значение вставлено. Затем он предупреждает вставленное значение с помощью инструкции SELECT.
Пожалуйста, обратитесь к файлам www/index.html и www/js/app.js для кода. Репозиторий git находится на https://github.com/vibhutewary/ionic_ngcordova_sqlite_creatdb_insert_select
Я загрузил репозиторий «ionic_ngcordova_sqlite_creatdb_insert_select» и запускал «ионный бег андроида», и он работает правильно. Репозиторий имеет уже построенный apk в папке «/ platform/android/build/output» (это будет отменено в команде «ionic run android»). В примере здесь создается БД, затем в контроллере тестовое сообщение вставляется в таблицу, а затем предупреждение() используется для отображения результата SELECT из таблицы.
Чтобы проверить, создана ли база данных или нет, вы можете использовать метод checkFile.
Вы можете увидеть вышеупомянутый файл www/js/app.js файла «ionic_ngcordova_sqlite_creatdb_insert_select» для использования, поскольку он вызывает метод «cordova.file.applicationStorageDirectory».
Обратите внимание, что база данных находится в папке «базы данных» в этой папке «applicationStorageDirectory».
Вы также можете обратиться к этому сообщению, которое показывает использование applicationStorageDirectory в: Sqlite: check if database exist
Edit: я видел, что Ионное Framework сбоя на некоторых телефонах на старте (протестировано по телефону «PHICOMM C630»), так что я удалил Ионные Framework и включал только библиотеки ngCordova и AngularJS. Результирующее решение было в моем репозитории под названием «corodova_ngcordova_angularjs_jquerymobile_todos». Это приложение Todo с обработкой SQLite DB. Для того, чтобы запустить решение без здания, типа «Cordova запуска андроида»
Там никого нет там wh o мог бы посоветовать? – CaraMar
sqlite не будет работать с браузером AT ALL. Он вызывает собственные функции, которые просто не поддерживаются в браузере. – VSG24
Тот же выпуск. DB, работающий на хроме, не на устройстве i.e android –