支持HTML5 SqlLite的AndroidApp
简介:
想要建立一个支持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相关推荐
- html5新布局,支持HTML5新布局 酷盘Web版全新升级
泡泡网软件频道5月28日 近日,国内著名的云存储平台酷盘WEB版升级,除重新设计了WEB文件列表.相册.分享和账号设置等界面外,新版本还支持HTML5拖拽上传. 酷盘此次改版,在很大程度上简化了用户的 ...
- 如何让低版本IE浏览器支持HTML5和CSS3
在默认状态下,低版本的IE浏览器是不支持HTML5和CSS3的,很多良好的效果都不能够使用,这不能不说是一种遗憾,为了弥补此种遗憾,因此产生了很多优秀的插件,下面就介绍比较常用的几种. 一.html5 ...
- 支持html5浏览器速查
css3属性,各个浏览器支持, 看来还是chrome 和safai全盘支持 css3选择器的支持情况: 情况还算不错,新版的基本都支持 html5 web应用 safari 对html5 web应用 ...
- admob html5,AdMob发布Windows手机SDK并支持HTML5
北京时间3月16日消息,据国外媒体报道,周二谷歌旗下的移动广告网络AdMob宣布,将针对开发者和广告商推出一批新产品和新功能.其中包括为WindowsPhone7手机提供的SDK测试版,允许平台开发者 ...
- html5.js让IE(包括IE6)支持HTML5元素方法
html5.js让IE(包括IE6)支持HTML5元素方法 微软的最新浏览器IE8及以下IE版本对HTML5标签的支持是有限的,我们可以通过在网页中添加脚本的方式来解决目前IE浏览器对HTML5支持的 ...
- 如何让Visual Studio 2010支持HTML5和CSS3
现在的热门话题之一是HTML5 和 CSS3.好的, 它们都很时髦,它们也必然会影响网络开发的未来. 让我们尝尝鲜,花点时间安装设置一下,尽快让Visual Studio2010支持HTML5 和 C ...
- HTML5 浏览器支持(怎么样让低版本浏览器支持html5?)
你可以让一些较早的浏览器(不支持HTML5)支持 HTML5. 现代的浏览器都支持 HTML5. 此外,所有浏览器,包括旧的和最新的,对无法识别的元素会作为内联元素自动处理. 正因为如此,你可以 &q ...
- 海豚浏览器发布双核版本 支持html5
2019独角兽企业重金招聘Python工程师标准>>> 海豚浏览器一直致力于手机浏览器的开发,当我们第一次使用海豚浏览器的时候,被其大气而又强大的功能所吸引,我们也没有想到,海豚浏览 ...
- IE(IE6/IE7/IE8)支持HTML5标签--20150216
让IE(ie6/ie7/ie8)支持HTML5元素,我们需要在HTML头部添加以下JavaScript,这是一个简单的document.createElement声明,利用条件注释针对IE来调用这个j ...
最新文章
- web项目部署服务器后无响应,Spring4.1.0 - SpringMVC第一步,Tomcat服务器端正常,客户端无法响应JSP页面问题处理...
- TCP连接建立与终止,及状态转换
- MySQL查看、创建和删除索引的方法
- 不要错过路边的的风景
- C# 如何遍历删除某个控件上的所有子控件
- 利用WinForm 更好的实现Web安装程序的更多功能
- android studio继承关系,Android Studio中查看类的继承关系
- BGP(2):BGP 的报文格式
- 如何优化程序员的内部培训
- ABAP RFC函数导入参数 EXPORTING 传入内表形式参数
- 旋转矩阵(Rotation matrix):旋转轴与旋转角 ( axis and angle )
- PS2022安装步骤 ps 2022(详细安装方法)
- 上瘾啦,又用 Python 制作销售数据可视化看板
- 什么是构造函数及定义
- 深圳大学电信学院《C程序设计》期末大作业:《在二维封闭房间中的弹球模拟程序》
- php f4v元数据,CKplayer 超酷视频播放器(支持flv,f4v,mp4,rtmp)X2 bulid2020.09.20
- 水生火热的互联网金融
- 如何在计算机面试中牵着面试官鼻子走?
- ArcGIS earth 1.0 beta体验报告——给我一个按钮我将转动整个地球
- Java解析PDF文件(PDFBOX、itext解析PDF)导出PDF中的子图片,去除PDF中的水印
热门文章
- Java架构师具备的特点有哪些?
- Aoite 系列(01) - 比 Dapper 更好用的 ORM
- vscode中vue-cli项目es-lint的配置
- 从分析***方式来谈如何防御DDoS***
- 【重点!DP】LeetCode 97. Interleaving String
- 【重点】剑指offer——面试题65:滑动窗口的最大值
- 【1】Keras复习之模型,层,训练,评估与预测
- Cache缺失率的计算原理
- Gram-Schmidt正交化
- pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host=”files.pythonhosted.org“,