离线读写数据存储

时间:2019-03-26 01:55:35

标签: html5

我有一个离线静态混合应用程序,我需要它是动态的,以便保存可编辑的内容。有什么建议吗?

注意: -数据库无法正常工作,因为如果我将其构建为apk,则无法执行SQL命令。 (或者我错了吗?)。 -Php无法工作,因为它必须位于Web服务器上。 -Javascript / JQuery也因为它无法写入文件。 (我猜?) -由于互联网的连接,我无法下载其他混合应用程序框架。我只有android studio

1 个答案:

答案 0 :(得分:0)

一般概念是,让客户端应用程序与服务器端网站进行通信(通过 AJAX 之类的东西)。然后,服务器端网站进行数据库调用,并将结果返回给客户端应用程序。

在下面的示例中对此进行了说明。

客户端(应用程序):

// Initialise the HTTP request
var xhr = new XMLHttpRequest();
xhr.open('GET', 'ABSOLUTE-URL.php');

// Track the state changes of the request
xhr.onreadystatechange = function () {
    if (xhr.readyState === 4) {
        if (xhr.status === 200) {
            console.log(xhr.responseText); // Output from PHP
        } else {
            console.log('Error: ' + xhr.status); // Errors in the process
        }
    }
};

// Send the request to PHP
xhr.send(null);

服务器端(托管在网站上):

<?php

// Make the SQL query
$conn = new mysqli($servername, $username, $password, $dbname);
$results = ...

// Echo the results back to the client
echo $results;

?>

使用上述方法,在服务器端回显的所有内容都将传递回客户端应用程序。在这里,您可以对其进行格式化并将其显示给用户。

如果您需要离线处理数据,最好的选择是利用 localStorage 。对于记住登录表单中的用户名(而不是密码)这样的事情来说,这是理想的选择,这样用户不必每次登录应用程序时都重新输入它们。