最新HTML5开发Android应用程序概述(共25张PPT课件).pptx





《最新HTML5开发Android应用程序概述(共25张PPT课件).pptx》由会员分享,可在线阅读,更多相关《最新HTML5开发Android应用程序概述(共25张PPT课件).pptx(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Android应用(yngyng)开发新路线利用(lyng)HTML5开发Android应用程序!第一页,共二十五页。Android与HTML5融合(rngh) Android的HTML5应用程序概述 如何适配多分辨率的Android设备? 如何在Android中构建HTML5应用程序? 如何在Android中调试HTML5应用程序? 如何在Android中使用(shyng)HTML5的本地储存? 如何在Android中使用HTML5的本地数据库? 如何在Android中使用HTML5的地理定位? 如何在Android中构建HTML5离线应用? 如何使用Canvas进行绘图?第二页,共二十五页
2、。Android HTML5应用(yngyng)概述Android应用客户端应用SDK应用WEB应用浏览器应用WebView应用(browser)&(SDK+WebView)HTML5JavaScriptCSS第三页,共二十五页。适配多分辨率的Android设备(shbi)Android设备的多分辨率?物理分辨率视窗大小与WEB页面比例屏幕密度怎么办?viewport属性用CSS控制设备密度用JavaScript控制设备密度Android浏览器加载WEB页面(y min)时,如果用户没有禁止启用”预览模式“,那么将默认为“预览模式“,通常会缩小WEB页面。而当页面在WebView中显示时,会采
3、用”完全载入“的方式,即保证WEB页面的原始大小。设备屏幕的密度是基于屏幕的分辨率(由每英寸(yngcn)所包含的点数(dpi)定义的。Android支持三种类别的屏幕密度:低(ldpi),中(mdpi)和高(hdpi)。与中等密度屏幕相比,低密度屏幕每英寸像素较少,高密度屏幕每英寸像素较多。默认情况下,Android浏览器和 WebView是针对中等密度的屏幕。Android浏览器和 WebView 在高密度屏幕上将Web页面缩放约1.5倍(因为中等密度屏幕像素较小),而在低密度屏幕上将Web页面缩放约0.75倍(因为中等密度屏幕像素大)。第四页,共二十五页。viewport属性(shxng
4、)的应用uviewport需要放置在HTML的标签中,在标签的 content属性中,就可以定义多个视窗特性。包括视窗的宽度(kund)、高度、缩放比例,目标设备密度等,但是,需要注意每个视窗属性必须有逗号隔开。 Exmaple 第五页,共二十五页。CSS控制(kngzh)设备密度uAndroid浏览和WebView支持CSS媒体性能(xngnng)(webkit-device-pixel-ratio),允许指定屏幕密度创建一些样式CSS媒体性能。该值应该是“0.75”,“1”或“1.5”,它们分别表示对于低、中、高密度屏幕的设备。下面为每种密度创建(chungjin)独立的样式:在一个样式表
5、中,指定不同样式:#header background:url(medium-density-image.png); media screen and (-webkit-device-pixel-ratio: 1.5) / CSS for high-density screens #header background:url(high-density-image.png); media screen and (-webkit-device-pixel-ratio: 0.75) / CSS for low-density screens #header background:url(low-de
6、nsity-image.png); 第六页,共二十五页。JavaScript控制(kngzh)设备密度uAndroid浏览器和WebView支持查询当前设备密度的DOM特性(window.devicePixelRatio),该值指定用于当前设备按比例缩放的系数。例如,值为“1.0”,则说明设备是中等密度,并且默认页面不进行缩放;如果该值是“1.5”,那么(n me),设备是高密度设备,并且默认页面调整1.5x(倍);如果该值是“0.75”,那么,设备是低密度设备,并且默认页面调整0.75x(倍)。如何使用(shyng)JavaScript查询设备密度:if (window.devicePixe
7、lRatio = 1.5) alert(This is a high-density screen); else if (window.devicePixelRation = 0.75) alert(This is a low-density screen);第七页,共二十五页。在Android中构建(u jin)HTML5应用程序使用WebView在Android中构建Web应用处理页面导航浏览网页历史记录Android与JavaScript交互第八页,共二十五页。Android WebView应用(yngyng)WebView 类是Android View类的扩展,它允许Web页面作为Ac
8、tivity布局的一部分显示。它不包括完整Web浏览器的任何功能,如导航控制或地址栏。默认情况(qngkung)下WebView 所能做的就是显示一个网页。添加(tin ji)WebView到应用程序中:要在WebView中加载Web页面,使用loadUrl()WebView myWebView = (WebView) findViewById(R.id.webview);myWebView.loadUrl(http:/);.第九页,共二十五页。处理(chl)页面导航在WebView中,当用户从Web页面里点击一个链接,在Android中,默认行为是启动一个应用程序来处理URL。 通常,默认W
9、eb浏览器打开并加载这个目的URL。 但是,您可以为您的 WebView忽略此默认行为 ,由 WebView 打开所有链接。 然后,通过WebView,您可以运行用户向前、向后浏览(li ln)他们的Web页面的历史 。private class MyWebViewClient extends WebViewClient public boolean shouldOverrideUrlLoading(WebView view, String url) if (Uri.parse(url).getHost().equals() return false; Intent intent = new
10、Intent(Intent.ACTION_VIEW, Uri.parse(url); startActivity(intent); return true; WebView myWebView = (WebView) findViewById(R.id.webview);myWebView.setWebViewClient(new MyWebViewClient();第十页,共二十五页。浏览(li ln)网页历史记录当 WebView 重写URL加载后,它会自动累计(li j)访问过Web页面的历史。 你可以用goBack()和goForward()向前和向后浏览历史页面。public boo
11、lean onKeyDown(int keyCode, KeyEvent event) if (keyCode = KeyEvent.KEYCODE_BACK) & myWebView.canGoBack() myWebView.goBack(); return true; return super.onKeyDown(keyCode, event);第十一页,共二十五页。Android与JavaScript交互(jioh)u如果您计划使用JavaScript将Web页面加载到WebView 中,您就必须为您的 WebView 启用JavaScript。一旦启用JavaScript,您就可以在
12、您的应用程序与您的JavaScript代码之间建立接口。u 默认情况下,在WebView中,JavaScript是禁用的。您可以通过将WebSettings附加到您的WebView中来启用JavaScript。你可以用getSettings()检索WebSettings,然后(rnhu)用setJavaScriptEnabled() 启动JavaScript。WebView myWebView = (WebView) findViewById(R.id.webview);WebSettings webSettings = myWebView.getSettings();webSettings.
13、setJavaScriptEnabled(true);Android与JS通信实例(shl)演示:在Android中处理JS的警告、对话框等;在JS中调用Android接口;在Android调用JS函数。第十二页,共二十五页。Android中调试(dio sh)HTML5应用如果您正在开发(kif)一个Android的Web应用程序,您可以使用控制台(console)JavaScript API调试您的JavaScript,调试消息输出到Logcat。在Android浏览器中用控制台API:Js代码(di m): console.log(Hello World);Log信息: Console:
14、 Hello World http:/ :82 Android的WebKit没有实现在其他桌面浏览器中实现的所有控制台API。 但您可以使用基本的文本记录功能:console.log (String)console.info (String)console.warn (String)console.error (String)第十三页,共二十五页。在WebView中用控制台APIu在调试您的WebView的Web页面时,是支持控制台API。在Android 1.6和更低版本下,控制台信息自动发送到Logcat,并加以“WebCore”标签。 如果(rgu)您是针对Android 2.1(API
15、 Level 7)或更高版本,那么你必须提供一个 WebChromeClient 实现 onConsoleMessage() 回调方法,为了使控制台的信息显示到Logcat中。WebView myWebView = (WebView) findViewById(R.id.webview);myWebView.setWebChromeClient(new WebChromeClient() public void onConsoleMessage(String message, int lineNumber, String sourceID) Log.d(MyApplication, messa
16、ge + - From line + lineNumber + of + sourceID); );WebView myWebView = (WebView) findViewById(R.id.webview);myWebView.setWebChromeClient(new WebChromeClient() public boolean onConsoleMessage(ConsoleMessage cm) Log.d(MyApplication, cm.message() + - From line + cm.lineNumber() + of + cm.sourceId() ); r
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 HTML5 开发 Android 应用程序 概述 25 PPT 课件

限制150内