‘壹’ android怎么加载html
android加载html
主要有2种方案:
方案一:
启动第三方浏览器或者安卓内置的浏览器进行加载先生html文件。
方案二:
使用android 自带的webview控件进行加载html文件或者网页。
不常用方案有1种:
使用android控件TextView进行加载html文件。
主要原理:
通过读取html文件里面的标签进行解析相关的元素从而通过浏览器,或者android自带的控件进行显示,其中webview控件本质上就是一个浏览器,TextView显示html内容就是通过解析标签,元素通过内置方法转化成相应带有属性的文本信息然后显示到界面上。
详细解决步奏:
方案一:
java">Uriuri=Uri.parse("http://www.XXXX.com");//要链接的地址或者html
Intentintent=newIntent(Intent.ACTION_VIEW,uri);
startActivity(intent);
缺点如果android中没有浏览器,则无法启动显示相关内容。
方案二:
webview=(WebView)findViewById(R.id.WebView01);
webview.getSettings().setJavaScriptEnabled(true);
webview.loadUrl("http://www.xxxx.com");//要链接的地址或者html
缺点:目前没有什么缺点,比其他2种好,天生为加载html文件而出生的
方案三:
不常用的方法,借助函数Html.fromHtml()来解析html内容,并且进行显示。
TextViewtext1=(TextView)findViewById(R.id.TextView02);
text1.setText(Html.fromHtml(“<fontsize='20'>网页内容html</font>”));
缺点:加载速度慢于webview加载速度。
最后
推荐使用webview进行加载html内容,其特性优于其他2种加载方式
‘贰’ Android开发中对显示HTML内容的几种方式
首先,Android中显示Html内容,有3中方式:(目前我用到的有这3种)
1、可以利用Android原生的Html.fromHtml(str, imageGetter, tagHandler)来进行显示。(不过,我这边用了,即使加了页面加载动画,还是觉得非常慢,有大量图片,会导致OOM;如果图片不多的话,可以考虑)
2、利用第三方插件HtmlTextView。
GitHub地址:https://github.com/PrivacyApps/html-textview
图片加载很顺畅,使用方法也非常简单,不过,有两个注意事项:
(1)其中,HtmlHttpImageGetter有3个构造函数,可以根据自己的情况选择。
(2)加载大量图片的时候,会导致OOM内存溢出。针对于这个情况,HtmlHttpImageGetter有一个压缩图片的方法可以调用,可以进去查看它的公共方法。(不过,我这边显示的图片过大,每张1M左右,并且一下子有几十张,即使设置了压缩图片,还是会导致OOM问题,目前还没解决,有大神知道咋弄的,拜托指点一下,非常感谢!)
对了,这个第三方插件的基本用法,点击上面的连接,进去一看就知道了,很简单。
3、第三种,是我没办法的情况下想的:把html标签里的内容利用正则表达式拿出来,其中,文本内容用一个TextView代替,<img>标签图片用一个ImageView代替,其他相关的标签自行选择替换。说白了,就是创建一个个的TextView以及ImageView填充到布局里(LinearLayout之类的)。要说明的是:其中图片显示用Glide来实现。目前我这边测试的情况还是可以的,加载的速度非常快,也没因内存问题导致APP崩溃。
‘叁’ 怎么在android手机上打开html文件
1. 在Android手机上打开HTML文件的方法是:
2. 使用浏览器:打开浏览器,然汪纯拆后点击浏览器的“文件”按钮,选择要打开的HTML文件。
3. 使用文本编辑器:打开文本编困枣辑器,然后点击“文件”按钮,选择要打开的HTML文件。
4. 使用HTML阅读器:下载一个HTML阅读器,然后点裤宽击“文件”按钮,选择要打开的HTML文件。
‘肆’ android怎样用webview加载html代码
android用webview加载html代码举例:
1、安卓代码加载:
WebView
view
=
new
WebView(this);
view.getSettings().setJavaScriptEnabled(true);
view.loadUrl("file:///android_asset/hello.html");
setContentView(view);
2、利用android
studio手动加载:
操作方法:右键app->New->Folder->Assets
Folder,选中要加载的html文件即可。
‘伍’ 怎么用网页的超级链接调用安卓手机的app
一、通过html页面打开Android本地的app
1、首先在编写一个简单的html页面
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<a href="m://my.com/">打开app</a><br/>
</body>
</html>
2、在Android本地app的配置
在AndroidManifest的清单文件里的intent-filte中加入如下元素:
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="my.com"
android:scheme="m" />
</intent-filter>
示例截图如下:
然后使用“手机浏览器”或者“webview”的方式打开这个本地的html网页,点击“打开APP”即可成功开启本地的指定的app
二、如何通过这个方法获取网页带过来的数据
只能打开就没什么意思了,最重要的是,我们要传递数据,那么怎么去传递数据呢?
我们可以使用上述的方法,把一些数据传给本地app,那么首先我们更改一下网页,代码修改后:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<a href="m://my.com/?arg0=0&arg1=1">打开app</a><br/>
</body>
</html>
(1).假如你是通过浏览器打开这个网页的,那么获取数据的方式为:
Uri uri = getIntent().getData(); String test1= uri.getQueryParameter("arg0"); String test2= uri.getQueryParameter("arg1");
(2)如果使用webview访问该网页,获取数据的操作为:
webView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
Uri uri=Uri.parse(url);
if(uri.getScheme().equals("m")&&uri.getHost().equals("my.com")){
String arg0=uri.getQueryParameter("arg0");
String arg1=uri.getQueryParameter("arg1");
}else{
view.loadUrl(url);
}
return true;
}
});
‘陆’ 如何在html中获得android手机中浏览器的屏幕的宽度
在html中获得android手机中浏览器的屏幕宽度的方法:
1、在网页的<head>中增加以上这句话,可以让网页的宽度自动适应手机屏幕的宽度:
[html] view plain
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=0.5, maximum-scale=2.0, user-scalable=yes" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="format-detection" content="telephone=no" />
第一行:
width=device-width :表示宽度是设备屏幕的宽度
initial-scale=1.0:表示初始的缩放比例
minimum-scale=0.5:表示最小的缩放比例
maximum-scale=2.0:表示最大的缩放比例
user-scalable=yes:表示用户是否可以调整缩放比例
第二行:
设定iphone端页面全屏。
第三行:
取消数字被识别为电话号码。
2、如果是想要一打开网页,则自动以原始比例显示,并且不允许用户修改的话,则是:
[html] view plain
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" />
3、这样可以把一些页头横幅等的图片的宽度都设置成style="width:100%",整个页面在设备上看起来就是全屏的了。