Могу ли я использовать Sqlite в приложении WinRT (javascript)? - PullRequest
7 голосов
/ 20 октября 2011

Можно ли использовать базу данных Sqlite в приложении javascript для Windows 8 (winRT)?

Чего я хочу добиться - это загрузить базу данных Sqlite и сохранить ее в локальном хранилище перед использованием.Я считаю, что некоторая форма локального хранилища доступна для приложений WinRT на основе JavaScript, но я хочу знать, можно ли использовать Sqlite в этом сценарии.

Я также знаю, что реализация Sqlite .Net использует некоторые вызовы win32, и я считаю, что они не будут разрешены процессом сертификации приложения windows8.

Ответы [ 5 ]

8 голосов
/ 20 октября 2011

JavaScript имеет HTML5 IndexedDB, доступный для него из коробки.

Что касается SQLite, вы можете использовать его, при условии, что вы сначала обернули его как компонент WinRT, который можно использовать из JavaScript, например, с помощью C ++/ CX.Его поверхность API не такая большая, так что это, безусловно, возможно.Я экспериментировал с компиляцией SQLite для Metro некоторое время назад, и было всего несколько вызовов Win32 API, которые не были доступны в контейнере приложения и должны были быть заменены - ничего особенного.

5 голосов
/ 05 июня 2012

Для этого мы создали SQLite3-WinRT . Это оболочка компонента WinRT для SQLite, которая проходит сертификацию приложений в стиле Metro для Windows. Он также включает в себя простую в использовании абстракцию JavaScript.

2 голосов
/ 31 октября 2011

Взгляните на это: http://sqlwinrt.codeplex.com/

1 голос
/ 22 декабря 2014

Да. Вы можете использовать SQLite на машине WinRT. Просто выполните следующие шаги

  1. Создать новый проект.
  2. Перейдите по ссылкам, затем щелкните правой кнопкой мыши на ссылках, там вы получите Manage NuPackage Нажмите на это.
  3. В онлайн-поиске пакета Sqlite-net введите этот пакет.
  4. Снова щелкните правой кнопкой мыши на «Ссылки» и выберите «Добавить ссылки», там, в разделе «Расширение», вы получите два непроверенных эталонных времени выполнения MS Visual C ++ и время выполнения Sqlite для Windows. проверьте и ссылку и добавить ссылки. В вашем обозревателе решений появятся два файла CS.
  5. Теперь загрузите Zip-файл с https://github.com/doo/SQLite3-WinRT Он предоставит вам обертку для использования cs-файлов в вашем проекте.
  6. Распакуйте в любое место.
  7. Теперь в проекте перейдите в ФАЙЛ-> ДОБАВИТЬ-> Существующий проект-> и просмотрите место распаковки. Там вы получите файл SQLite3Component.vcxproj внутри SQLite3Component. Добавьте этот файл.
  8. Теперь обертка Project включена в ваш проект.
  9. Теперь в ваших разархивированных файлах вы получите папку SQLite3JS, скопируйте эту папку и вставьте в обозреватель решений.
  10. Теперь вы готовы использовать sqlite в вашем проекте.
  11. Попробуйте построить свой проект, он покажет две ошибки, что файл winres.h отсутствует. Для этого перейдите в папку с ошибкой, переименуйте ее в winresrc.h и соберите заново. Теперь он будет построен, и вы сможете использовать sqlite в своем проекте.
    1. Чтобы использовать .js-файл SQLite3JS, укажите файл src of js, например SQLite3JS \ js \ SQLite3.js, на html-странице, где вы собираетесь использовать sqlite. Здесь я приведу пример использования sqlite в JS // Это создаст имя базы данных db.sqlite и попытается создать таблицу с именем Notes. Если его там нет var dbPath = Windows.Storage.ApplicationData.current.localFolder.path + '\ db.sqlite'; SQLite3JS.openAsync (DBPATH) .then (function (db) { return db.runAsync ('CREATE TABLE Notes (id TEXT PRIMARY KEY, notes TEXT)'); Я надеюсь, что все эти шаги помогут вам.
1 голос
/ 15 августа 2012

Да, база данных SQLite теперь поддерживается в Windows 8 RTM. Теперь вы можете загрузить все (Windows 8, инструменты, образцы) из Центр разработки Windows .

...