Android-WebView加载网络图片&网页
加载网络图片:
链接地址:
http://bcs.link-us.com.cn/directBank/newHX149/directBank/h5/www/dist/img/e113.jpg
确保链接地址 在浏览器中是可以访问:

MainActivity2代码:
package cn.h5; import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.webkit.JavascriptInterface;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient; public class MainActivity2 extends AppCompatActivity { // 链接地址
public static final String SERVER_HOST = "http://bcs.link-us.com.cn/directBank/newHX149/directBank/h5/www/dist/img/e113.jpg"; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2); /**
* 定义此WebView 用于去展现网络上的图片
*/
WebView webView = findViewById(R.id.webview); /**
* 通过此WebView 获取到 WebSettings ,通过WebSettings设置WebView
*/
WebSettings webSettings = webView.getSettings(); /**
* 设置支持JavaScript激活,可用等
*/
webSettings.setJavaScriptEnabled(true); /**
* 设置自身浏览器,注意:可用把WebView理解为浏览器
* 设置setWebViewClient(new WebViewClient());后,手机就不会跳转其他的浏览器
*/
webView.setWebViewClient(new WebViewClient()); /**
* addJavascriptInterface是添加(给js调用-->Java方法)
* JSHook里面的方法 就是给JavaScript调用的;
* androidCallbackAction是JavaScript/HTML/H5那边定义定义的标识,所以必须和JavaScript/HTML/H5那边定义标识一致
*/
webView.addJavascriptInterface(new JSHook(),"androidCallbackAction"); webView.loadUrl(SERVER_HOST);
} /**
* 此JSHook类名是睡意取得
* 也可以取名Wie JavaScriptCallbackJava
* JavaScriptToJava
* ......
*/
class JSHook { /**
* 给JavaScript调用的方法
* 注意:方法名 方法参数 必须和 JavaScript/HTML/H5那边定义一致
*/
@JavascriptInterface // 高版本需要加入此@JavascriptInterface
public void javaScriptToJava1() {
Log.d("@@@", "JavaScript调用当前此方法.....");
} /**
* 给JavaScript调用的方法
* 注意:方法名 方法参数 必须和 JavaScript/HTML/H5那边定义一致
*/
@JavascriptInterface // 高版本需要加入此@JavascriptInterface
public void startToCallActivity() {
Log.d("@@@", "JavaScript调用当前此方法.....");
} /**
* 给JavaScript调用的方法
* 注意:方法名 方法参数 必须和 JavaScript/HTML/H5那边定义一致
*/
@JavascriptInterface // 高版本需要加入此@JavascriptInterface
public void updateListData() {
Log.d("@@@", "JavaScript调用当前此方法.....");
} /**
* 给JavaScript调用的方法
* 注意:方法名 方法参数 必须和 JavaScript/HTML/H5那边定义一致
*/
@JavascriptInterface // 高版本需要加入此@JavascriptInterface
public void requestByID(int id, String flag) {
Log.d("@@@", "JavaScript调用当前此方法.....");
} /**
* 给JavaScript调用的方法
* 注意:方法名 方法参数 必须和 JavaScript/HTML/H5那边定义一致
*/
@JavascriptInterface // 高版本需要加入此@JavascriptInterface
public String getThisInfoData() {
Log.d("@@@", "JavaScript调用当前此方法.....");
return "ljfr4sfdsfs";
} /**
* JavaScript/HTML/H5 那边定义要回调Android的Java 哪些方法,就可用在JSHook中定义
* 注意:方法名 方法参数 必须和 JavaScript/HTML/H5那边定义一致
*/
}
}
activity_main2:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"> <!--
定义WebView
1.WebView可以展现处理本地的HTML相关;
2.WebView可以展现处理网络的HTML相关;
3.WebView可以制作自定义浏览器;
....
-->
<WebView
android:id="@+id/webview"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</WebView> </LinearLayout>
执行结果:
加载网页:
MainActivity:
package cn.h5; import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.webkit.JavascriptInterface;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient; public class MainActivity extends AppCompatActivity { // 链接地址
// public static final String SERVER_HOST = "https://www.cnblogs.com/android-deli/"; // 链接1
// public static final String SERVER_HOST = "https://blog.csdn.net/u011967006/"; // 链接2
public static final String SERVER_HOST = "https://www.baidu.com"; // 链接3 @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); /**
* 定义此WebView 用于去展现网络上的网页
*/
WebView webView = findViewById(R.id.webview); /**
* 通过此WebView 获取到 WebSettings ,通过WebSettings设置WebView
*/
WebSettings webSettings = webView.getSettings(); /**
* 设置支持JavaScript激活,可用等
*/
webSettings.setJavaScriptEnabled(true); /**
* 设置自身浏览器,注意:可用把WebView理解为浏览器,设置new WebViewClient()后,手机就不会跳转其他的浏览器
*/
webView.setWebViewClient(new WebViewClient()); /**
* addJavascriptInterface是添加(给js调用-->Java方法)
* JSHook里面的方法 就是给JavaScript调用的;
* androidCallbackAction是JavaScript/HTML/H5那边定义定义的标识,所以必须和JavaScript/HTML/H5那边定义标识一致
*/
webView.addJavascriptInterface(new JSHook(),"androidCallbackAction"); webView.loadUrl(SERVER_HOST);
} /**
* 此JSHook类名是睡意取得
* 也可以取名Wie JavaScriptCallbackJava
* JavaScriptToJava
* ......
*/
class JSHook { /**
* 给JavaScript调用的方法
* 注意:方法名 方法参数 必须和 JavaScript/HTML/H5那边定义一致
*/
@JavascriptInterface // 高版本需要加入此@JavascriptInterface
public void javaScriptToJava1() {
Log.d("@@@", "JavaScript调用当前此方法.....");
} /**
* 给JavaScript调用的方法
* 注意:方法名 方法参数 必须和 JavaScript/HTML/H5那边定义一致
*/
@JavascriptInterface // 高版本需要加入此@JavascriptInterface
public void startToCallActivity() {
Log.d("@@@", "JavaScript调用当前此方法.....");
} /**
* 给JavaScript调用的方法
* 注意:方法名 方法参数 必须和 JavaScript/HTML/H5那边定义一致
*/
@JavascriptInterface // 高版本需要加入此@JavascriptInterface
public void updateListData() {
Log.d("@@@", "JavaScript调用当前此方法.....");
} /**
* 给JavaScript调用的方法
* 注意:方法名 方法参数 必须和 JavaScript/HTML/H5那边定义一致
*/
@JavascriptInterface // 高版本需要加入此@JavascriptInterface
public void requestByID(int id, String flag) {
Log.d("@@@", "JavaScript调用当前此方法.....");
} /**
* 给JavaScript调用的方法
* 注意:方法名 方法参数 必须和 JavaScript/HTML/H5那边定义一致
*/
@JavascriptInterface // 高版本需要加入此@JavascriptInterface
public String getThisInfoData() {
Log.d("@@@", "JavaScript调用当前此方法.....");
return "ljfr4sfdsfs";
} /**
* JavaScript/HTML/H5 那边定义要回调Android的Java 哪些方法,就可用在JSHook中定义
* 注意:方法名 方法参数 必须和 JavaScript/HTML/H5那边定义一致
*/
}
}
activity_main:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"> <!--
定义WebView
1.WebView可以展现处理本地的HTML相关;
2.WebView可以展现处理网络的HTML相关;
3.WebView可以制作自定义浏览器;
....
-->
<WebView
android:id="@+id/webview"
android:layout_width="match_parent"
android:layout_height="match_parent">
</WebView> </LinearLayout>
链接1 执行结果:
链接2 执行结果:

链接3 执行结果:

Android-WebView加载网络图片&网页的更多相关文章
- Android webview 加载https网页显示空白
http://www.2cto.com/kf/201110/108836.html 这个网址讲的不错. 设置webview支持https的方法: webView.setWebViewClient(ne ...
- Android:webView加载h5网页视频,播放不了,以及横屏全屏的问题和实现自定义加载进度条的效果
1.webView加载h5网页视频,播放不了,android3.0之后要在menifest添加硬件加速的属性 android:hardwareAccelerated="true". ...
- Android WebView 加载网页
通过Android 中 WebView 控件加载HTML5 页面,这是实现Android 混合开发的基础. 选择加载的网页可以是本地,也可用使远程的.需要添加访问互联网的权限:<uses-per ...
- Android WebView加载本地html并实现Java与JS交互
最近做的一个项目中,用到自定义地图,将自定义地图转换成html页面,现在需要做的是如何将本地的html加载到android中,并可以实现交互. 相关讲解: 其实webview加载资源的速度并不慢,但是 ...
- 转:Android Webview 加载外部html时选择加载本地的js,css等资源文件
原文地址:http://m.blog.csdn.net/blog/qduningning/43196819 在使用WebView加载网页的时候,有一些固定的资源文件如js的jquery包,css,图片 ...
- iOS使用webView加载HTML网页链接简单展示
//网页视图 _webView = [[UIWebView alloc]initWithFrame:CGRectMake(0, 64, mWidth, mHeight-64)]; _webView.d ...
- Android WebView 加载富文本内容
WebView加载数据的方式有两种: 1. webView.loadUrl(data);//加载url 2. webView.loadDataWithBaseURL(null,data, " ...
- Android 编程下 WebView 加载一个网页如何得到网页的 Cookie 值
http://www.cnblogs.com/sunzn/archive/2013/04/03/2998113.html mWebView.setWebViewClient(new MyWebView ...
- Android WebView 加载超长 JS 数据
在之前的文章里面,我总结过WebView如何与网页交互,也就是Java如何和JS交互 —— Android WebView 总结 —— Java和JavaScript交互. 基于这篇文章,我们基本上能 ...
随机推荐
- java中 this 关键字的三种用法
Java中this的三种用法 调用属性 (1)this可以调用本类中的任何成员变量 调用方法(可省略) (2)this调用本类中的成员方法(在main方法里面没有办法通过this调用) 调用构造方法 ...
- Luogu 3620 数据备份 - Set
Solution 很显然, 最优情况肯定是相邻两个相连 . 然后模型就跟 Luogu1484 类似了. 把两个房子 看成一个坑 (参考 Luogu1484), 选取 $k$ 个不相邻的坑, 使得权值最 ...
- VS2010正则批量替换set_和get_
批量替换set_: daohang.set_ChannelName(rowArray[0]["ChannelName"].ToString()); daohang.set_Chan ...
- lodash 中常用的方法
odash是js集Array/Object/String/Function的Util于一身. lodash打包了Array/Object/String/Function里一些Api,好处是连ES6的也 ...
- macOS X Mount NFS Share / Set an NFS Client
last updated November 3, 2018 in CategoriesLinux, Mac OS X, UNIX How do I access my enterprise NAS s ...
- HTTP协议是什么
1.http全称Hypertext Trsnsfer Protocol超文本传输协议 2.最初发明是用来在浏览器和web服务器之间传输超文本信息的 3.泛义上属于应用层的协议 ,很多其他应用(比如 ...
- 关于传统项目打成war包的的分析
技术在不断的革新,以前的项目没有jar管理工具时,都是手动将依赖的jar拷贝到项目之下,然后Build Path,之后Maven出现了,出现了jar包中央仓库,所有的jar包资源集中在这里,免去频繁去 ...
- svn log — 显示提交日志信息
http://www.cnblogs.com/eoiioe/archive/2009/01/06/1370580.html 概要svn log [PATH]svn log URL [PATH...]描 ...
- 比较完整的HIS系统解释(转载记录)
HIS系统即医院信息系统(全称为Hospital Information System).在国际学术界,它已被公认为是新兴的医学信息学的重要分支.HIS系统的有效运行,将提高医院各项工作的效率和质量, ...
- 2019.01.24 bzoj3125: CITY(轮廓线dp)
传送门 题意简述:给一个n∗mn*mn∗m的网格图,有的格子不能走,有的格子只能竖着走,有的格子只能横着走,问用一条回路覆盖所有能走的格子的方案数. 思路: 就是简单的轮廓线dpdpdp加了一点限制而 ...

