`
byandby
  • 浏览: 1697759 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

android 使用WebView浏览网页

阅读更多
    比较简单了 直接上代码。
  我们的strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="hello">Hello World, MainActivity!</string>
    <string name="app_name">test_webview</string>
    <string name="et">请输入网址</string>
    <string name="btn">GO</string>
    <string name="forward">前进</string>
    <string name="back">后退</string>
</resources>


  布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    >
    	<Button
    		android:id="@+id/btnForward"
    		android:layout_width="wrap_content"
    		android:layout_height="wrap_content"
    		android:text="@string/forward"/>
    	<Button
    		android:id="@+id/btnBack"
    		android:layout_width="wrap_content"
    		android:layout_height="wrap_content"
    		android:text="@string/back"/>
    	<EditText
    		android:id="@+id/et"
    		android:layout_width="175px"
    		android:singleLine="true"
    		android:selectAllOnFocus="true"
    		android:layout_height="wrap_content"
    		android:text="@string/et"/>
    		
    	<Button
    		android:id="@+id/btn"
    		android:layout_width="wrap_content"
    		android:layout_height="wrap_content"
    		android:layout_gravity="right"
    		android:text="@string/btn"/>
	</LinearLayout>	
	<WebView
		android:id="@+id/wv"
		android:layout_width="wrap_content" android:layout_height="fill_parent"/>
</LinearLayout>


  我们的Activity类 MainActivity
package xiaohang.zhimeng;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.webkit.URLUtil;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends Activity {
	WebView wv;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		// 设置Activity显示进度条
		getWindow().requestFeature(Window.FEATURE_PROGRESS);

		setContentView(R.layout.main);
		wv = (WebView) findViewById(R.id.wv);
		wv.setWebChromeClient(new WebChromeClient() {
			@Override
			public void onProgressChanged(WebView view, int newProgress) {
				// 重写方法 设置Activity的进度条
				MainActivity.this.setProgress(newProgress * 100);
			}
		});

		wv.setWebViewClient(new WebViewClient() {
			@Override
			public void onReceivedError(WebView view, int errorCode,
					String description, String failingUrl) {
				// 重写 onReceivedError方法 创建Toast并显示
				Toast.makeText(MainActivity.this, "Sorry!" + description,
						Toast.LENGTH_LONG).show();
			}
		});

		Button btn = (Button) findViewById(R.id.btn);
		btn.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				// 获得EditText对象
				EditText et = (EditText) findViewById(R.id.et);
				// 获得地址栏输入的网址
				String url = et.getText().toString();
				// 判断是否是网址
				if (URLUtil.isNetworkUrl(url)) {
					wv.loadUrl(url);
				} else {
					Toast.makeText(MainActivity.this, "对不起, 您输入的网址有错误。",
							Toast.LENGTH_LONG).show();
					// 将焦点移动到EditText
					et.requestFocus();
				}
			}
		});
		// 设置前进按钮
		Button btnForward = (Button) findViewById(R.id.btnForward);
		btnForward.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
				// 判断是否能前进
				if (wv.canGoForward()) {
					// 进行前进跳转
					wv.goForward();
				} else {
					Toast.makeText(MainActivity.this, "对不起, 您现在不能前进。",
							Toast.LENGTH_LONG).show();
				}
			}
		});
		// 设置后退按钮
		Button btnBack = (Button) findViewById(R.id.btnBack);
		btnBack.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
				// 判断是否能够后退
				if (wv.canGoBack()) {
					// 进行后退跳转
					wv.goBack();
				} else {
					Toast.makeText(MainActivity.this, "对不起, 您现在不能后退。",
							Toast.LENGTH_LONG).show();
				}
			}
		});
	}
}

 
  运行效果如下, 前进后退 按钮都可以正常完成任务,大家注意填写 网址的时候 加上 http:







  源码
  • 大小: 16 KB
  • 大小: 14.9 KB
  • 大小: 19 KB
分享到:
评论
4 楼 droid_dfh 2012-04-11  
你这个代码有问题,输入正确的网址提示网址错误,把你判断改了一下,让他能加载网址,但是网址打不开,破代码根本有问题
3 楼 byandby 2011-12-14  
yarightok 写道
  为什么我这不能访问网络,web page not available?
  还望指教!
  等待中。。。

  加权限了吗?
2 楼 yarightok 2011-12-13  
  为什么我这不能访问网络,web page not available?
  还望指教!
  等待中。。。
1 楼 xici_magic 2011-11-30  
判断URL格式的时候  有问题  如果不加上http://会报错

相关推荐

    Android webview加载网页.zip

    通过学习和实践这些知识点,开发者可以创建出一个功能完善的WebView应用,让用户在不离开应用的情况下浏览网页,提升用户体验。对于“8.webview加载网页”这个文件,可能是具体实现这些功能的代码示例,进一步深入...

    android 使用webview控件,注意在android9.0以后必须使用https才能访问网页

    在Android应用开发中,WebView控件是一个非常重要的组件,它允许开发者在应用程序内嵌入一个浏览器,以便用户能够浏览网页内容。然而,随着网络安全性的不断提升,Android系统对WebView的使用也有了更严格的要求。在...

    Android中WebView返回到上一个网页

    通过这个简单的示例,我们可以了解到在Android中使用WebView加载网页以及处理返回键来实现回退到上一个网页的基本操作。不过,实际开发中可能还需要考虑其他因素,如网页加载进度的显示、设置自定义加载错误页面、...

    Android 基于x5Webview 浏览文件 office文档

    总之,"Android 基于x5Webview 浏览文件 office文档"涉及到的关键知识点包括:1) 集成和使用X5WebView;2) 转换Office文档为在线预览链接;3) 处理Android 11的存储权限问题;4) 实现WebView的相关交互功能,如加载...

    android使用webview加载网页

    在Android开发中,WebView是一个非常重要的组件,它允许我们在应用程序中内嵌网页内容,使得用户可以在不离开应用的情况下浏览网页。这个"android使用webview加载网页"的主题涉及到多个知识点,以下将详细介绍这些...

    Android Studio平台下使用webview开发的android浏览器

    本资源配套本人的博客文章《Android开发】Android Studio中进行简单的WebView构建浏览器开发1》和《Android开发】Android Studio中进行简单的WebView构建浏览器开发2》进行使用,实现了基本的浏览器功能:包括:输入...

    Android WebView加载网页以及本地图片缓存问题

    在Android开发中,WebView是一个非常重要的组件,它允许我们在应用程序内部加载和显示网页内容,而无需离开应用。WebView不仅能够加载远程HTTP/HTTPS网址,还能处理本地HTML、CSS和JavaScript资源,极大地增强了应用...

    android webview 加载网页 样例

    本文将深入探讨如何使用Android WebView加载网页,包括基本使用、配置设置、与JavaScript交互以及处理网络权限等问题。 一、WebView基础 1. 添加依赖 在Android Studio项目中,首先确保在`build.gradle`(Module)...

    Android WebView 实现缓存网页数据

    在Android开发中,`WebView` 是一个非常重要的组件,它允许开发者在应用程序内嵌入一个浏览器,用于显示网页内容。本篇文章将详细讲解如何利用 `WebView` 实现网页数据的缓存,使得在网络不稳定或者断开的情况下,...

    Android 获取WebView加载网页的例子.rar

    Android 获取WebView加载网页的例子,这个方法挺简单的,希望大家喜欢。  // 获取WebView对象  WebView webview = (WebView) findViewById(R.id.webview);  // 使能JavaScript  webview.getSettings()....

    android webview 版本69.0

    在Android平台上,WebView是一个至关重要的组件,它允许开发者在应用程序中嵌入网页浏览功能,而无需启动完整的浏览器应用。在给定的标题“android webview 版本69.0”中,提到的是一个特定版本的WebView,即69.0。...

    Android WebView打开网址浏览网页.rar

    Android WebView打开网址浏览网页,实现浏览器打开网页的功能,需要为WebView设置WebChromeClient,要实现这个功能,需要几个步骤:用户输入网址,将焦点移到EditText供输入,然后判断用户输入的是否是网址,是网址...

    Android利用 webview 查看阅读pdf资料( 优化)

    在Android开发中,Webview是一个强大的组件,常用于加载网页内容和实现轻量级的浏览器功能。当需要在应用中查看PDF文档时,Webview也是一个常见的选择,特别是对于在线PDF资源。本文将深入探讨如何利用Webview查看...

    android中webview加载本地页面,并处理js事件

    在Android开发中,`WebView` 是一个非常重要的组件,它允许开发者在应用程序内嵌入网页内容,实现与网页的交互。本示例“android中webview加载本地页面,并处理js事件”着重讲解如何利用`WebView`加载本地HTML页面,...

    Android 之WebView实现下拉刷新和其他相关刷新功能

    4. **优化滑动冲突**:因为WebView本身也可以滑动浏览网页,所以在SwipeRefreshLayout和WebView之间可能存在滑动冲突。可以通过重写WebView的`onInterceptTouchEvent`和`onTouchEvent`方法来解决这个问题,确保下拉...

    android中webview图片点击及图片手势操作

    在Android开发中,WebView是一个非常重要的组件,它允许我们在应用程序中内嵌网页内容,实现与网页的交互。本文将深入探讨如何在Android的WebView中处理图片点击事件以及实现图片的手势操作,同时介绍JavaScript交互...

    Android-webview缓存

    在Android开发中,Webview是一个非常重要的组件,它允许我们在应用程序内部嵌入网页内容,提供类似于浏览器的功能。本文将深入探讨如何在Android的Webview中实现缓存功能,包括指定缓存目录、设置缓存时间等关键知识...

    Android中WebView拿到当前的网址和上一页面的网址

    在Android应用开发中,WebView是一个非常关键的组件,它允许我们在应用程序内部加载和显示网页内容。这个组件在很多场景下都非常实用,比如嵌入网页应用、阅读器或者实现简单的浏览器功能。在实际开发中,有时我们...

    动态设置android webview字体大小DEMO

    在Android中,我们可以通过`WebView`类创建一个可以浏览网页的视图。创建WebView后,可以通过加载URL或HTML字符串来显示网页内容: ```java WebView webView = new WebView(this); webView.loadUrl(...

Global site tag (gtag.js) - Google Analytics