src文件夹下java代码——Web.java:
//省略导包内容... 下载运行后添加一下就行了
public class Web extends Activity {
WebView web;
ProgressBar buffer;
String urlInputs;
/*
* 功能概要: 1.用WebView控件实现简单浏览器的开发 2.实现了网页浏览器的简单功能。 3.能够浏览网页中的所有内容,但不支持视频的播放。
*
*
* 开发步骤: 1.在XML布局 添加 WebView组件 和 圆形网页缓冲进度组件 2.java代码 中取到 组件 3.为web组件添加主页 网址
* 设置 setWebViewClient 4.添加 ProgressBar进度条 3种状态 的方法并设置相应的操作 5.在清单文件里 设置上网权限
*
* 编程要点: 1.使用WebView控件,用于网页的显示 2.设置WebView的属性,使其支持更多的功能
* 3.当用户点击网页中的链接,仍然用该网页加载 4.设置权限,使app具有上网权限。 5.Activity的布局等。
*/
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_web);
// 重 XML布局 中 获取 控件 ID
Button go = (Button) findViewById(R.id.go);
Button back = (Button) findViewById(R.id.back);
Button homepage = (Button) findViewById(R.id.homepage);
web = (WebView) findViewById(R.id.web);
buffer = (ProgressBar) findViewById(R.id.buffer);
// 设置WebView属性,能够执行Javascript脚本
web.getSettings().setJavaScriptEnabled(true);
web.loadUrl("http://123hw.com/"); // 设置打开的第一个页面(主页):123好网址
// 为按键 绑定 监听器
// 用户输入网址 go 转到 按钮 点击 事件
go.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
//不明白 下面这条 语言 放在 这里不是 每点击一次 都要执行一次
EditText urlInput = (EditText) findViewById(R.id.urlInput);
urlInputs = String.valueOf(urlInput.getText()); //获取用户输入的网址
// urlInputs="http://e.zhlzw.com/";
System.out.println("您将访问..."+ urlInputs);
urlInputs="http://"+ urlInputs;
// System.out.println("您将访问..."+ urlInputs);
web.loadUrl(urlInputs);
//web.setWebViewClient(new WebViewClient(){
//
//@Override
//public boolean shouldOverrideUrlLoading(WebView view,
//String url) {
//// TODO Auto-generated method stub
//view.loadUrl(urlInputs);
//return super.shouldOverrideUrlLoading(view, url);
//}
//
//});
}
});
//返回 按钮 点击事件
back.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
web.goBack();
System.out.println("您点击了返回按钮");
}
});
//主页 按钮 点击事件
homepage.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
web.loadUrl("http://123hw.com/");
System.out.println("您点击了主页按钮");
}
});
web.setWebViewClient(new WebViewClient() {
// @Override
// public boolean shouldOverrideUrlLoading(WebView view, String url)
// {
// // TODO Auto-generated method stub
//
// view.loadUrl("http://e.zhlzw.com/");
// System.out.println("程序 走到 此处,测试 网址 是否访问");
// return super.shouldOverrideUrlLoading(view, url);
// }
// 网页加载 完成 圆形缓冲图标消失
@Override
public void onPageFinished(WebView view, String url) {
// TODO Auto-generated method stub
super.onPageFinished(view, url);
buffer.setVisibility(android.view.View.GONE);
}
// 网页加载 开始 圆形缓冲图标转动
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
// TODO Auto-generated method stub
super.onPageStarted(view, url, favicon);
buffer.setVisibility(android.view.View.VISIBLE);
}
// 网页加载 失败 圆形缓冲图标转动
@Override
public void onReceivedError(WebView view, int errorCode,
String description, String failingUrl) {
// TODO Auto-generated method stub
super.onReceivedError(view, errorCode, description, failingUrl);
buffer.setVisibility(android.view.View.VISIBLE);
}
});
}
// class onclik implements OnClickListener {
//
// @Override
// public void onClick(View arg0) {
// // TODO Auto-generated method stub
// switch (arg0.getId()) {
// case R.id.go:
//
// //不明白 下面这条 语言 放在 这里不是 每点击一次 都要执行一次
// EditText urlInput = (EditText) findViewById(R.id.urlInput);
// urlInputs = String.valueOf(urlInput.getText()); //获取用户输入的网址
// System.out.println("您点击了转到按钮...");
// break;
// case R.id.back:
//
// break;
//
// default:
// break;
// }
// }
//
// }
//
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if (keyCode == KeyEvent.KEYCODE_BACK && web.canGoBack()) {
web.goBack();
System.out.println("您点击了后退");
return true;
}
return super.onKeyDown(keyCode, event);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.web, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
switch (item.getItemId()) {
case R.id.exit:
finish();
break;
default:
break;
}
return super.onOptionsItemSelected(item);
}
}
res文件夹下 layout布局XML——activity_web.xml :
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/LinearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".Web" >
<ProgressBar
android:id="@+id/buffer"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="horizontal" >
<EditText
android:id="@+id/urlInput"
android:layout_width="280dp"
android:layout_height="wrap_content"
android:layout_weight="5"
android:ems="10" />
<Button
android:id="@+id/go"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="go" />
</LinearLayout>
<WebView
android:id="@+id/web"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="9" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:orientation="horizontal" >
<Button
android:id="@+id/back"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="back" />
<Button
android:id="@+id/homepage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="homepage" />
</LinearLayout>
</LinearLayout>
安卓 清单文件 AndroidManifest.xml :
添加如下权限
<uses-permission
android:name="android.permission.ACCESS_WIFI_STATE"
/>
<uses-permission
android:name="android.permission.ACCESS_NETWORK_STATE"
/>
<uses-permission
android:name="android.permission.INTERNET"
/>
// 项目源码 网盘下载地址