分享
分销 收藏 举报 申诉 / 24
播放页_导航下方通栏广告

类型HTML开发Android应用程序概述.pptx

  • 上传人:人****来
  • 文档编号:4607021
  • 上传时间:2024-10-05
  • 格式:PPTX
  • 页数:24
  • 大小:1.09MB
  • 下载积分:10 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    HTML 开发 Android 应用程序 概述
    资源描述:
    Android应用开发新路线利用HTML5开发Android应用程序!Android与HTML5融合Android的HTML5应用程序概述如何适配多分辨率的Android设备?如何在Android中构建HTML5应用程序?如何在Android中调试HTML5应用程序?如何在Android中使用HTML5的本地储存?如何在Android中使用HTML5的本地数据库?如何在Android中使用HTML5的地理定位?如何在Android中构建HTML5离线应用?如何使用Canvas进行绘图?Android HTML5应用概述Android应用客户端应用SDK应用WEB应用浏览器应用WebView应用(browser)&(SDK+WebView)HTML5JavaScriptCSS viewportviewport适配多分辨率的Android设备Android设备的多分辨率?物理分辨率视窗大小与WEB页面比例屏幕密度怎么办?viewport属性用CSS控制设备密度用JavaScript控制设备密度Android浏览器加载WEB页面时,如果用户没有禁止启用”预览模式“,那么将默认为“预览模式“,通常会缩小WEB页面。而当页面在WebView中显示时,会采用”完全载入“的方式,即保证WEB页面的原始大小。设备屏幕的密度是基于屏幕的分辨率(由每英寸所包含的点数(dpi)定义的。Android支持三种类别的屏幕密度:低(ldpi),中(mdpi)和高(hdpi)。与中等密度屏幕相比,低密度屏幕每英寸像素较少,高密度屏幕每英寸像素较多。默认情况下,Android浏览器和WebView是针对中等密度的屏幕。Android浏览器和WebView在高密度屏幕上将Web页面缩放约1.5倍(因为中等密度屏幕像素较小),而在低密度屏幕上将Web页面缩放约0.75倍(因为中等密度屏幕像素大)。viewport属性的应用uviewport需要放置在HTML的标签中,在标签的 content属性中,就可以定义多个视窗特性。包括视窗的宽度、高度、缩放比例,目标设备密度等,但是,需要注意每个视窗属性必须有逗号隔开。Exmaple CSS控制设备密度uAndroid浏览和WebView支持CSS媒体性能(webkit-device-pixel-ratio),允许指定屏幕密度创建一些样式CSS媒体性能。该值应该是“0.75”,“1”或“1.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-density-image.png);JavaScript控制设备密度uAndroid浏览器和WebView支持查询当前设备密度的DOM特性(window.devicePixelRatio),该值指定用于当前设备按比例缩放的系数。例如,值为“1.0”,则说明设备是中等密度,并且默认页面不进行缩放;如果该值是“1.5”,那么,设备是高密度设备,并且默认页面调整1.5x(倍);如果该值是“0.75”,那么,设备是低密度设备,并且默认页面调整0.75x(倍)。如何使用JavaScript查询设备密度:if(window.devicePixelRatio=1.5)alert(This is a high-density screen);else if(window.devicePixelRation=0.75)alert(This is a low-density screen);在Android中构建HTML5应用程序使用WebView在Android中构建Web应用处理页面导航浏览网页历史记录Android与JavaScript交互Android WebView应用WebView 类是Android View类的扩展,它允许Web页面作为Activity布局的一部分显示。它不包括完整Web浏览器的任何功能,如导航控制或地址栏。默认情况下WebView 所能做的就是显示一个网页。添加WebView到应用程序中:要在WebView中加载Web页面,使用loadUrl()WebView myWebView=(WebView)findViewById(R.id.webview);myWebView.loadUrl(http:/);.处理页面导航在WebView中,当用户从Web页面里点击一个链接,在Android中,默认行为是启动一个应用程序来处理URL。通常,默认Web浏览器打开并加载这个目的URL。但是,您可以为您的 WebView忽略此默认行为,由 WebView 打开所有链接。然后,通过WebView,您可以运行用户向前、向后浏览他们的Web页面的历史。private class MyWebViewClient extends WebViewClient public boolean shouldOverrideUrlLoading(WebView view,String url)if(Uri.parse(url).getHost().equals()return false;Intent intent=new Intent(Intent.ACTION_VIEW,Uri.parse(url);startActivity(intent);return true;WebView myWebView=(WebView)findViewById(R.id.webview);myWebView.setWebViewClient(new MyWebViewClient();浏览网页历史记录当 WebView 重写URL加载后,它会自动累计访问过Web页面的历史。你可以用goBack()和goForward()向前和向后浏览历史页面。public boolean onKeyDown(int keyCode,KeyEvent event)if(keyCode=KeyEvent.KEYCODE_BACK)&myWebView.canGoBack()myWebView.goBack();return true;return super.onKeyDown(keyCode,event);Android与JavaScript交互u如果您计划使用JavaScript将Web页面加载到WebView 中,您就必须为您的 WebView 启用JavaScript。一旦启用JavaScript,您就可以在您的应用程序与您的JavaScript代码之间建立接口。u默认情况下,在WebView中,JavaScript是禁用的。您可以通过将WebSettings附加到您的WebView中来启用JavaScript。你可以用getSettings()检索WebSettings,然后用setJavaScriptEnabled()启动JavaScript。WebView myWebView=(WebView)findViewById(R.id.webview);WebSettings webSettings=myWebView.getSettings();webSettings.setJavaScriptEnabled(true);Android与JS通信实例演示:在Android中处理JS的警告、对话框等;在JS中调用Android接口;在Android调用JS函数。Android中调试HTML5应用如果您正在开发一个Android的Web应用程序,您可以使用控制台(console)JavaScript API调试您的JavaScript,调试消息输出到Logcat。在Android浏览器中用控制台API:Js代码:console.log(Hello World);Log信息:Console:Hello World http:/ 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”标签。如果您是针对Android 2.1(API 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,message+-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();return true;);ConsoleMessage还包括一个MessageLevel表示控制台传递信息类型。您可以用messageLevel()查询信息级别,以确定信息的严重程度,然后使用适当的Log方法或采取其他适当的措施。HTML5本地储存在Android中的应用HTML5 提供了两种在客户端存储数据的新方法:ulocalStorage-没有时间限制的数据存储 usessionStorage-针对一个 session 的数据存储 localStorage.lastname=Smith;document.write(localStorage.lastname);sessionStorage.lastname=Smith;document.write(sessionStorage.lastname);Web Storage API:/清空storagelocalStorage.clear();/设置一个键值localStorage.setItem(“yarin”,“yangfegnsheng”);/获取一个键值localStorage.getItem(“yarin”);/获取指定下标的键的名称(如同Array)localStorage.key(0);/return“fresh”/删除一个键值localStorage.removeItem(“yarin”);setDomStorageEnabled(true)HTML5本地数据库在Android中的应用uHTML5的本地数据库使用的是SQLite这款轻型数据库。我们可以使用SQL语句进行复杂的本地数据存储。/启用数据库webSettings.setDatabaseEnabled(true);String dir=this.getApplicationContext().getDir(database,Context.MODE_PRIVATE).getPath();/设置数据库路径webSettings.setDatabasePath(dir);/扩充数据库的容量public void onExceededDatabaseQuota(String url,String databaseIdentifier,long currentQuota,long estimatedSize,long totalUsedQuota,WebStorage.QuotaUpdater quotaUpdater)quotaUpdater.updateQuota(estimatedSize*2);SQLite数据库使用演示:HTML5地理定位在Android中的应用HTML5提供了一组API用来获取用户的地理位置,如果浏览器支持且设备具有定位功能,就能够直接使用这组API来获取当前位置信息。地理定位演示:/启用地理定位webSettings.setGeolocationEnabled(true);/设置定位的数据库路径webSettings.setGeolocationDatabasePath(dir);/配置权限public void onGeolocationPermissionsShowPrompt(String origin,GeolocationPermissions.Callback callback)callback.invoke(origin,true,false);super.onGeolocationPermissionsShowPrompt(origin,callback);HTML5地理定位APIuW3C 中新添加了一个名为 Geolocation的 API 规范,Geoloaction API的作用就是通过浏览器获取用户的地理位置。我们可以使用navigator.geolocation来简单的获取用户的地理位置信息。常用的navigator.geolocation对象有以下三种方法:/获取当前地理位置navigator.geolocation.getCurrentPosition(success_callback_function,error_callback_function,position_options)/持续获取地理位置navigator.geolocation.watchPosition(success_callback_function,error_callback_function,position_options)/清除持续获取地理位置事件navigator.geolocation.clearWatch(watch_position_id)其中success_callback_function为成功之后处理的函数,error_callback_function为失败之后返回的处理函数,参数position_options是配置项HTML5地理定位APIposition对象所包含的数据:PropertyTypeNotescoords.latitude(纬度)doubleDecimaldegreescoords.longitude(经度)doubleDecimaldegreescoords.altitude(海拔)doubleornullMeterscoords.accuracy(精确度)doubleMeterscoords.altitudeAccuracydoubleornullMeterscoords.heading(朝向)doubleornulldegreesclockwisefromthenorthcoords.speeddoubleornullMeters/secondtimestampDOMTimeStampLikeaDate()objectError代码:TIMEOUT:表示获取信息超时。PERMISSION_DENIED:表示用户选择了拒绝了位置服务。POSITION_UNAVAILABLE:表示位置不可知。Position选项:PropertyTypeDefaultNotesenableHighAccuracybooleanfalsetruemightbeslowertimeoutlong(nodefault)InmillisecondsmaximumAgelong0Inmilliseconds构建HTML5离线应用u为了能够让用户在离线状态下继续访问 Web 应用,开发者需要提供一个 cache manifest 文件。这个文件中列出了所有需要在离线状态下使用的资源,浏览器会把这些资源缓存到本地。cache manifest文件例子:CACHE MANIFEST#这是注释images/sound-icon.pngimages/background.png NETWORK:test.cgiCACHE:style/default.cssFALLBACK:/files/projects/projects HTML5离线应用的更新缓存机制应用程序可以等待浏览器自动更新缓存,也可以使用 Javascript 接口手动触发更新。u自动更新 浏览器除了在第一次访问 Web 应用时缓存资源外,只会在 cache manifest 文件本身发生变化时更新缓存。而 cache manifest 中的资源文件发生变化并不会触发更新。u手动更新 开发者也可以使用 window.applicationCache 的接口更新缓存。方法是检测 window.applicationCache.status 的值,如果是 UPDATEREADY,那么可以调用 window.applicationCache.update()更新缓存。if(window.applicationCache.status=window.applicationCache.UPDATEREADY)window.applicationCache.update();在线状态检测HTML5 提供了两种检测是否在线的方式:navigator.online 和 online/offline事件。unavigator.onLinenavigator.onLine 属性表示当前是否在线。如果为 true,表示在线;如果为false,表示离线。当网络状态发生变化时,navigator.onLine 的值也随之变化。开发者可以通过读取它的值获取网络状态。uonline/offline事件 当开发离线应用时,通过 navigator.onLine获取网络状态通常是不够的。开发者还需要在网络状态发生变化时立刻得到通知,因此 HTML5 还提供了 online/offline 事件。当在线/离线状态切换时,online/offline 事件将触发在 body 元素上,并且沿着 document.body、document 和 window 的顺序冒泡。因此,开发者可以通过监听它们的 online/offline 事件来获悉网络状态。在Android中构建HTML5离线应用/开启应用程序缓存webSettingssetAppCacheEnabled(true);String dir=this.getApplicationContext().getDir(cache,Context.MODE_PRIVATE).getPath();/设置应用缓存的路径webSettings.setAppCachePath(dir);/设置缓存的模式webSettings.setCacheMode(WebSettings.LOAD_DEFAULT);/设置应用缓存的最大尺寸webSettings.setAppCacheMaxSize(1024*1024*8);/扩充缓存的容量public void onReachedMaxAppCacheSize(long spaceNeeded,long totalUsedQuota,WebStorage.QuotaUpdater quotaUpdater)quotaUpdater.updateQuota(spaceNeeded*2);使用Canvas绘制图形图像什么是 Canvas?HTML5的canvas元素使用JavaScript在网页上绘制图像。画布是一个矩形区域,您可以控制其每一像素。canvas 拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。创建Canvas元素向HTML5页面添加canvas元素。规定元素的 id、宽度和高度:通过 JavaScript 来绘制canvas元素本身是没有绘图能力的。所有的绘制工作必须在JavaScript内部完成:/通过id获取canvas元素 var c=document.getElementById(myCanvas);/创建context对象 var cxt=c.getContext(2d);cxt.fillStyle=#FF0000;cxt.fillRect(0,0,150,75);结束谢谢!2011-07-16
    展开阅读全文
    提示  咨信网温馨提示:
    1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
    5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:HTML开发Android应用程序概述.pptx
    链接地址:https://www.zixin.com.cn/doc/4607021.html
    页脚通栏广告

    Copyright ©2010-2026   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork