我最近完成并提交了我们的 Android 调查应用程序的离线版本。
现在“代码”又名 www 目录正在移植到 iOS。
我认为 AppCode 和 Xcode 都很难使用——这可能是因为调试没有针对 Web 编码进行优化。昨晚我花了 1.5 个小时查看拼写错误“serInterval”->“setInterval”。这很容易被 IntelliJ IDEA 识别。
现在我被困在一些 SQlite 代码中,它应该将调查的答案存储在本地数据库中,并在设备上线时将其同步到我们的云系统。
我可以通过 console.log() 看到我的函数正在运行,但我的表中没有任何内容。
将调查发布到本地数据库的代码是:
$(document).ready(function() {
$('input#submitForm').live('click', function() {
var formData = $('#questForm').serializeArray();
var jsonFormData = JSON.stringify($('#questForm').serializeObject());
jQuery.ajaxSetup({
beforeSend: function() {
$("body").addClass("loading");
dbConnect();
storeAnswer(uniqueID,readerID,jsonFormData);
console.log("Barcode: "+barcode+" VisitorID: "+visitorID+" UniqueID: "+uniqueID+" - "+readerID);
},
complete: function(){
window.location.href = 'surveyScan.html';
},
success: function() {}
});
try {
$.post(null,function(){});
}
catch(e) {
console.error("Error using mycommand: " + e.message);
}
});
});
日志消息打印出我所期待的......
storeAnswer 函数:
function storeAnswer(visitor_ID, reader_ID, formData) {
console.log('storeAnswer()');
html5sql.process(
["INSERT INTO Answers (_id, visitorUID, readerID, json) VALUES (null,'"+visitor_ID+"','"+reader_ID+"','"+formData+"');"],
function(){
console.log('Inserted 1 row into table: Answers!');
},
function(error, statement){
console.error("storeAnswer: Error: " + error.message + " when processing " + statement);
}
)
}
在 storeAnswer() 中,仅打印第一条日志消息 (storeAnswer())...
如果您需要其他详细信息,请告诉我。