3

____イントロ

皆さん、こんにちは。まず、3 つの説明をお願いします。

  1. 私の英語は下手なので、私の間違いをあらかじめご容赦ください。
  2. 初心者なので不正確な点はご容赦ください
  3. 以前にインターネットで見つけた解決策を検索して試しましたが、事前入力されたデータベースを埋め込む問題を解決できません。

____目標

事前入力されたデータベースを使用して、iOS および Android 用のアプリを開発したいと考えています。

たとえば、データベースは15,000 レコードで構成され、それぞれが 3 つのキーと値のペア ( idfirstname、およびlastname ) で構成されています。

___私がしたこと

手順:

ionic start myapp blank
cd myapp
ionic platform add ios
ionic platform add android

次に、2 つのidfirstnamelastnameレコードを含む 1 つのテーブルpeopleで構成される、 mydb.sqliteという名前のテスト用の sqlite データベースを作成しました。

次のプラグインを使用することにしました: https://github.com/Antair/Cordova-SQLitePlugin Cordova ツールでインストールできるためです。

ionic plugin add https://github.com/Antair/Cordova-SQLitePlugin

(警告: Web サイトの指示に誤った参照が表示されていると思います - "cordova plugin add https://github.com/brodysoft/Cordova-SQLitePlugin " - これは別のプラグインを参照しています)。

次に、プラグイン Web サイトの指示に従って、データベースをmyapp/www/db/にコピーし、 myapp/www/db/mydb.sqliteで見つけられるようにしました。

デフォルトのapp.jsスクリプトの直後に SQLite プラグインを含むindex.htmlを変更しました。

<!-- your app's js -->
<script src="js/app.js"></script>
<script src="SQLitePlugin.js"></script>

また、ボタンを表示するためにindex.htmlファイルにいくつかのコード行を記述します。

<ion-content ng-controller="MyCtrl">
    <button class="button" ng-click="all()">All</button>
</ion-content>

最後に、./js/app.jsを変更しました:

// Ionic Starter App

var db = null;

angular.module('starter', ['ionic' /* What goes here? */ ])

.run(function($ionicPlatform) {
  $ionicPlatform.ready(function() {
    // some predefined code has been omitted

    window.sqlitePlugin.importPrepopulatedDatabase({file: "mydb.sqlite", "importIfExists": true});
    db = window.sqlitePlugin.openDatabase({name: "mydb.sqlite"});

  }); // $ionicPlatform.ready
}) // .run

.controller('MyCtrl', function($scope){

    $scope.all = function(){
            var query = "SELECT * FROM people";
            // I don't know how to proceed

    }; // $scope.all

}); // .controller

___問題

コントローラー セクションですべてのレコードをクエリし (クエリの例にすぎません)、その結果を console.log に表示する方法がわかりません。

次のコードは何らかの方法で完成させる必要があると思います。

angular.module('starter', ['ionic' /* What goes here? */ ]) 

また、コントローラー セクション内のコードも完了する必要があります。

       $scope.all = function(){
                var query = "SELECT * FROM people";
                // I don't know how to proceed

        }; // $scope.all

___最後のお礼

どうぞよろしくお願いいたします。

4

1 に答える 1