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交互. 基于这篇文章,我们基本上能 ...
随机推荐
- post方式发送请求报文
$url="http://www.test.com/04_demo_weather.php?id=5"; $ci=curl_init($url); curl_setopt($ci, ...
- 设计师都爱用的UI标注软件有哪些?
UI标注软件现在是设计师(UI.PM.前端等)必备的一款软件.设计稿是UI设计师日常工作中的产出物之一,当然,做出了高保真设计稿并不意味着你的工作结束了,因为你还得与下游的开发工程师进行对接. 我们经 ...
- service fabric重装电脑后集群失败
前提.下载service fabric sdk工具 1.Remote Procedure Call (RPC)服务打开 自动 2.Remote Procedure Call (RPC) Locator ...
- System.load()与System.loadLibrary()
Java load 和 loadlibrary方法的区别 1. 相同点: 两个方法都是用来装载dll文件,不论是JNI库文件还是非JNI库文件.本地方法在被调用时都需要通过这两发方法之一将其加载至内 ...
- SpringMVC环境搭建和详解
1.Spring容器和SpringMVC容器是父子容器 1.1 SpringMVC容器可以调用Spring容器中的所有内容 1.2 图示 2.SpringMVC环境搭建 1.导入jar包 2.在web ...
- Bootstrap之Bootstrap组件
一 文本居中 col-xx-offset-xx:水平居中 center-block:使用于不涉及float标签的水平居中,也不涉及列的居中,让哪里居中就写到哪里,本质是:margin:0 auto. ...
- 【转】Centos7下Yum安装PHP5.5,5.6,7.0
默认的版本太低了,手动安装有一些麻烦,想采用Yum安装的可以使用下面的方案: 1.检查当前安装的PHP包 yum list installed | grep php 如果有安装的PHP包,先删除他们 ...
- 832. Flipping an Image
class Solution { public: vector<vector<int>> flipAndInvertImage(vector<vector<int& ...
- 使用Wireshark分析网络数据
一. Wireshark中查看TCP的三次握手和四次挥手: 上面的数据发送和接收两部分的info提示都是 [TCP segment of a reassembled PDU],网上的解释是TCP分片的 ...
- OEM-ODM-OBM
Original Equipment ManufacturerOriginal Design ManufacturerOwn Branding & Manufacturing OEM,即“原始 ...