Android 网络功能很强大,WebView组件支持直接加载网页的功能。
要实现该功能的步骤如下:
1.在布局文件中声明WebView。
2.在activity中实例化WebView。
3.调用WebView 的loadUrl()方法加载指定的Url地址网页。
4.在清单文件中添加访问互联网的权限:
<uses-permission android:name="android.permission.INTERNET" />
XML文件:
<?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
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/url_field"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1.0"
android:lines="1"
android:inputType="textUri"
android:imeOptions="actionGo" />
<Button
android:id="@+id/go_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/go_button" />
</LinearLayout>
<WebView
android:id="@+id/web_view"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1.0" />
</LinearLayout>
JAVA代码如下:
package com.liu;
import android.app.Activity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnKeyListener;
import android.webkit.WebView;
import android.widget.Button;
import android.widget.EditText;
public class webView extends Activity {
private EditText urlText;
private Button goButton;
private WebView webView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
urlText = (EditText) findViewById(R.id.url_field);
goButton = (Button) findViewById(R.id.go_button);
webView = (WebView) findViewById(R.id.web_view);
goButton.setOnClickListener(new OnClickListener() {
public void onClick(View view) {
openBrowser();
}
});
urlText.setOnKeyListener(new OnKeyListener() {
public boolean onKey(View view, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_ENTER) {
openBrowser();
return true;
}
return false;
}
});
}
private void openBrowser() {
//设置Webview属性,使能够执行JavaScript脚本
webView.getSettings().setJavaScriptEnabled(true);
//加载Url的内容
webView.loadUrl(urlText.getText().toString());
}
/**
// public boolean onKeyDown(int keyCode,KeyEvent event){
// if((keyCode==KeyEvent.KEYCODE_BACK)&& webView.canGoBack()){
// webView.goBack();
// return true;
// }
// return super.onKeyDown(keyCode, event);
//
// }
*/
}
运行结果如下: