Android访问网页的两种方式

来源:互联网 发布:sql删除重复保留唯一 编辑:程序博客网 时间:2024/06/08 16:49

目录

      • 目录
  • 两种打开网页的简单方式
    • 一调用浏览器显示
      • 调用系统默认浏览器访问
      • 调用指定浏览器访问
    • 二在Activity中直接访问WebView显示
      • 在AndroidManifestxml文件里添加网络访问权限
      • 在布局文件里添加一个WebView控件
      • 在Activity中实例化WebView对象并实现访问网页

两种打开网页的简单方式

访问网页是APP最常用的功能,正如大家所知,加载和显示网页通常都是由浏览器来完成的,所以打开网页的最简单的方法就是调用手机系统浏览器。然而大部分时候用户的需求里明确指出,不允许打开系统浏览器。Android考虑到这种需求,提供了一个WebView控件,省去了重新编写一个浏览器的麻烦。先说明下这两种打开方式:


(一)调用浏览器显示

1.调用系统默认浏览器访问

隐式调用Intent,指定Intent的action是Intent.ACTION_VIEW;

Intent intent =new Intent(Intent.ACTION_VIEW);Uri uri = Uri.parse("http://www.baidu.com");intent.setData(url);startActivity(intent);

2.调用指定浏览器访问

调用指定的浏览器(前提得安装在设备上^-^),需要用intent.setClassName()来指定packgename和主启动activity:

Intent intent =new Intent(Intent.ACTION_VIEW);intent.setData(Uri.parse("http://www.baidu.com"));intent.setClassName("com.android.browser","com.android.browser.BrowserActivity");startActivity(intent);

目前的浏览器不说多如牛毛,常见的也有不少了,每个人的偏好肯定都不一样,需要启用其他的浏览器的话,只需要修改以下相应的packagename和主启动activity就能够调用其他浏览器

intent.setClassName("packagename","主启动activity");

这里先出一些常见浏览器的包名和主活动参数:

uc浏览器":"com.uc.browser", "com.uc.browser.ActivityUpdate“opera浏览器:"com.opera.mini.android", "com.opera.mini.android.Browser"qq浏览器:"com.tencent.mtt", "com.tencent.mtt.MainActivity"

(二)在Activity中直接访问(WebView显示)

1.在AndroidManifest.xml文件里添加网络访问权限

磨刀不误砍柴工,准备工作需要做好,我们使用WebView的最终目的是打开一个网页,而android中访问网络是需要声明权限的,所以我们需要修改一下AndroidManifest.xml文件,加入权限声明:

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

2.在布局文件里添加一个WebView控件

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

3.在Activity中实例化WebView对象并实现访问网页

WebView webView = (WebView) findViewById(R.id.web_view);webView.getSettings().setJavaScriptEnabled(true);webView.setWebViewClient(newWebViewClient());webView.loadUrl("http://www.baidu.com")

首先使用findViewById()获取WebView的实例,在调用WebView的getSettings()方法设置浏览器的属性,上面的代码只是简单调用了setJavaScriptEnabled()方法让WebView支持JavaScript脚本。接着调用setWebViewClient()方法传入一个WebViewClient实例,这段代码保证了在网页跳转中仍然让内容出现在我们的WebView控件中,而不是打开系统的浏览器。最后调用loadUrl()并传入网址,就能将相应的网页展示出来了。

后记:关于WebView的属性的详细解析过段时间再贴出来,需要再好好研究。。

原创粉丝点击