简介:

想要建立一个支持HTML5的Android App;

这个HTML5的程序需要使用本地存储,特别是sqllite;

用eclipse创建了一个app,这个app默认在res/layout建了两个描述界面的xml文件,一个调用另一个,下面的代码基于这种情况;

package com.example.helloweb;import android.app.Activity;
import android.app.ActionBar;
import android.app.Fragment;
import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.os.Build;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.webkit.WebSettings;
import android.webkit.WebStorage.QuotaUpdater;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);// 为了支持HTML5使用数据库(sqlite)的本地存储String databasePath = getApplicationContext().getDir("database", Context.MODE_PRIVATE).getPath();if (savedInstanceState == null) {PlaceholderFragment fragment = new PlaceholderFragment();fragment.setDatabasePath(databasePath);getFragmentManager().beginTransaction().add(R.id.container, fragment).commit();}}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);return true;}@Overridepublic boolean onOptionsItemSelected(MenuItem item) {// Handle action bar item clicks here. The action bar will// automatically handle clicks on the Home/Up button, so long// as you specify a parent activity in AndroidManifest.xml.int id = item.getItemId();if (id == R.id.action_settings) {return true;}return super.onOptionsItemSelected(item);}/*** A placeholder fragment containing a simple view.* 被实例化,作为子UI的类*/public static class PlaceholderFragment extends Fragment {String databasePath;public PlaceholderFragment() {    }// 拿到MainActivity生成的数据库路径public void setDatabasePath(String databasePath){this.databasePath = databasePath;}@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {View rootView = inflater.inflate(R.layout.fragment_main, container, false);// 通过IDE在子UI里拖进去一个webView,所以这里从rootView里查找WebView  webView = (WebView)rootView.findViewById(R.id.webView1);webView.setWebChromeClient(this.makeWebChromeClient());WebSettings webSettings = webView.getSettings();       webSettings.setJavaScriptEnabled(true);webSettings.setDatabaseEnabled(true);webSettings.setDatabasePath(this.databasePath);// 可以加载本地和网络的资源,加载网络资源需要配置权限//webView.loadUrl("http://www.csdn.net/");webView.loadUrl("file:///android_asset/demo.html");   return rootView;}private WebChromeClient makeWebChromeClient(){return new WebChromeClient(){@Overridepublic void onExceededDatabaseQuota(String url,String databaseIdentifier,long currentQuota,long estimatedSize,long totalUsedQuota,QuotaUpdater quotaUpdater) {quotaUpdater.updateQuota(5 * 1024 * 1024);}};}   }
}

配置app访问网络的权限(在AndroidManifest.xml文件里配置)

<?xml version="1.0" encoding="utf-8"?>
<manifest><uses-permission android:name="android.permission.INTERNET" /> 

    <uses-sdk/><application></application></manifest>

如果要使用HTML5的localStorage还是要设置databasepath和打开localStorage

webSettings.setDatabasePath(this.databasePath);
webSettings.setDomStorageEnabled(true);

转载于:https://www.cnblogs.com/code-style/p/4206752.html

支持HTML5 SqlLite的AndroidApp相关推荐

  1. html5新布局,支持HTML5新布局 酷盘Web版全新升级

    泡泡网软件频道5月28日 近日,国内著名的云存储平台酷盘WEB版升级,除重新设计了WEB文件列表.相册.分享和账号设置等界面外,新版本还支持HTML5拖拽上传. 酷盘此次改版,在很大程度上简化了用户的 ...

  2. 如何让低版本IE浏览器支持HTML5和CSS3

    在默认状态下,低版本的IE浏览器是不支持HTML5和CSS3的,很多良好的效果都不能够使用,这不能不说是一种遗憾,为了弥补此种遗憾,因此产生了很多优秀的插件,下面就介绍比较常用的几种. 一.html5 ...

  3. 支持html5浏览器速查

    css3属性,各个浏览器支持, 看来还是chrome 和safai全盘支持 css3选择器的支持情况: 情况还算不错,新版的基本都支持 html5 web应用 safari 对html5  web应用 ...

  4. admob html5,AdMob发布Windows手机SDK并支持HTML5

    北京时间3月16日消息,据国外媒体报道,周二谷歌旗下的移动广告网络AdMob宣布,将针对开发者和广告商推出一批新产品和新功能.其中包括为WindowsPhone7手机提供的SDK测试版,允许平台开发者 ...

  5. html5.js让IE(包括IE6)支持HTML5元素方法

    html5.js让IE(包括IE6)支持HTML5元素方法 微软的最新浏览器IE8及以下IE版本对HTML5标签的支持是有限的,我们可以通过在网页中添加脚本的方式来解决目前IE浏览器对HTML5支持的 ...

  6. 如何让Visual Studio 2010支持HTML5和CSS3

    现在的热门话题之一是HTML5 和 CSS3.好的, 它们都很时髦,它们也必然会影响网络开发的未来. 让我们尝尝鲜,花点时间安装设置一下,尽快让Visual Studio2010支持HTML5 和 C ...

  7. HTML5 浏览器支持(怎么样让低版本浏览器支持html5?)

    你可以让一些较早的浏览器(不支持HTML5)支持 HTML5. 现代的浏览器都支持 HTML5. 此外,所有浏览器,包括旧的和最新的,对无法识别的元素会作为内联元素自动处理. 正因为如此,你可以 &q ...

  8. 海豚浏览器发布双核版本 支持html5

    2019独角兽企业重金招聘Python工程师标准>>> 海豚浏览器一直致力于手机浏览器的开发,当我们第一次使用海豚浏览器的时候,被其大气而又强大的功能所吸引,我们也没有想到,海豚浏览 ...

  9. IE(IE6/IE7/IE8)支持HTML5标签--20150216

    让IE(ie6/ie7/ie8)支持HTML5元素,我们需要在HTML头部添加以下JavaScript,这是一个简单的document.createElement声明,利用条件注释针对IE来调用这个j ...

最新文章

  1. web项目部署服务器后无响应,Spring4.1.0 - SpringMVC第一步,Tomcat服务器端正常,客户端无法响应JSP页面问题处理...
  2. TCP连接建立与终止,及状态转换
  3. MySQL查看、创建和删除索引的方法
  4. 不要错过路边的的风景
  5. C# 如何遍历删除某个控件上的所有子控件
  6. 利用WinForm 更好的实现Web安装程序的更多功能
  7. android studio继承关系,Android Studio中查看类的继承关系
  8. BGP(2):BGP 的报文格式
  9. 如何优化程序员的内部培训
  10. ABAP RFC函数导入参数 EXPORTING 传入内表形式参数
  11. 旋转矩阵(Rotation matrix):旋转轴与旋转角 ( axis and angle )
  12. PS2022安装步骤 ps 2022(详细安装方法)
  13. 上瘾啦,又用 Python 制作销售数据可视化看板
  14. 什么是构造函数及定义
  15. 深圳大学电信学院《C程序设计》期末大作业:《在二维封闭房间中的弹球模拟程序》
  16. php f4v元数据,CKplayer 超酷视频播放器(支持flv,f4v,mp4,rtmp)X2 bulid2020.09.20
  17. 水生火热的互联网金融
  18. 如何在计算机面试中牵着面试官鼻子走?
  19. ArcGIS earth 1.0 beta体验报告——给我一个按钮我将转动整个地球
  20. Java解析PDF文件(PDFBOX、itext解析PDF)导出PDF中的子图片,去除PDF中的水印

热门文章

  1. Java架构师具备的特点有哪些?
  2. Aoite 系列(01) - 比 Dapper 更好用的 ORM
  3. vscode中vue-cli项目es-lint的配置
  4. 从分析***方式来谈如何防御DDoS***
  5. 【重点!DP】LeetCode 97. Interleaving String
  6. 【重点】剑指offer——面试题65:滑动窗口的最大值
  7. 【1】Keras复习之模型,层,训练,评估与预测
  8. Cache缺失率的计算原理
  9. Gram-Schmidt正交化
  10. pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host=”files.pythonhosted.org“,