PouchDB不在三星Android手机上创建数据库(Android v.4.1.3,4.2.2)

时间:2013-12-09 07:27:41

标签: android cordova couchdb pouchdb

我正在为Android设备创建一个基本应用程序。我正在使用普通的Jade,JavaScript和PouchDB数据库。当我在模拟器上部署应用程序时,像HTC,Tablet这样的Android设备工作正常,但对于三星设备(Android v.4.1.3,4.2.2),它无法正常工作。

我的翡翠代码是

head

    script(src='../javascripts/pouchdb-nightly.min.js').
    script(type="text/javascript").
        var db = new PouchDB('pouchexample');

        function addBook(){
            var booktitle= window.document.bookform.titlefield.value;
            var authorfield= window.document.bookform.authorfield.value;
            var isbnfield= window.document.bookform.isbnfield.value;
            var book = {
                _id : isbnfield,
                title : booktitle,
                author : authorfield
            };
            db.put(book,function(err,res){
                if(!err){
                    clearField();
                    document.getElementById("message").innerHTML =
                        "new boook added";
                }
            });
        }

        function clearField() {
            window.document.bookform.titlefield.value="";
            window.document.bookform.authorfield.value="";
            window.document.bookform.isbnfield.value="";
        }

        function showBooks(){
            db.allDocs({include_docs:true, descending:true}, function(err, doc){
            showTableOfBooks(doc.rows);
            });
        }

        function showTableOfBooks(data){
            var div = document.getElementById("message");
            var str = "<table border='1' align='left'><tr><th>isbn</th><th>title</th><th>author</th></tr>";
            for(var i=0; i<data.length;i++){
                str +="<tr><td>"+data[i].doc._id+"</td><td>"+data[i].doc.title+"</td><td>"+data[i].doc.author+"</td></tr>"
            }
            str+="</table> ";
            div.innerHTML = str;
        }

body
    form(name='bookform')
        | book title
        input(type='text', name='titlefield')
        br
        | book author
        input(type='text', name='authorfield')
        br
        | book isbn
        input(type='text', name='isbnfield')
        br
        input(type='button', value='add book', onclick='addBook()')
        br
        input(type='button', value='clear fields', onclick='clearFields()')
        br
        input(type='button', value='show book', onclick='showBooks()')
        #message

我从http://download.pouchdb.com/pouchdb-nightly.min.js

下载了“pouchdb-nightly.min.js”

请告诉我这个问题的适当解决方案。

...谢谢

3 个答案:

答案 0 :(得分:1)

an issue with个特定的android设备有一个不完整的indexedDB版本,这已在master中修复,所以如果你根据master分支构建一个pouchdb的副本,你应该没问题。

答案 1 :(得分:0)

我有一个类似的问题,解决 *它强迫pouchdb使用websql。

var db = new PouchDB('websql://pouchexample');

答案 2 :(得分:0)

在Android上,起初PouchDb给出错误:当我用React Native运行它时,“找不到变量缓冲区”。修改pouchdb-binary-utils插件以使用新缓冲区(默认情况下,React-Native安装了安全缓冲区)解决了该问题。

获取更新的插件:https://github.com/emexrevolarter/react-native