我想将json数据存储到cordova中的数据库中。我使用角度js来检索json数据。我的一个json数据是一个字符串格式的图像源(base 64)。请帮我将数据存储到cordova DB
我的json看起来像: {" PlayList":[{" videoId":" bMvZymcZAFE"," playlistTitle":" UAE Exchange India Briefing" ," playlistId":" PLPQxCdv2_-qjo0yucR6FmKzC-DqvFx83L"," videoTitle":" UAE Exchange India庆祝客户忠诚度月"," ; videoPosition":" 1"" IMGSRC":" / 9J / 4AAQSkZJRgABAQAAAQABAAD / 2wCEAAUDBAkICAgICQkGCAgHCAcHCAcHCAgHBwcHBwgHBwcIBwcHChALBwgOCQcHDRUNDhER"}]," ERRORMSG":& #34; SUCCESS"" errorFlag":" S"
脚本:
<script>
var app = angular.module('myApp', []);
app.controller('customersCtrl', function($scope, $http) {
$http.get("http://www.uaeexchangeindia.com/wp-content/themes/uaexindia/youtube-links-rand-mobapp.php?playlistId=PLPQxCdv2_-qjo0yucR6FmKzC-DqvFx83L&limit=0")
.then(function (response) {
$scope.names = response.data.PlayList;});
});
答案 0 :(得分:1)
Cordova主要以3种方式支持存储 - 本地存储,websql和indexDB。
我建议使用pouchDB,这将负责存储在可用的数据库中,并且您可以以相同的json格式存储数据。 PouchDB
或者
你可以继续使用sqlite插件。当您在应用中使用角度时,建议使用ng-cordova。 Link to ng-cordova plugin for sqlite
答案 1 :(得分:0)
最后我找到了我的解决方案..! 这是代码
var obj = $.parseJSON(data);
$.each(obj.PlayList, function (index, i)
{
var videoId = i.videoId;
var imgSrc = i.imgSrc
save(videoId,imgSrc );
});
},
error:function()
{
alert("error");
$(".load_div").hide();
}
});
function save(videoId,imgSrc){
var today = new Date();
var dd = today.getDate();
var mm = today.getMonth()+1; //January is 0!
var yyyy = today.getFullYear();
if(dd<10) {
dd='0'+dd
}
if(mm<10) {
mm='0'+mm
}
today = mm+'/'+dd+'/'+yyyy;
var myDB = window.openDatabase(&#34; Database&#34;,&#34; 1.0&#34;,&#34; Cordova Demo&#34;,10485760);
myDB.transaction(function(transaction) {
transaction.executeSql('CREATE TABLE IF NOT EXISTS YOUTUBE_VIDEO (id primary key, videoID text, imgSRc varchar)', [],
function(tx, result) {
},
function(error) {
alert("Error occurred while creating the table.");
});
});
myDB.transaction(function(transaction) {
var executeQuery = "INSERT INTO YOUTUBE_VIDEO (videoID,imgSRc) VALUES (?,?)";
transaction.executeSql(executeQuery, [videoId,imgSrc]
, function(tx, result) {
var newImage = document.createElement('img');
newImage.src = "data:image/png;base64,"+imgSrc;
document.getElementById("img").innerHTML = newImage.outerHTML;
},
function(error){
alert('Error occurred');
});
});
myDB.transaction(function(transaction) {
transaction.executeSql('SELECT * FROM YOUTUBE_VIDEO WHERE id = ?', [1], function (tx, results) {
}, null);
});
}