Android开发之网页浏览器(WebView的使用)
来源:互联网 发布:微信js获取signature 编辑:程序博客网 时间:2024/05/17 03:23
本实例主要介绍WebView的使用,WebView的详解可参考Android开发之WebView详解。
本实例主要实现了:浏览器可以打开指定网页,可以加载assets目录下的本地网页,并且可以通过回退键查看上一个网页。
程序运行效果图:
程序代码:
- package com.jph.simplebrowser;
- import android.os.Bundle;
- import android.app.Activity;
- import android.app.AlertDialog;
- import android.content.DialogInterface;
- import android.content.DialogInterface.OnClickListener;
- import android.view.KeyEvent;
- import android.view.Menu;
- import android.webkit.WebSettings;
- import android.webkit.WebView;
- import android.webkit.WebViewClient;
- /**
- * Describe:</br>
- * 简单网页浏览器
- * 本实例可以打开指定网页,并且可以加载assets目录下的本地网页
- * @author JPH
- * Date:2014.08.03
- * */
- public class SimpleBrowser extends Activity {
- WebView webView;
- //声明一个WebView辅助类
- WebSettings wSettings;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- webView=(WebView)findViewById(R.id.webView);
- //获取WebSettings对象
- wSettings=webView.getSettings();
- //启用触控缩放
- wSettings.setBuiltInZoomControls(true);
- //启用支持视窗meta标记(可实现双击缩放)
- wSettings.setUseWideViewPort(true);
- //以缩略图模式加载页面
- wSettings.setLoadWithOverviewMode(true);
- //启用JavaScript支持
- wSettings.setJavaScriptEnabled(true);
- //设置将接收各种通知和请求的WebViewClient(在WebView加载所有的链接)
- webView.setWebViewClient(new WebViewClient());
- //设置默认加载的网页
- webView.loadUrl("http://www.baidu.com/");
- //加载本地assets目录下的的html,也可以是网络上的文件
- // webView.loadUrl("file:///android_asset/win8_Demo/index.html");
- }
- @Override
- public boolean onKeyDown(int keyCode, KeyEvent event) {
- // TODO Auto-generated method stub
- switch (keyCode) {
- case KeyEvent.KEYCODE_BACK://处理返回键事件
- if (webView.canGoBack()) {
- webView.goBack();//让WebView回退到上一个网页
- return true;
- }else {//如果WebView不能回退
- //提示应用是否退出程序
- new AlertDialog.Builder(SimpleBrowser.this).setTitle("提示")
- .setMessage("确定退出浏览器吗?").setPositiveButton("确定", new OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- // TODO Auto-generated method stub
- SimpleBrowser.this.finish();//退出程序
- }
- }).setNegativeButton("取消",null).show();
- }
- break;
- case KeyEvent.KEYCODE_SEARCH://当
- // webView.loadUrl("");
- break;
- default:
- break;
- }
- return false;
- }
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- // Inflate the menu; this adds items to the action bar if it is present.
- getMenuInflater().inflate(R.menu.simple_browser, menu);
- return true;
- }
- }
布局文件:main.xml
- <WebView xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- android:id="@+id/webView"
- android:layout_width="match_parent"
- android:layout_height="match_parent" >
- </WebView>
- <!-- 添加使用网络的权限 -->
- <uses-permission android:name="android.permission.INTERNET"/>
0 0
- Android开发之网页浏览器(WebView的使用)
- Android开发之网页浏览器(WebView的使用)
- android简单网页浏览器的开发
- Android开发之WebView的开发使用(源代码分享)
- Android开发之WebView的使用
- Android开发 之 WebView的使用
- Android开发之WebView的使用(1)
- Android开发之WebView的使用(2)
- Android 开发之webview使用
- android开发之WebView使用
- WebView(网页浏览器)
- Android开发之WebView组件的使用详解
- Android开发之WebView组件的使用详解
- Android开发之WebView组件的使用详解
- Android开发之WebView组件的使用解析
- Android之WebView的使用
- Android之WebView的使用
- Android网页浏览器开发详解(一)
- 【POJ】2584 T-Shirt Gumbo 最大流
- linux下socket编程IO多路复用select模型
- 三、odataproducer代码改写
- 解决循环操作ObjectInputStream的readObject()方法的EOF异常
- Samsung/三星 G110B root教程_方法
- Android开发之网页浏览器(WebView的使用)
- Maven学习 (六) 搭建多模块企业级项目
- Win32 网络编程
- leetCode single number解题分享
- javascript中的错误
- python学习_入门(2)
- (老罗)Android帧缓冲区(Frame Buffer)硬件抽象层(HAL)模块Gralloc的实现原理分析
- hdu 4901 The Romantic Hero (dp+背包问题)
- poj 2886 Who Gets the Most Candies?(数据结构:线段树+DFS反素数打表)