Android-WebView加载网页(new WebView(this)方式)
之前的博客,都是 findViewById(R.id.webview);,来得到WebView, 此博客使用 new WebView(this)方式;
AndroidManifest.xml中配置网络访问权限:
<!-- 网络访问权限 -->
<uses-permission android:name="android.permission.INTERNET" />
Activity:
package cn.h5; import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.webkit.JavascriptInterface;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient; /**
* WebView的另外种方式
*/
public class MainActivity6 extends AppCompatActivity { // 链接地址
public static final String SERVER_HOST = "https://www.sina.com.cn"; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); /**
* 定义此WebView 用于去展现网络上的网页
*/
WebView webView = new WebView(this); /**
* 通过此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); /**
* 设置好webView.loadUrl(SERVER_HOST);后,需要setContentView(webView);
*/
setContentView(webView);
} /**
* 此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那边定义一致
*/
}
}
执行结果:

Android-WebView加载网页(new WebView(this)方式)的更多相关文章
- Android中Http加载如何得到Cookie和 WebView 加载网页如何得到的Cookie
最近做项目在手机端登录Http请求和 WebView 记载登录获取Cookie信息,可查看Cookie信息. 如图: Http请求获取Cookie信息: public static String re ...
- WebView 加载网页 加载资源 总结 MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- WebView 加载网页和java 与js交互
[mw_shl_code=java,true]WebView是一个可以显示网页的控件.需求:通过WebView加载assets下的html文件.实现页面的缩放.向menu键添加:前进.后退和刷新,实现 ...
- WebView加载页面的两种方式——网络页面和本地页面
WebView加载页面的两种方式 一.加载网络页面 加载网络页面,是最简单的一种方式,只需要传入http的URL就可以,实现WebView加载网络页面 代码如下图: 二.加载本地页面 1.加载asse ...
- Android WebView 加载网页
通过Android 中 WebView 控件加载HTML5 页面,这是实现Android 混合开发的基础. 选择加载的网页可以是本地,也可用使远程的.需要添加访问互联网的权限:<uses-per ...
- Flutter ------- WebView加载网页
在Flutter 加载网页?也是有WebView的哦,和Android一样 1.添加依赖 dependencies: flutter_webview_plugin: ^0.2.1+2 2.导入库 im ...
- iOS之webview加载网页、文件、html的方法
UIWebView 是用来加载加载网页数据的一个框.UIWebView可以用来加载pdf.word.doc 等等文件 生成webview 有两种方法,1.通过storyboard 拖拽 2.通过a ...
- webview加载网页加载不出来
1.webView.loadUrl(picTargetUrl); 写在最前面. 1.在无线城市迷你版的项目,用webview去loadUrl的时候出现加载的现象. url 地址是 http://go. ...
- bootstrap模态框远程加载网页的正确处理方式
bootstrap模态框远程加载网页的方法 在bootsrap模态框文档里给出了这个方法: 使用链接模式 <a data-toggle="modal" href=" ...
- Android使用Webview加载网页
安卓使用Webview来加载和显示网页内容,首先在layout文件中定义Webview <?xml version="1.0" encoding="utf-8&qu ...
随机推荐
- java中 this 关键字的三种用法
Java中this的三种用法 调用属性 (1)this可以调用本类中的任何成员变量 调用方法(可省略) (2)this调用本类中的成员方法(在main方法里面没有办法通过this调用) 调用构造方法 ...
- 枚举之后define
经常会看到类似下边的code写法,觉得这么写没什么意义. enum { AA, BB, CC, }; #define AA AA #define BB BB #define CC CC 尝试下边代码, ...
- Laravel 5.5 + Vue 开发单页应用
上次我用 laravel5.3 + Vue 开发了一个简单的单页应用,这次我打算将其升级到 laravel5.5,在升级的过程中,做一下记录,其源码放在 github 上面,源码地址 开发环境 软 ...
- Two Sum LT1
Given an array of integers, return indices of the two numbers such that they add up to a specific ta ...
- CSS实现背景透明而背景上的文字不透明
在我们设计制作一些网页的时候可能会用到半透明的效果,首先我们可能会想到用PNG图片处理,当然这是一个不错的办法,唯一的兼容性问题就是ie6 下的BUG,但这也不困难,加上一段js处理就行了.但假如我们 ...
- setInterval与setTimeout 的区别
setInterval在执行完一次代码之后,经过了那个固定的时间间隔,它还会自动重复执行代码,而setTimeout只执行一次那段代码 用法: setInterval("alert( ...
- 2018.11.24 poj3693Maximum repetition substring(后缀数组)
传送门 后缀数组好题. 考虑枚举循环节长度lenlenlen. 然后考虑枚举循环节的起点来更新答案. 但是直接枚举每次O(n)O(n)O(n). 考虑枚举len∗k+1len*k+1len∗k+1作为 ...
- 2018.10.24 bzoj3195: [Jxoi2012]奇怪的道路(状压dp)
传送门 f[i][j][k]f[i][j][k]f[i][j][k]表示前iii个点连了jjj条边,第i−K+1i-K+1i−K+1~iii个点连边数的奇偶性为kkk时的方案数. 转移规定只能从后向前 ...
- 删除一直处于deleting状态的数据卷
一.场景 有一个volume数据卷hzb-1G-xxxxxx创建在nc8的ceph节点上,并且该数据卷的但是有一天nc8节点坏掉了.当我们删除hzb-1G-xxxxxx的时候,就会一直处于deleti ...
- Tomcat入门
1.JavaWeb概念 Java web,是用java技术来解决相关web互联网领域的技术的总称.web包括:web服务器和web客户端两部分.java在最早web客户端的应用有java applet ...