2014-10-27 6 views
1

Я создаю проект андроида, используя Cordova, в котором я использую базу данных Sqlite. Моя база данных будет доступна только для чтения, так как использование может читать данные только из таблиц. Поэтому моя база данных Sqlite должна содержать некоторые данные, когда она была установлена ​​на телефоне пользователя.Как использовать предварительно заполненную базу данных Sqlite в проекте андроида cordova

Как использовать предварительно заполненную базу данных в файле .apk?

ответ

1

Добавить плагин

Cordova плагин добавить https://github.com/millerjames01/Cordova-SQLitePlugin.git

HTML

<input id="show" type="button" value="Show"> 

JS

function globalError(tx, error) 
    { 
    alert("Error: " + error.message); 
    } 

    var db = window.openDatabase('TabOrder', '', 'Bar Tab Orders', 2500000); 
    db.transaction(function(tx) { 
    tx.executeSql('DROP TABLE IF EXISTS SubmiteData;', null, null, globalError); 
    tx.executeSql('CREATE TABLE IF NOT EXISTS SubmiteData (SubmiteDataId integer 
    primary key, UserId text, AuthNo number, LocId number,ProdId number, 
    CardId number, OrgLat text, OrgLng text, OrgTime text)', 
     null, 
     function() 
     { 
     SubmiteData("USER1",12345678,23434, 21212, 220232, 
     "9", "45", "23/06/2014"); 

     }, 
     globalError); 
    }); 

    function SubmiteData(UserId, AuthNo, LocId,ProdId, CardId, OrgLat, OrgLng, OrgTime){ 
    db.transaction(function(tx){ 
    tx.executeSql('INSERT INTO SubmiteData(UserId, AuthNo, LocId, ProdId, CardId, 
    OrgLat, OrgLng, OrgTime) VALUES (?,?,?,?,?,?,?,?)', [UserId, AuthNo, LocId, 
    ProdId, CardId, OrgLat, OrgLng, OrgTime], 
     null, 
     globalError 
     ); 
    }); 
} 


function read(UserId, AuthNo, LocId,ProdId, CardId, OrgLat, OrgLng, OrgTime){ 

db.transaction(function(tx) { 
tx.executeSql('SELECT * FROM SubmiteData', 
    [], 
    function(tx, results) 
    { 
     for (var i=0; i<results.rows.length; i++) 
     { 
      var row=results.rows.item(i); 
      // alert("Id: " + row['UserId']); 
      var stringout = "LocId: " + row['LocId'] + "\n"; 
      alert(stringout); 
     } 
    },     
    globalError 
    ); 
    }); 
}; 

$(function() 
{ 
    $('#show').click(read); 
}); 
+0

Пожалуйста, не дублируйте ответы точно так же, как и вопросы флага, как дубликаты, или дайте индивидуальные ответы на отдельные вопросы. – Flexo

Смежные вопросы