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><WebViewandroid: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;@Overridepublic 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() {@Overridepublic void onProgressChanged(WebView view, int newProgress) {// 重写方法 设置Activity的进度条MainActivity.this.setProgress(newProgress * 100);}});wv.setWebViewClient(new WebViewClient() {@Overridepublic 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() {@Overridepublic 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();// 将焦点移动到EditTextet.requestFocus();}}});// 设置前进按钮Button btnForward = (Button) findViewById(R.id.btnForward);btnForward.setOnClickListener(new OnClickListener() {@Overridepublic 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() {@Overridepublic void onClick(View v) {// 判断是否能够后退if (wv.canGoBack()) {// 进行后退跳转wv.goBack();} else {Toast.makeText(MainActivity.this, "对不起, 您现在不能后退。",Toast.LENGTH_LONG).show();}}});}}运行效果如下, 前进后退 按钮都可以正常完成任务,大家注意填写 网址的时候 加上 http:



源码1 楼 xici_magic 2011-11-30 判断URL格式的时候 有问题 如果不加上http://会报错 2 楼 yarightok 2011-12-13 为什么我这不能访问网络,web page not available?
还望指教!
等待中。。。 3 楼 byandby 2011-12-14 yarightok 写道 为什么我这不能访问网络,web page not available?
还望指教!
等待中。。。
加权限了吗? 4 楼 droid_dfh 2012-04-11 你这个代码有问题,输入正确的网址提示网址错误,把你判断改了一下,让他能加载网址,但是网址打不开,破代码根本有问题