1.HTML5应用的特点:
优点
跨平台(ios和安卓都能用同一套)
低成本(开发成本低)
能够快速响应市场需求(服务器端已修改,客户端马上就会显示出效果,不用更新app) 统计页面停留时间
很多app使用内嵌web页面,减少app开发难度.
缺点
执行效率 DOM树(html节点) javascript代码执行效率比较低 网络(还有获取页面布局和排版,消耗的网络资源多一点)
应用程序的特性 资讯类 展示类
策略
扬长避短
混合开发(应用中小部分是网页功能,这些页面全部都是H5,把活动链接放上去,网页游戏,使用webview控件加载网页)
原生开发+小部分H5页面
2.简易浏览器开发前进后退刷新:
判断url是否为空?如果地址栏有内容就加载,否则就加载默认页面;
启动tomcat服务器软件;
学习的是WebView里面的常用方法;
WebView是一个可显示网页的控件,使用Webkit引擎(排版引擎)。
loadUrl(String url) 加载一个链接
canGoBack()/canGoForward() 是否可以前进/后退
goBack() /goForward() 前进/后退(要首先进行判断是否可以前进和后退)
reload() /stopLoading() 刷新/停止加载 记住刷新方法 功能是:重新加载次页面
zoomIn() /zoomOut() 缩放
addJavascriptInterface(Object obj, String interfaceName) 支持javascript效果
setWebViewClient(WebViewClient client) 设置WebViewClient
getSettings() 获得WebSetting,通过它进行webview设置
pageDown(boolean bottom) /pageUp(boolean top) 向上翻页、向下翻页
getTitle() /getFavicon() 获得网页标题、图标
capturePicture() 截图
// 设置Javascript可用
mWebView.getSettings().setJavaScriptEnabled(true);
WebSettings mWebSettings = mWebView.getSettings();
mWebSettings.setBuiltInZoomControls(true);
mWebSettings.setSupportZoom(true);
// 加载URL,但是不会显示。
mWebView.loadUrl(url);
--------------------------------->
为什么要设置webView.setWebViewClient(webViewClient);
想要webview加载页面,只需webView.loadUrl("http://m.baidu.com");
此时点击网页里的超链接,会弹出多个浏览器选择,但是我们想要在自己的应用中打开连接,就需要设置WebViewClient
--------------------------------->
出现了页面超出屏幕的现象,怎么解决?
//因为webview有非常多的设置,所以设计上将设置都抽取到WebSettings类中了。对webview的显示进行控制
WebSettings settings = webView.getSettings();
//添加缩放控制按钮
settings.setBuiltInZoomControls(true);
但是这样解决存在bug,一旦缩放控件显示了,就会造成无法处理触摸事件!
--------------------------------->
//设置布局算法、布局算法。单列模式 文字缩放模式
settings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);
--------------------------------->
tomcat启动startup.bat一闪而过
遇到很多次运行startup.bat后,一个窗口一闪而过的问题,但是从来没去纠正怎样修改配置才是正确的,现在从网上查阅的资料整理如下:
tomcat在启动时,会读取环境变量的信息,需要一个CATALINA_HOME 与JAVA_HOME的信息,CATALINA_HOME即tomcat的主目录,JAVA_HOME即java安装的主目录,jdk的主目录。
首先,要在环境变量处,配置JAVA_HOME,注意变量值是jdk的主目录,不是bin目录,并且不要加分号,如图:
1)只有把服务器启动起来,才能进行访问其中的页面!
2)默认的访问页面是index.html :http://192.168.0.101:8080/ 本机的ip地址+tomcat的端口号
3)每一个module都要在本身的清单文件中,添加网络访问权限!
3.页面版式与Useragent:
如果不对webview进行设置,页面就会超出屏幕,用户体验不好!
所有的页面板式 都是在WebSettings对象中进行设置!
Useragent:用户代理,主要是用来做什么的啊?
设置了Useragent,效果是什么呢?
4.显示加载进度条:
5.显示favicon:
6.java和javascript相互调用:
7.WebChromeClient的js事件:
8.HTML5音视频:
9.HTML5离线存储与表单:
10.HTML5定位:
11.HTML5画布与SVG:
12.PhoneGapDemo演示:
13.PhoneGap添加联系人例子:
14.PhoneGap插件开发:
HBuilder工具写js代码比较方便;