2013-12-09 58 views
1

我正在爲android設備創建基本應用程序。我使用普通的Jade,JavaScript和PouchDB數據庫。當我在模擬器上部署應用程序時,Android設備(如HTC,Tablet)工作正常,但對於三星設備(Android v.4.1.3,4.2.2),它不起作用。PouchDB未在三星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 

我下載 「pouchdb-nightly.min.js」 從http://download.pouchdb.com/pouchdb-nightly.min.js

請告訴我這個問題的合適的解決方案。

謝謝...

回答

1

有其索引資料的不完整版本an issue with的Android設備,因此,如果您構建基於主分支你應該罰款pouchdb的副本這本已被固定在主。

+0

這已經在正式版本中修復。如果您使用PouchDB 2.0.0+,則不會再看到此問題,例如您不需要James D建議的websql解決方法。 – nlawson

0

我有類似的問題,解決 *它迫使pouchdb使用websql。

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