首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

android停可以使用Html sqlite吗

2013-09-28 
android下可以使用Html sqlite吗?本帖最后由 Hurbox 于 2013-09-24 19:46:00 编辑我使用HTML SQLite在chor

android下可以使用Html sqlite吗?
本帖最后由 Hurbox 于 2013-09-24 19:46:00 编辑 我使用HTML SQLite在chorme下完全正常,但是放到android的webview里面就没有反应了,是不是android还需要什么特别的设置呢,或者是什么权限没有打开呢,
<uses-permission android:name="android.permission.INTERNET" />我是有加的

这是我的html


<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta content="width=device-width, initial-scale=1,user-scalable=no" name="viewport" />
    <title>HTML5 Sqlite</title>
    <style>
        .addDiv {
            border: 2px dashed #ccc;
            width: 100%;
            text-align: center;
        }

        th {
            font: bold 11px "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
            color: #4f6b72;
            border-right: 1px solid #C1DAD7;
            border-bottom: 1px solid #C1DAD7;
            border-top: 1px solid #C1DAD7;
            letter-spacing: 2px;
            text-transform: uppercase;
            text-align: left;
            padding: 6px 6px 6px 12px;
        }

        td {
            border-right: 1px solid #C9DAD7;
            border-bottom: 1px solid #C9DAD7;
            background: #fff;
            padding: 6px 6px 6px 12px;
            color: #4f6b72;
            word-break: break-all;
            word-wrap: break-word;
        }
    </style>
    <script type="text/javascript">
        try {


            //打开数据库   
            var db = openDatabase('contactdb', '', 'local database demo', 204800);

            //保存数据   
            function save() {
                var userName = document.getElementById("user_name").value;
                var mobilephone = document.getElementById("mobilephone").value;
                //var company = document.getElementById("company").value;
                //创建时间
                var time = new Date().getTime();
                db.transaction(function (tx) {
                    tx.executeSql('insert into contact values(?,?,?,?)', [userName, mobilephone, '', time], onSuccess, onError);
                });
            }
            //sql语句执行成功后执行的回调函数   
            function onSuccess(tx, rs) {
                alert("操作成功");
                loadAll();
            }
            //sql语句执行失败后执行的回调函数   


            function onError(tx, error) {
                alert("操作失败,失败信息:" + error.message);
            }
            //将所有存储在sqlLite数据库中的联系人全部取出来   
            function loadAll() {
                var list = document.getElementById("list");
                db.transaction(function (tx) {
                    //如果数据表不存在,则创建数据表   
                    tx.executeSql('create table if not exists contact(name text,phone text,company text,createtime INTEGER)', []);
                    //查询所有联系人记录   
                    tx.executeSql('select * from contact', [], function (tx, rs) {
                        if (rs.rows.length > 0) {
                            var result = "<table style='width:100%;'>";
                            result += "<tr><th>序号</th><th>姓名</th><th>手机</th><th>时间</th><th>操作</th></tr>";
                            for (var i = 0; i < rs.rows.length; i++) {
                                var row = rs.rows.item(i);
                                //转换时间,并格式化输出   
                                var time = new Date();
                                time.setTime(row.createtime);
                                var timeStr = time.format("yyyy-MM-dd hh:mm:ss");
                                //拼装一个表格的行节点
                                result += "<tr><td>" + (i + 1) + "</td><td>" + row.name + "</td><td>" + row.phone + "</td><td>" + timeStr + "</td><td><input type='button' value='删除' onclick="del('" + row.phone + "')"/></td></tr>";
                            }
                            list.innerHTML = result;
                        } else {
                            list.innerHTML = "目前数据为空!";
                        }
                    });
                });
            }

            Date.prototype.format = function (format) {


                var o = {
                    "M+": this.getMonth() + 1, //month   
                    "d+": this.getDate(),    //day   
                    "h+": this.getHours(),   //hour   
                    "m+": this.getMinutes(), //minute   
                    "s+": this.getSeconds(), //second   
                    "q+": Math.floor((this.getMonth() + 3) / 3),  //quarter   
                    "S": this.getMilliseconds() //millisecond   
                }
                if (/(y+)/.test(format))
                    format = format.replace(RegExp.$1,
                        (this.getFullYear() + "").substr(4 - RegExp.$1.length));
                for (var k in o)
                    if (new RegExp("(" + k + ")").test(format))
                        format = format.replace(RegExp.$1,
                            RegExp.$1.length == 1 ? o[k] :
                                ("00" + o[k]).substr(("" + o[k]).length));
                return format;
            };
            //删除联系人信息   
            function del(phone) {
                db.transaction(function (tx) {
                    //注意这里需要显示的将传入的参数phone转变为字符串类型   
                    tx.executeSql('delete from contact where phone=?', [String(phone)], onSuccess, onError);
                });
            }
        } catch (e) {
            alert(e.error);
            alert(e.errorCode);
        }
    </script>
</head>
<body onload="loadAll();">
    <div class="addDiv">
        <label for="user_name">姓名:</label>
        <input type="text" id="user_name" name="user_name" class="text" />
        <br />
        <label for="mobilephone">手機:</label>
        <input type="text" id="mobilephone" name="mobilephone" />
        <br />
        <!--<label for="mobilephone">公司:</label>
        <input type="text" id="company" name="company" />
        <br />-->
        <input type="button" onclick="save();" value="新增記錄" />
    </div>
    <br />
    <div id="list">
    </div>


</body>
</html>

sqlite android html webview
[解决办法]
看起来好高端啊。
WebView想要支持JS的话,需要调用WebView.getSettings().setJavaScriptEnabled(true);
有些JS还需要自己实现,比如Alert什么的

热点排行