【发布时间】:2015-01-30 00:22:36
【问题描述】:
____ 简介
大家好,首先澄清三点:
- 我的英语不好,所以我的错误请提前见谅,
- 我是新手,请原谅我的不准确之处,
- 我之前搜索并尝试了我在互联网上找到的解决方案,但仍然无法解决嵌入预填充数据库的问题。
____ 目标
我想使用预填充数据库开发适用于 iOS 和 Android 的应用。
例如,数据库由 15.000 条记录组成,每条记录由三个键值对(id、firstname 和 姓氏)。
___ 我做了什么
步骤:
ionic start myapp blank
cd myapp
ionic platform add ios
ionic platform add android
然后我创建了一个用于测试目的的 sqlite 数据库,名为 mydb.sqlite,由一个表 people 组成,其中包含两个 id、firstname,lastname 记录。
我决定使用以下插件: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
___ 最后的感谢
提前感谢您对我的帮助。
【问题讨论】: