0

電話ギャップの操作方法を学ぼうとしています。私はいくつかのSQLチュートリアルを行いましたが、何らかの理由でそれらのどれも私のために働いていません. 彼らは、期待どおりにDBを作成しているようです。どこかに欠けている設定や許可はありますか?

以下のコードの結果は次のとおりです: http://madebyjohann.com/curatio/addweight.html

<!DOCTYPE html>
<html>
  <head>
          <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width;" />
    <title>Open File</title>
        <script type="text/javascript" src="xui.js"></script>
        <script type="text/javascript" src="cordova-2.0.0.js"></script>
    <script type="text/javascript" >

        var fileObject;

        document.addEventListener("deviceready", onDeviceReady, true);

        function onDeviceReady() {
                window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, onFileSystemSuccess, fail); 
        }

        function onFileSystemSuccess(fileSystem) {
        fileSystem.root.getFile("readme.txt", {create: true, exclusive: false}, gotFileEntry, fail);
    }

        function gotFileEntry(fileEntry) {
                fileObject = fileEntry;

                x$('#saveFile_btn').on('click', function() {
                        saveFileContent();
                });
    }

        function gotFileWriter(writer) {
        var myText = document.getElementById('my_text').value;
        writer.write(myText);

                writer.onwriteend = function(evt) {
                        x$('#message').html('<p>File contents have been written.<br /><strong>File path:</strong> ' + fileObject.fullPath + '</p>');

                        var reader = new FileReader();
                        reader.onload = function(evt) {
                                x$('#contents').html('<strong>File contents:</strong> <br />' + evt.target.result);
                        };
                        reader.readAsText(fileObject);
               };

    }

        function saveFileContent() {
                fileObject.createWriter(gotFileWriter, fail);
        }

        function fail(error) {
        alert(error.code);
    }
    </script>
</head>
<body>

        <input type="text" id="my_text" />
        <input type="button" id="saveFile_btn" value="Save" />

        <div id="message"></div>
        <div id="contents"></div>

</body>
</html>
4

1 に答える 1

0

1)

まず第一に、あなたのコードは SQL やデータベースで動作しません。

あなたが扱っているのはファイルシステムです。2つの異なるもの。

2)

ブラウザで phonegap コードを実行することはできません。アプリを作成する必要があります。

3)

あなたが投稿したウェブサイト上のコードは、あなたの質問のものと同じではありません。この質問でここに投稿した内容についてのみ回答します。

http://docs.phonegap.com/en/3.1.0/cordova_storage_storage.md.html#ストレージ

上記のリンクを読んで、localstorage API を操作してください。

さらに、phonegap を学び、良いスタートを切るために読むことができるチュートリアルがあります。

http://mobile.tutsplus.com/tutorials/phonegap/phonegap-from-scratch/

これはただのコピペです:

<!DOCTYPE html>
<html>
  <head>
    <title>Storage Example</title>

    <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
    <script type="text/javascript" charset="utf-8">

    // Wait for device API libraries to load
    //
    document.addEventListener("deviceready", onDeviceReady, false);

    // device APIs are available
    //
    function onDeviceReady() {
        var db = window.openDatabase("Database", "1.0", "Cordova Demo", 200000);
        db.transaction(populateDB, errorCB, successCB);
    }

    // Populate the database
    //
    function populateDB(tx) {
        tx.executeSql('DROP TABLE IF EXISTS DEMO');
        tx.executeSql('CREATE TABLE IF NOT EXISTS DEMO (id unique, data)');
        tx.executeSql('INSERT INTO DEMO (id, data) VALUES (1, "First row")');
        tx.executeSql('INSERT INTO DEMO (id, data) VALUES (2, "Second row")');
    }

    // Transaction error callback
    //
    function errorCB(tx, err) {
        alert("Error processing SQL: "+err);
    }

    // Transaction success callback
    //
    function successCB() {
        alert("success!");
    }

    </script>
  </head>
  <body>
    <h1>Example</h1>
    <p>Database</p>
  </body>
</html>
于 2013-10-29T08:02:05.420 に答える