最近、Android 用の調査アプリのオフライン バージョンを完成させ、コミットしました。
現在、www-directory とも呼ばれる「コード」が iOS に移植されています。
AppCode と Xcode はどちらも使いにくいと思います。これは、デバッグが Web コーディング用に最適化されていないためかもしれません。昨夜、スペルミス「serInterval」->「setInterval」を1.5時間調べました。これは、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())...
他の詳細が必要な場合はお知らせください。