Android:WebView(慕课网)

mainactivity:

package com.imooc.android_webview;

import android.app.Activity;
import android.app.ActionBar;
import android.app.Fragment;
import android.app.ProgressDialog;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Toast;
import android.os.Build;

public class MainActivity extends Activity {

	private String url = "http://2014.qq.com/";
	private WebView webView;
    private ProgressDialog dialog;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.web);
		// Uri uri = Uri.parse(url); //url为你要链接的地址
		// Intent intent =new Intent(Intent.ACTION_VIEW, uri);
		// startActivity(intent);
		init();
	}

	private void init() {
		// TODO Auto-generated method stub
		webView = (WebView) findViewById(R.id.webView);
		// WebView加载本地资源
		// webView.loadUrl("file:///android_asset/example.html");
		// WebView加载web资源
		webView.loadUrl(url);
		// 覆盖WebView默认通过第三方或者是系统浏览器打开网页的行为,使得网页可以在WebVIew中打开
		webView.setWebViewClient(new WebViewClient(){

			@Override
			public boolean shouldOverrideUrlLoading(WebView view, String url) {
				// TODO Auto-generated method stub
				//返回值是true的时候控制网页在WebView中去打开,如果为false调用系统浏览器或第三方浏览器去打开
				view.loadUrl(url);
				return true;
			}
			//WebViewClient帮助WebView去处理一些页面控制和请求通知

		});
		//启用支持JavaScript
		WebSettings settings = webView.getSettings();
		settings.setJavaScriptEnabled(true);
		//WebView加载页面优先使用缓存加载
		settings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
		webView.setWebChromeClient(new WebChromeClient(){

			@Override
			public void onProgressChanged(WebView view, int newProgress) {
				// TODO Auto-generated method stub
                //newProgress 1-100之间的整数
				if(newProgress==100)
				{
					//网页加载完毕,关闭ProgressDialog
					closeDialog();
				}
				else
				{
					//网页正在加载,打开ProgressDialog
					openDialog(newProgress);
				}
			}

			private void closeDialog() {
				// TODO Auto-generated method stub
                  if(dialog!=null&&dialog.isShowing())
                  {
                	     dialog.dismiss();
                	     dialog=null;
                  }
			}

			private void openDialog(int newProgress) {
				// TODO Auto-generated method stub
				if(dialog==null)
				{
					dialog=new ProgressDialog(MainActivity.this);
					dialog.setTitle("正在加载");
					dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
					dialog.setProgress(newProgress);
					dialog.show();

				}
				else
				{
					dialog.setProgress(newProgress);
				}

			}
		});

	}

	//改写物理按键——返回的逻辑
	@Override
	public boolean onKeyDown(int keyCode, KeyEvent event) {
		// TODO Auto-generated method stub
		if(keyCode==KeyEvent.KEYCODE_BACK)
		{
			//Toast.makeText(this, webView.getUrl(), Toast.LENGTH_SHORT).show();
			if(webView.canGoBack())
			{
				webView.goBack();//返回上一页面
				return true;
			}
			else
			{
				System.exit(0);//退出程序
			}
		}
		return super.onKeyDown(keyCode, event);
	}

}

  

时间: 2024-10-29 21:28:18

Android:WebView(慕课网)的相关文章

慕课网《Android智能机器人“小慕”的实现》项目上手操作与代码解读【1】

慕课网是我所找到的免费教程网站之一(http://www.imooc.com/),上面的项目设计前端.后端.移动开发等很多领域,个人感觉如果对编程感兴趣的话,慕课网绝对是上手项目的最佳选择.这个网站给出的一些项目都很新颖,比一些书上给的不知道沿用了多少年的项目新颖多了,而且在学习的时候如果发现问题可以给老师留言,然后老师都会一一回复.并且每一个项目都会附有源代码及一些资源,如果跟不上老师进度的话可以自己down下来仔细研究.好了,对慕课网我就介绍这么多吧. 因为本人曾经在大三暑假的时候自学过一点

Android酷炫欢迎页播放视频,仿蚂蜂窝自由行和慕课网

转载请注明出处:http://blog.csdn.net/linglongxin24/article/details/53115253 本文出自[DylanAndroid的博客] Android酷炫欢迎页播放视频,仿蚂蜂窝自由行和慕课网 今天无意间看到了蚂蜂窝自由行的app,启动页很酷炫.我记得以前慕课网有个版本的app欢迎页也是播放视频的.今天就顺手写一个,代码比较简单,高手请略过. 先看效果图: 一.资源准备 三个比较短小的视频:视频下载 二.开始编写代码 1.在项目的res下新建一个raw

安卓开发_慕课网_Fragment实现Tab(App主界面)

学习内容来自“慕课网” 这里用Fragment来实现APP主界面 思路: 底部横向排列4个LinearLayout,每个LinearLayout包含一个图片按钮和一个文字 1.默认显示第一个功能(微信)的图标为亮,其他三个为暗 2.点击相应的按钮,首先将所有的图标变暗,接着隐藏所有Fragment,再把点击的对应的Fragment显示出来,并把相应的图标显示亮 首先布局文件 activity_main.xml与ViewPager实现Tab的是不一样的 1 <LinearLayout xmlns:

Android WebView学习

Android WebView学习 权限: <uses-permission android:name=“android.permission.INTERNET” /> 在WebView中使用JavaScript WebView myWebView = (WebView) findViewById(R.id.webview);WebSettings webSettings = myWebView.getSettings();webSettings.setJavaScriptEnabled(tr

慕课网主页

<!doctype html> <html> <head> <meta charset="utf-8"> <title>网站导航</title> <link href="main.css" rel="stylesheet" type="text/css"> <!--焦点图设置--> <script src="http

夜空中最亮的星:慕课网新手学习指南_慕课手记

首先标题是为了凑够标准的十个字,如果你这会去数了一下然后想评论说不是十个字,那我佩服你的求知精神...进来的肯定不是看我瞎扯淡的,我们步入正题. 慕课网作为国内不能说是最大,但是起码口碑最好的一个IT学习的网站,受到了很多人的欢迎,但是在推荐给朋友的过程中,我就发现了一些问题,那就是纯小白根本不知道怎么开始学习.这里我要说一下什么叫做纯小白,你以为不知道变量,命令提示符,HTTP协议,这些就是小白了吗?那你就错了,我今天要说的是连怎么设置IP地址,怎么设置百度为首页,连自己的操作系统是winxp

android WebView详解,常见漏洞详解和安全源码

这篇博客主要来介绍 WebView 的相关使用方法,常见的几个漏洞,开发中可能遇到的坑和最后解决相应漏洞的源码,以及针对该源码的解析. 由于博客内容长度,这次将分为上下两篇,上篇详解 WebView 的使用,下篇讲述 WebView 的漏洞和坑,以及修复源码的解析. 下篇:android WebView详解,常见漏洞详解和安全源码(下) 转载请注明出处:http://blog.csdn.net/self_study/article/details/54928371. 对技术感兴趣的同鞋加群 54

安卓开发_慕课网_百度地图_实现定位

学习内容来自“慕课网” 在上一学习内容的基础上改进代码,需要学习定位功能的同学请先将我的上一篇百度地图基础的学习一下 http://www.cnblogs.com/xqxacm/p/4337054.html 第一次学习百度地图的定位功能,理解不深,相应注释都在代码中写出了 MainActivity.java 1 package com.example.map; 2 3 import com.baidu.location.BDLocation; 4 import com.baidu.locatio

安卓开发_慕课网_百度地图

学习内容来自“慕课网” 百度地图sdk下载 http://developer.baidu.com/ http://bbs.lbsyun.baidu.com/forum.php?mod=viewthread&tid=9554&extra=page%3D1 1.获取秘钥 应用名称随便写,应用类型:android sdk 这里有一个 安全码  百度给了提示:Android SDK安全码组成:数字签名+;+包名. 数字签名获取方法:点击菜单栏最后面的Window 里面的最后一个 Preferenc