在要浏览网页的时候,第一种我们可以通过Intent来使用自带的浏览器,第二种可以通过WebView这个控件来浏览。

第一种很简单,直接看代码:

Uri uri = Uri.parse("http://www.baidu.com/");
Intent launchBrowser = new Intent(Intent.ACTION_VIEW, uri);
startActivity(launchBrowser);

第二种就稍微复杂点

首先我们要对WebView这个控件有一个XML布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"><WebViewandroid:id="@+id/webView"android:layout_width="match_parent"android:layout_height="match_parent"/></RelativeLayout>

在OnCreate方法中加载这个控件,并设置一些参数:

webView = (WebView) findViewById(R.id.webView); //加载WebView
webView.getSettings().setJavaScriptEnabled(true); //设置设否支持JavaScript
webView.loadUrl("http://www.baidu.com/");  //加载地址
webView.setWebViewClient(new WebViewClient() {@Overridepublic boolean shouldOverrideUrlLoading(WebView view, String url) {view.loadUrl(url);return true;}
}); //设置浏览

如果要使用WebView来访问网络,则还需要一个权限:

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

这样,一个简单的访问web的小程序就做好了。

当然,简单的这样并不能满足,我们还需要加一点功能。。。

首先我们要对回退键进行一下处理:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {if((keyCode == KeyEvent.KEYCODE_BACK)) {if(webView.canGoBack())webView.goBack();elsefinish();return true;}return false;
}

这样做的目的,是为了每次按回退键之后都返回到前一个页面,如果不这么做,就相当于回退一个activity,这个本身就一个activity,按回退之后就相当于把这个activity给销毁掉了,因此,要加上以上这些代码。

我们知道,浏览器的上方都有一个输入地址的地方,我们也给加上去,先修改一下XML布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"><EditTextandroid:id="@+id/et_address"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_above="@+id/webView"android:layout_toLeftOf="@+id/btn_go"android:layout_alignParentLeft="true"android:layout_alignParentStart="true" /><Buttonandroid:id="@+id/btn_go"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="GO"android:layout_alignParentTop="true"android:layout_alignParentRight="true"/><WebViewandroid:id="@+id/webView"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_alignParentBottom="true"android:layout_below="@+id/btn_go" /></RelativeLayout>

多了个EditText和Button控件,对这两个控件作如下处理:

et_address = (EditText) findViewById(R.id.et_address);
et_address.setText("http://www.baidu.com/");
btn_go = (Button) findViewById(R.id.btn_go);btn_go.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {String address = et_address.getText().toString();if(!address.startsWith("http://")) {address = "http://" + address;} // 如果不以http://开头,识别不了,所以判断webView.loadUrl(address);et_address.setText(address);}
});

好了,到此为止,一个普通的浏览器就完成了,当然WebView这个控件还有很多可以设置的属性,我就不一一介绍了。

The End~

Android之WebView的使用与简单浏览器相关推荐

  1. android 浏览器源码分析,android webview 简单浏览器实现代码

    文件main.java package com.HHBrowser.android; import android.app.Activity; import android.os.Bundle; im ...

  2. WebView详解与简单实现Android与H5互调

    为什么要学习Android与H5互调? 微信,QQ空间等大量软件都内嵌了H5,不得不说是一种趋势.Android与H5互调可以让我们的实现混合开发,至于混合开发就是在一个App中内嵌一个轻量级的浏览器 ...

  3. android封装浏览器,android利用WebView实现浏览器的封装

    android提供了封装浏览器的接口,可以让开发者利用自己的view显示网页内容.今天又实现研究了一下,利用WebView显示浏览器内容,还可以利用 WebViewClient显示自己需要的内容. 效 ...

  4. android webview 弹出浏览器,android – 防止WebView打开浏览器

    我已经为给定的WebView启用了JavaScript,并在WebView中打开了新链接,而不是在浏览器中. 这是主要活动 package com.Afrogfx.pronouns; import a ...

  5. 如何在浏览器中调试Android的WebView

    如何在浏览器中调试Android的WebView 一.在Android中设置允许调试 在加载WebView的Activity的onCreate中添加代码:该步骤是开启WebView的调试模式,不开启则 ...

  6. Android接入WebView(四)——浏览器书签与历史记录详细处理

    Android接入WebView(一)--基本用法 Android接入WebView(二)--与JavaScript交互 Android接入WebView(三)--浏览器书签与历史记录与二维码分享 A ...

  7. android 设置webview的浏览器标识 User-Agent

    为了便于WEB端统计分析,需要将APP的 user-agent 作特征标记,所以搜索了一下android对webview的User-Agent设置方法,具体如下: // 修改ua使得web端正确判断 ...

  8. android的webView的教程,Android WebView 应用界面开发教程

    WebView组件本身就是一个浏览器实现,Android5.0增强的WebView基于Chromium M37,直接支持WebRTC.WebAudio.WebGL.开发者可以直接在WebView中使用 ...

  9. android webview调js方法,Android中WebView与H5的交互,Native与JS方法互调

    项目中经常用到WebView与H5的交互,一个是H5调本地方法,一个是本地调H5方法,在此记录一下. 首先,启用JS支持 //启用js支持 webSettings.setJavaScriptEnabl ...

最新文章

  1. eclipse No projects are found to import 的解决
  2. 经验之谈——送给年轻的职场人
  3. vue 多个filters_vue自定义filters过滤器
  4. 面试官系统精讲Java源码及大厂真题 - 14 简化工作:Guava Lists Maps 实际工作运用和源码
  5. CSS文本溢出的处理方法总结
  6. 织梦5.7生成HTML很慢,Dedecms 生成静态网页速度特别慢的问题
  7. linux扫描目标主机开放端口
  8. Android知识散点
  9. ARMv8的OP-TEE源代码的获取和编译
  10. Spark SQL 执行计划详解
  11. 【KITTI】KITTI数据集简介(一) — 激光雷达数据
  12. Axure 画原型图
  13. 线上问题处理1---CPU飙高问题定位
  14. p50 p51 p52 p53
  15. Zuul(一)网关和路由
  16. Java容器深度总结:Java容器整体结构
  17. ker矩阵是什么意思_直观理解!你一定要读一下的“矩阵和线性代数入门”
  18. python网络爬虫——使用selenium抓取东方财富网上市公司公告
  19. python中arch模块_在Arch下安装pip
  20. 怎么样在3个月左右从0基础成为一个独立完成项目的工程师?

热门文章

  1. 修改gh-ost源码实现两表在线高速复制
  2. android应用程序安全 pdf,Android应用安全开发.PDF
  3. php 获取扩展模块信息,查看PHP opcode扩展模块及Web服务
  4. 十分钟写一个基于springboot+vue+redis+mysql的银行转账与用户后台管理系统,redis实现用户登录与缓存
  5. 用计算机完成下表的视距测量计算公式,2012测量学计算题库及参考答案
  6. ISTQB初级认证-知识点及脑图总结
  7. vue实现调查问卷一页一题,上一题下一题形式
  8. 《从零构建前后分离的web项目》:前端完善 - 手把手教你快速构建网站布局
  9. 重写equals()方法
  10. LearnOpenGL 入门—摄像机