【Android开发】Android Studio中进行简单的WebView构建浏览器开发

  • 第一步:新建一个Android Project
  • 第二步:修改AndroidMainfest.xml文件
  • 第三步:在布局文件activity_main.xml添加WebView控件对象
  • 第4步:修改MainActivity.java文件
  • 第5步:编译调试

Android Studio 安装详见《【Android开发】Android入门安装与使用教程——以Android Studio3.6.1为例》

第一步:新建一个Android Project

第二步:修改AndroidMainfest.xml文件

我们在使用WebView的时候,需要用到网络权限,因此需要在AndroidMainfest.xml添加以下代码:

    <!-- 添加网络权限 --><uses-permission android:name="android.permission.INTERNET" />

代码插入位置如下:

第三步:在布局文件activity_main.xml添加WebView控件对象

因为后续的java代码需要绑定该控件,所以我们要指定控件id,也就是android:id="@+id/myweb"是必须加上去的

    <WebViewandroid:id="@+id/myweb"android:layout_width="match_parent"android:layout_height="match_parent"/>

代码插入位置如下:

第4步:修改MainActivity.java文件

首先要通过import导入相应的java package——android.os.Bundleandroid.webkit.WebViewandroid.webkit.WebViewClient
然后在void onCreate(Bundle savedInstanceState)函数内部添加代码:

  • 获得控件
WebView mw = (WebView) findViewById(R.id.myweb);
  • 调用成员函数loadUrl装入网页链接
mw.loadUrl("https://www.baidu.com/");
  • 调用成员函数setWebViewClient加载网页,为了能够直接通过WebView显示网页重写WebViewClient的shouldOverrideUrlLoading()方法
mw.setWebViewClient(new WebViewClient(){@Overridepublic boolean shouldOverrideUrlLoading(WebView view, String url) {// 重写WebViewClient的shouldOverrideUrlLoading()方法//使用WebView加载显示urlview.loadUrl(url);//返回truereturn true;}});

完整的MainActivity.java文件代码如下:

import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebViewClient;public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//获得控件WebView mw = (WebView) findViewById(R.id.myweb);// 调用成员函数访问网页,加载资源mw.loadUrl("https://www.baidu.com/");// //系统默认会通过手机浏览器打开网页,为了能够直接通过WebView显示网页,则必须设置mw.setWebViewClient(new WebViewClient(){@Overridepublic boolean shouldOverrideUrlLoading(WebView view, String url) {// 重写WebViewClient的shouldOverrideUrlLoading()方法//使用WebView加载显示urlview.loadUrl(url);//返回truereturn true;}});}
}

第5步:编译调试

点击运行按钮,调试结果如下:

【作者简介】陈艺荣,男,目前在华南理工大学电子与信息学院广东省人体数据科学工程技术研究中心攻读博士,担任IEEE Access、IEEE Photonics Journal的审稿人。两次获得美国大学生数学建模竞赛(MCM)一等奖,获得2017年全国大学生数学建模竞赛(广东赛区)一等奖、2018年广东省大学生电子设计竞赛一等奖等科技竞赛奖项,主持一项2017-2019年国家级大学生创新训练项目获得优秀结题,参与两项广东大学生科技创新培育专项资金、一项2018-2019年国家级大学生创新训练项目获得良好结题,发表SCI论文4篇,授权实用新型专利8项,受理发明专利13项。
我的主页
我的Github
我的CSDN博客
我的Linkedin

【Android开发】Android Studio中进行简单的WebView构建浏览器开发1相关推荐

  1. 【Android开发】Android Studio中进行简单的WebView构建浏览器开发2

    [[Android开发]Android Studio中进行简单的WebView构建浏览器开发2 第1步:在上一篇博客的基础上,修改activity_main.xml 第2步:在MainActivity ...

  2. java——开发工具eclipse中的相关快捷键及Google浏览器的快捷键(开发者实用),便于快速开发

    java--开发工具eclipse中的快捷键,便于快速开发 java--开发工具eclipse中的相关快捷键及Google浏览器的快捷键(开发者实用),便于快速开发 谷歌浏览器(Google)相关快捷 ...

  3. CAD二次开发c#(三)简单的二、三维开发实例

    以下将列举几个简单的二.三维开发的小例子: //定位 public void Zoom() {Document doc = Autodesk.AutoCAD.ApplicationServices.A ...

  4. 怎么在火狐中调试html,如何利用火狐浏览器开发工具调试网页颜色搭配?

    如何利用火狐浏览器开发工具调试网页颜色搭配?如果你对网站的整体颜色不满意,完全可以在火狐浏览器的Web开发工具中使用查看器来调整预期的效果,再将色码实施到该位置,这样就可以很方便的处理颜色调试问题. ...

  5. 软件开发生命周期中的设计阶段_测试基础——软件开发生命周期

    今天和大家分享的是软件开发生命周期,主要介绍软件的生命周期和软件的设计模型. 国标(GB8566-88)中将软件生命周期分为8个阶段:可行性研究与计划.需求分析.概要设计.详细设计.实现(包括单元测试 ...

  6. Android Studio中进行单元测试和UI测试

    目录 在Android Studio中进行单元测试和UI测试 - 1.概述 在Android Studio中进行单元测试和UI测试 - 2.创建新的Android Studio工程 在Android ...

  7. android studio findbugs 过滤,Android Studio中使用FindBugs

    1.什么是FindBugs 一句话简单理解就是:是一个工具,可以用它自动帮你找出代码中潜在的BUG.当然事实并不一定总是如此,也有很多它找不出来的地方.下面将直接介绍如何在Android Studio ...

  8. Android开发-Android原生与WebView的js交互的实现

    前 言 一般在Android应用的开发过程中,一些核心的业务功能开发往往需要Android原生的开发,一些需要改动比较频繁的功能且不是核心的业务功能往往只需要在Android应用调用一个网页就行了.在 ...

  9. Androis Studio中使用真机调试步骤

    Android Studio使用真机调试时,需要在真机和Android Studio中分别进行设置. 1 在真机中设置 在真机中,主要打开"USB调试"开关和设置"USB ...

最新文章

  1. 我的JavaScript学习笔记
  2. 输出整数的位数、按位输出(两种)以及逆序输出
  3. python基础===八大排序算法的 Python 实现
  4. JAVA去掉HTMl以及CSS样式
  5. Git回滚操作的总结
  6. CF1479D Odd Mineral Resource
  7. python中datetime库_一天掌握一个Python库--datetime库
  8. python的内建函数built-in functions
  9. python如何调用参数配置文件_【Python学习笔记七】从配置文件中读取参数
  10. tomcat 莫名奔溃问题
  11. 40vf什么意思_LED 的基本术语VF、IV、WL、IR 解释及光通量换算关系
  12. Hibernate,get()和load()区别
  13. 计算机教室网络同传及保护,用好联想网络同传系统解放信息技术教师
  14. VC6.0下载和安装教程
  15. unity学习笔记-3dmax人型动画导入unity需要注意的事项
  16. EXCEL公式获取幂函数系数解析
  17. JAVA SpringBoot接科大讯飞TTS语音合成保姆式教程附源代码
  18. html半圆形效果图,html5 canvas半圆形百分比进度条动画特效
  19. VueDemo-12.加入购物车
  20. 加速R运算的简易方法-MRO

热门文章

  1. amount和number的区别
  2. 遇见运维(一)运维面试常考题
  3. cyq.data 连接mysql_CYQ.Data 轻量数据层之路 优雅V1.4 辅助工具发布
  4. UE4 texture streaming poor over 预算上的纹理流送池 红字 解决方法总结。
  5. phpstorm 更改主题 ui图标
  6. C++内存管理(超长)
  7. [附源码]Nodejs计算机毕业设计绝味鸭脖连锁店信息系统Express(程序+LW)
  8. 家用投影仪品牌推荐,如何选择家用投影仪?
  9. 【React-Native】- 红米/安卓手机Text文字显示不全及全局字体
  10. JS 支持 replaceAll 方法(部分浏览器不自带)