androd H5混合开发 当无网络下,android怎么加载H5界面
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了androd H5混合开发 当无网络下,android怎么加载H5界面相关的知识,希望对你有一定的参考价值。
参考技术A H5开发安卓界面需要注意以下三点:(上)包括android设备多分辨率的问题,Android中构建html5应用程序基础(中)包括Android与JS之间的互动,Android处理JS的警告对话框等,Android中的调试(下)包括本地储存在Android中的应用,地理位置的应用,离线应用的构建进入正题●Android设备多分辨率的问题Android浏览器默认预览模式浏览会缩小页面WebView中则会以原始大小显示Android浏览器和WebView默认为mdpi。hdpi相当于mdpi的1.5倍ldpi相当于0.75倍三种解决方式:1viewport属性2CSS控制3JS控制1viewport属性放在HTML的中html代码:Exmaplemeta中viewport的属性如下:2CSS控制设备密度为每种密度创建独立的样式表(注意其中的webkit-device-pixel-ratio3个数值对应3种分辨率)html代码:3JS控制Android浏览器和WebView支持查询当前设别密度的DOM特性window.devicePixelRatio同样值有3个(0.75,1,1.5对应3种分辨率)JS中查询设备密度的方法js代码:if(window.devicePixelRatio==1.5)alert("Thisisahigh-densityscreen");elseif(window.devicePixelRation==0.75)alert("Thisisalow-densityscreen");Android中构建HTML5应用使用WebView控件与其他控件的使用方法相同在layout中使用一个标签WebView不包括导航栏,地址栏等完整浏览器功能,只用于显示一个网页。Androd Gradle 使用技巧之模块依赖替换
背景
我们在多模块项目开发过程中,会遇到这样的场景,工程里依赖了一个自己的或者其他同事的 aar
模块,有时候为了开发调试方便,经常会把 aar
改为本地源码依赖,开发完毕并提交的时候,会再修改回 aar
依赖,这样就会很不方便,开发流程图示如下:
解决
一开始我们通过在 app
的 build.gradle
里的 dependency
判断如果是需要本地依赖的 aar
,就替换为 implementation project
依赖,伪代码如下:
dependencies
if(enableLocalModule)
implementation 'custom:test:0.0.1'
else
implementation project(path: ':test')
这样就可以不用每次提交代码还要修改回 aar
依赖,但是如果其他模块如果也依赖了该 aar
模块,就会出现问题,虽然可以继续修改其他模块里的依赖方式,但是这样就会有侵入性,而且不能彻底解决问题,仍然有可能出现本地依赖和 aar
依赖的代码不一致问题。
Gradle 官方针对这种场景提供了更好的解决方式 DependencySubstitution
,使用方式如下:
步骤1:在 settting.gradle
,添加如下代码:
// 加载本地 module
if (file("local.properties").exists())
def properties = new Properties()
def inputStream = file("local.properties").newDataInputStream()
properties.load( inputStream )
def moduleName = properties.getProperty("moduleName")
def modulePath = properties.getProperty("modulePath")
if (moduleName != null && modulePath != null)
include moduleName
project(moduleName).projectDir = file(modulePath)
步骤2:在 app
的 build.gradle
添加以下代码
configurations.all
resolutionStrategy.dependencySubstitution.all DependencySubstitution dependency ->
// use local module
if (dependency.requested instanceof ModuleComponentSelector && dependency.requested.group == "custom")
def targetProject = findProject(":test")
if (targetProject != null)
dependency.useTarget targetProject
步骤3::在 local.properties
里
moduleName=:test
modulePath=../AndroidStudioProjects/TestProject/testModule
到这里就大功告成了,后续只需要在 local.properties
里开启和关闭,即可实现 aar
模块本地依赖调试,提交代码也不用去手动修改回 aar
依赖。
以上是关于androd H5混合开发 当无网络下,android怎么加载H5界面的主要内容,如果未能解决你的问题,请参考以下文章