7

Windows 8(winRT)javascriptアプリケーションでSqliteデータベースを使用することは可能ですか?

私が達成したいのは、Sqliteデータベースをダウンロードし、使用する前にこれをローカルストレージに保存することです。javascriptベースのWinRTアプリケーションで何らかの形式のローカルストレージを利用できると思いますが、このシナリオでSqliteが使用できるかどうかを知りたいと思います。

また、Sqliteの.Net実装がいくつかのwin32呼び出しを使用していることも認識しており、これらはwindows8アプリの認証プロセスでは許可されないと思います。

4

5 に答える 5

8

JavaScriptでは、HTML5IndexedDBをすぐに使用できます。

SQLiteについては、JavaScriptから使用できるWinRTコンポーネントとして最初にラップすることを条件に、たとえばC ++/CXを使用して使用できます。そのAPIサーフェスはそれほど大きくないので、確かに可能です。しばらく前にMetro用のSQLiteのコンパイルを試しましたが、アプリコンテナで利用できず、置き換える必要のあるWin32 API呼び出しはごくわずかで、大きな問題はありませんでした。

于 2011-10-20T17:37:23.523 に答える
5

このためにSQLite3-WinRTを作成しました。これは、Windowsメトロスタイルアプリの認定に合格するSQLiteのWinRTコンポーネントラッパーです。また、使いやすいJavaScriptの抽象化も含まれています。

于 2012-06-05T09:38:15.280 に答える
2

これを見てください: http ://sqlwinrt.codeplex.com/

于 2011-10-31T06:25:09.887 に答える
1

はい、SQLiteデータベースがWindows8RTMでサポートされるようになりました。これで、 Windows Dev Centerからすべて(Windows 8、ツール、サンプル)をダウンロードできます。

于 2012-08-15T19:49:28.870 に答える
1

はいWinRTマシンでSQLiteを使用できます。次の手順に従ってください

  1. 新しいプロジェクトを作成します。
  2. 参照に移動し、そこにある参照を右クリックすると、NuPackageの管理が表示されます。それをクリックします。
  3. Sqlite-netパッケージのオンライン検索で、そのパッケージをインストールします。
  4. もう一度[参照]を右クリックし、[参照の追加]をクリックすると、[拡張機能]セクションに、チェックされていない2つの参照MS VisualC++ランタイムとSqliteWindowsランタイムが表示されます。参照と追加参照の両方を確認してください。ソリューションエクスプローラーに2つのCSファイルがあります。
  5. https://github.com/doo/SQLite3-WinRTからZipファイルをダウンロード します。プロジェクトでcsファイルを使用するためのラッパーが提供されます。
  6. 任意の場所で解凍します。
  7. プロジェクトで、[ファイル]->[追加]->[既存のプロジェクト]->に移動し、解凍場所を参照します。そこで、SQLite3Component内にファイルSQLite3Component.vcxprojを取得します。そのファイルを追加します。
  8. これで、ラッパーProjectがプロジェクトに含まれます。
  9. これで、解凍したファイルにSQLite3JSフォルダーが作成され、そのフォルダーをコピーしてソリューションエクスプローラーに貼り付けます。
  10. これで、プロジェクトでsqliteを使用する準備が整いました。
  11. プロジェクトをビルドしようとすると、winres.hファイルがないという2つのエラーが表示されます。そのためには、エラーの場所に移動し、名前をwinresrc.hに変更して、再度ビルドします。これでビルドされ、プロジェクトでsqliteを使用できるようになります。
    1. SQLite3JSの.jsファイルを使用するには、sqliteを使用するhtmlページにSQLite3JS \ js\SQLite3.jsのようなjsファイルのsrcを指定します。ここでは、jsでsqliteを使用する例をいくつか示します。//これにより、データベース名db.sqliteが作成され、テーブルNameNotesが作成されます。存在しない場合vardbPath= 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)');これらすべての手順がお役に立てば幸いです。
于 2014-12-22T10:16:58.177 に答える