安卓APP_ 控件(11)webView —— 简单应用:显示网页

摘自:安卓APP_ 控件(11)webView —— 简单应用:显示网页
作者:丶PURSUING
发布时间: 2021-05-11 11:50:52
网址:https://blog.csdn.net/weixin_44742824/article/details/116602469

目录

  • 简单了解
  • 使用
    • 一、配置文件manifest中添加两个权限
    • 二、添加webView控件
  • 完整源码

简单了解

Android WebView是一个特殊的View,它能用来显示网页,这个WebView类可以被用来在app中仅仅显示一张在线的网页,当然还可以用来开发浏览器。

WebView内部实现是采用渲染引擎(WebKit)来展示view的内容,提供网页前进后退、网页放大、缩小、搜索等功能。

使用

注意:在此之前,先要确保你的安卓虚拟机能够联网,因为之前做过尝试,不稳定故这里不做展开,可以拉到真机中去调试。

一、配置文件manifest中添加两个权限

联网权限

<uses-permission android:name="android.permission.INTERNET" />
  • 1

明文支持

android:usesCleartextTraffic="true"
  • 1

从Android 9.0(API级别28)开始,默认情况下禁用明文支持,因此http的url均无法在webview中加载。

如下图
在这里插入图片描述

二、添加webView控件

在这里插入图片描述在MainActivity中添加:

        WebView webView = findViewById(R.id.webView);webView.loadUrl("http://www.baidu.com");
  • 1
  • 2

如下图:
在这里插入图片描述这时候运行已经可以看到百度界面了,点一下返回按键,看到的是空白界面,实际上是加载了系统自带的浏览器。

更多细节见源码

完整源码

因为虚拟机的联网原因,放到真机中调试,故这里没有做结果的演示。就是输入网址http://www.baidu.com后点击确定即可跳转

public class MainActivity extends AppCompatActivity {WebView webView;EditText editText;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);webView = findViewById(R.id.webView);//系统默认会通过手机浏览器打开网页,为了能够直接通过WebView显示网页,则必须设置webView.setWebViewClient(new WebViewClient());editText = findViewById(R.id.editText);/*设置editText的回车事件:直接闪退?editText.setOnEditorActionListener(new TextView.OnEditorActionListener() {@Overridepublic boolean onEditorAction(TextView v, int actionId, KeyEvent event) {String string = editText.getText().toString();webView.loadUrl(string);//ENTERreturn (event.getKeyCode() == KeyEvent.KEYCODE_ENTER);}});*/}//按键响应事件public void enterFunc(View view) {String string = editText.getText().toString();webView.loadUrl(string);}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34

activity_main.xml
在这里插入图片描述按键点击事件
在这里插入图片描述


设置editText的回车事件,(点击回车会闪退?),故上面用了button来代替。

   //设置editText的回车事件:直接闪退?editText.setOnEditorActionListener(new TextView.OnEditorActionListener() {@Overridepublic boolean onEditorAction(TextView v, int actionId, KeyEvent event) {String string = editText.getText().toString();webView.loadUrl(string);//ENTERreturn (event.getKeyCode() == KeyEvent.KEYCODE_ENTER);}});
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/265740.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python 抓取数据存储到Mysql中

# -*- coding: utf-8 -*- import os,sys import requests import bs4 import pymysql#import MySQLdb#连接MYSQL数据库 db pymysql.connect(host127.0.0.1,userroot,passwordmysql,dbtest,port3306,charsetutf8) #db MySQLdb.connect(127.0.0.1,root,mysql,test,coon.set_cha…

ios 去掉底部状态栏_iOS 隐藏状态栏

1.整个项目隐藏状态栏在Targets->General->勾选中Hide status bar2.单个界面隐藏状态栏,例如登录注册页面1.首先在info.plist里面View controller-based status bar appearance 设置为 NO.2.在需要调控状态栏的ViewController类中添加以下代码://进入时隐藏-(void)viewWi…

QT应用开发基础

目录前言Windows上搭建开发环境C基础什么是C什么是面向对象&#xff0c;什么又是面向过程c的灵魂&#xff1a;c的类对象&#xff1a;类的实例化怎么访问类的成员类的函数成员类的访问修饰符函数的重载构造函数和析构函数类的继承虚函数和纯虚函数制作一个简单的QT界面创建工程U…

meson构建系统

简介 Meson是一个构建系统&#xff0c;它被设计成在不牺牲性能的前提下尽可能的友好。这方面的主要工具是用户用来描述构建结构的自定义语言。这种语言的主要设计目标是简单、清晰和简洁。很多灵感都来自于Python编程语言&#xff0c;它被认为是非常易读的&#xff0c;即使对以…

射灯安装方法图解_江苏天筑不锈钢雕塑厂家格栅射灯安装方法,格栅射灯安装注意事项...

格栅射灯安装方法&#xff0c;您是否已经学会了呢&#xff1f;不管您会不会&#xff0c;今天江苏天筑不锈钢雕塑厂家就结合这个问题&#xff0c;一起来为大家详细介绍这部分内容的一些相关的注意事项&#xff0c;南方的天气比较潮湿&#xff0c;所以我们尽量不要把格栅射灯安装…

在centos8 stream启用 Extra Packages

前言 最近把一台机器装了centos8 stream&#xff0c;centos8 的维护周期将会在2021-12-31结束 而centos8 stream和centos8有什么区别呢&#xff1f;我参考官方的描述简单总结下 由下游变更到上游 centos8是RHEL的rebuild版本&#xff0c;所以是处在下游的&#xff0c;意思是收…

ARM体系结构简介 —— 迅为

目录单片机和ARM处理器内存管理单元&#xff08;MMU&#xff09;高速缓冲存储器&#xff08;CACHE&#xff09;指令集ARM的指令系统ARM处理器工作模式ARM处理器的内部寄存器ARM处理器的异常ARM中断向量ARM架构的发展单片机和ARM处理器 内存管理单元&#xff08;MMU&#xff09;…

getElementById() getElementsByName() getElementsByTagName()

http://www.cnblogs.com/winner/archive/2007/03/28/593028.html1、getElementById()getElementById()可以访问DOCUMENT中的某一特定元素&#xff0c;顾名思义&#xff0c;就是通过ID来取得元素&#xff0c;所以只能访问设置了ID的元素。比如说有一个DIV的ID为docid&#xff1a…

网口扫盲二:Mac与Phy组成原理的简单分析(转)

1. general 下图是网口结构简图.网口由CPU、MAC和PHY三部分组成.DMA控制器通常属于CPU的一部分,用虚线放在这里是为了表示DMA控制器可能会参与到网口数据传输中. 对于上述的三部分,并不一定都是独立的芯片,根据组合形式,可分为下列三种方案: CPU集成MAC与PHY;CPU集成MAC,PHY采用…

python拼接两个数组_在Python中连接两个数组

根据你的描述&#xff0c;你的案子看起来像&#xff1a;In [344]: a[np.arange(5),np.arange(5)]In [345]: b[np.arange(5),np.arange(3)]In [346]: aOut[346]: [array([0, 1, 2, 3, 4]), array([0, 1, 2, 3, 4])]In [347]: bOut[347]: [array([0, 1, 2, 3, 4]), array([0, 1, …

设置git协议clone代理

0x0 最近在clone yaffs2仓库时发现clone的异常缓慢&#xff0c;就算开了代理也是&#xff0c;搜索一番发现网上大多都是将设置http、https、ssh协议的代理&#xff0c;对于git协定的代理讲的很少&#xff0c;下面分享下如何让git协议走socks代理 以下内容前提是里已经在电脑上…

vue-cli 3.0安装和使用

零. 前言 公司最近开发项目使用的是vue-cli 3.0版本开发&#xff0c;但是对于vue-cli 3.0版本一直没有研究过如何使用&#xff0c;公司使用配置&#xff1a;pug ts stylus eslint&#xff1b;编辑器使用&#xff1a;vscode&#xff0c;使用起来简直不要太爽。 默认你已经安装…

lucene 入门整理

2019独角兽企业重金招聘Python工程师标准>>> 1. 概述 Lucene是一个全文检索引擎的架构&#xff0c;提供了完整的查询引擎和索引引擎。Lucene以其方便使用、快速实施以及灵活性受到广泛的关注。它可以方便地嵌入到各种应用中实现针对应用的全文索引、检索功能&am…

bits/libc-header-start.h: No such file or directory

问题描述 最近需要在debian 安装下arm和riscv的交叉工具链 sudo apt install gcc-10-riscv64-linux-gnu在安装完后使用交叉工具链编译东西时报错 orangepiorangepi4-lts:~/float-test$ riscv64-linux-gnu-gcc-10 float-cmov3.c -O2 -S In file included from float-cmov3.c:…

安卓APP开发基础

目录安卓工程构建第一个APP运行安卓的工程目录文件夹介绍安卓APP启动过程安卓布局控件布局的种类布局和页面的关系显示一张美女图显示两个美女常用布局之相对布局基础控件之Button,TextView,EditText,ImageView, padding和margin(内外边框)相对布局综合小演练-智能家居刷卡界面…

Dlib与OpenCV图片转换

re: 1. https://zhuanlan.zhihu.com/p/36489663 2. https://stackoverflow.com/questions/38180410/convert-rgb-image-to-grayscale-image-in-dlib End转载于:https://www.cnblogs.com/happyamyhope/p/9808837.html

idea怎么直接拉去git_如何将GitHub上面的项目拉取到IDEA中

上次,小喵给大家演示了一下,那么今天小喵给大家演示一下如何将GitHub上面的项目拉去到IDEA中.一 . 获取连接有两种情况 : 一种是项目未初始化 , 第二种是项目已初始化.未初始化 获取连接 :已初始化获取连接 :获得连接后我们就要去完成今天的目标啦!二 . 拉取项目到IDEA中GitHu…

jquery.ui.draggable中文文档jquery 自由拖拽类~study~

为什么80%的码农都做不了架构师&#xff1f;>>> JQuery UI Draggable插件用来使选中的元素可以通过鼠标拖动. Draggable的元素受影响css: ui-draggable, 拖动过程中的css: ui-draggable-dragging. 如果需要的不仅仅是拖, 而是一个完整的拖放功能, 请参阅JQue…

ubuntu蓝牙设备重连接慢

描述 我使用蓝牙鼠标和键盘连接到主机&#xff0c;操作系统是ubuntu 22 在使用过程中发现在主机或键盘休眠后 重连接速度很慢 解决方案 ubuntu 22 vim /etc/bluetooth/main.confFastConnectable true