【问题标题】:PouchDB Not Creating Database on Samsung Android Phones (Android v. 4.1.3, 4.2.2)PouchDB 不在三星 Android 手机上创建数据库 (Android v. 4.1.3, 4.2.2)
【发布时间】:2013-12-26 05:58:39
【问题描述】:

我正在为 Android 设备创建一个基本应用程序。我正在使用普通的 Jade、JavaScript 和 PouchDB 数据库。当我在模拟器、Android 设备(如 HTC、平板电脑)上部署应用程序时,它运行良好,但对于三星设备(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”

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

谢谢...

【问题讨论】:

    标签: android cordova couchdb pouchdb


    【解决方案1】:

    an issue with 某些 android 设备的 indexedDB 版本不完整,这已在 master 中修复,因此如果您基于 master 分支构建 pouchdb 副本应该没问题。

    【讨论】:

    • 此问题已在官方版本中得到修复。如果您使用的是 PouchDB 2.0.0+,您将不会再看到此问题,例如您不需要 James D 建议的 websql 解决方法。
    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

      我遇到了类似的问题,解决了*它强制 pouchdb 使用 websql。

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

      【讨论】:

        猜你喜欢
        • 2015-07-16
        • 1970-01-01
        • 2015-03-19
        • 2022-07-18
        • 2011-01-07
        • 1970-01-01
        • 1970-01-01
        • 2011-02-28
        • 1970-01-01
        相关资源
        最近更新 更多