____介绍
大家好,首先澄清三点:
- 我的英语不好,所以请您原谅我的错误,
- 我是新手,不准确的地方见谅
- 我之前搜索并尝试了我在互联网上找到的解决方案,但我仍然无法解决嵌入预填充数据库的问题。
____目标
我想为 iOS 和 Android 开发一个带有预填充数据库的应用程序。
例如,数据库包含15.000 条记录,每条记录由三个键值对(id、firstname和lastname)组成。
___我做了什么
脚步:
ionic start myapp blank
cd myapp
ionic platform add ios
ionic platform add android
然后我创建了一个用于测试目的的 sqlite 数据库,名为mydb.sqlite,由一个包含两个 id、firstname、lastname记录的表people组成。
我决定使用以下插件:https ://github.com/Antair/Cordova-SQLitePlugin 那是因为它可以使用cordova工具安装。
ionic plugin add https://github.com/Antair/Cordova-SQLitePlugin
(警告:我认为网站上的说明显示了不正确的引用 - “cordova plugin add https://github.com/brodysoft/Cordova-SQLitePlugin ” - 它指的是另一个插件)。
然后,按照插件网站上的说明,我将数据库复制到myapp/www/db/以便现在可以在myapp/www/db/mydb.sqlite 找到它
我在默认app.js脚本之后修改了index.html ,包括 SQLite 插件:
<!-- 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
___最后感谢
预先感谢您对我的帮助。