0

我正在尝试学习如何处理电话间隙。我已经完成了一些 sql 教程,但由于某种原因,它们都不适合我。他们刚刚完成似乎正在按预期创建数据库。我在某处缺少设置或权限吗?

以下是以下代码的结果: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)

您无法在浏览器中执行 phonegap 代码。您需要创建一个应用程序。

3)

您发布的网站上的代码与您问题中的代码相同。我只会回答您在此问题中发布的内容。

http://docs.phonegap.com/en/3.1.0/cordova_storage_storage.md.html#Storage

阅读上面的链接以使用 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 回答