如何使用预先填充的sqlite数据库与Cordova for android

时间:2016-08-31 14:57:23

标签: android angularjs sqlite cordova

我已经开始学习Cordova并创建了示例应用程序以使用预填充(预填充)数据库。在应用程序运行时,我不想在数据库中创建或插入记录。我没有使用IONIC框架

我正在使用以下框架和插件

1)npm = 2.15.9
2)Cordova = 6.3.1
3)角度1
4)Cordova android = 4.1.1
5)目标Android = 5.1.1(根据我的知识API 22)

插件
cordova-sqlite-ext

我将.db文件保存在 \ www 文件夹中,当我构建应用程序时将其复制到 platforms \ android \ assets \ www

我检查了数据库,表中已经存在一些记录。

但是当我尝试在Android模拟器中运行应用程序并尝试在chrome中进行调试时,它会出现错误 sqlite3_prepare_v2失败:没有这样的表:用户

这是数据库结构和记录。

Database image

我用来访问数据库的

示例代码

angular.module("learnModule", ["ngRoute", "ngDraggable","ngCordova"])
            .run(function ($cordovaSQLite) {
                document.addEventListener('deviceready', function() {

                    if (window.sqlitePlugin !== undefined) 
                    {
                        window.sqlitePlugin.openDatabase({ name: "pre.db", location: 'default', createFromLocation: 1 },
                        function(db)
                        {
                            db.executeSql("SELECT name FROM Users", [], 
                            function (res) {
                                var stringlength = res.rows.item(0).name;
                                console.log('got stringlength: ' + stringlength);
                            }, function (error) {
                                console.log(error.message);
                            });
                        });
                    }
                    else {
                        // For debugging in the browser
                        db = window.openDatabase("pre.db", "1.0", "Database", 200000);
                    }
                });
            })

Chrome控制台窗口中的消息
OPEN数据库:pre.db
OPEN数据库:pre.db - OK
sqlite3_prepare_v2失败:没有这样的表:用户

请任何人帮我解决上述问题。 感谢

0 个答案:

没有答案