android 手机上浏览网页
来源:互联网 发布:淘宝上如何找牙签弩 编辑:程序博客网 时间:2024/05/06 14:25
有时候经常要在手机上浏览网页,今天就写一个在手机上简单地浏览指定网页,当加载网页时以进度条的形式来提示,网页加载完进度条自动取消。
效果图如下:
egomarker.xml 的源码如下:
在这个布局文件里,我只定义了一个WebView组件
<?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" ><WebView android:id="@+id/myWebView"android:layout_width="fill_parent"android:layout_height="fill_parent" /></LinearLayout>
接下来是主Activity的源代码:
当加载网页完毕时,取消进度提示框是自定义一个继承自 WebViewClient 这个类,并重写它的 onPageFinished()方法,顾名思义就是网页加载完毕后要执行的动作,这里是直接取消进度提示框。如果访问的页面中有Javascript,则WebView必须设置支持 Javascript,即:webview.getSettings().setJavaScriptEnabled(true); 如果触摸焦点起作用,则要设置 requestFocus(); 假如没设置,则在点击网页文本输入框时,不会弹出软键盘及不响应其他的一些事件。
package com.android.geo;import android.app.Activity;import android.app.AlertDialog;import android.app.ProgressDialog;import android.content.DialogInterface;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.view.KeyEvent;import android.webkit.WebSettings;import android.webkit.WebView;import android.webkit.WebViewClient;public class EgoMarket extends Activity {private final static int FIRST = 1; private WebView myWebView; // WebView组件private ProgressDialog p_dialog;@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stub super.onCreate(savedInstanceState);this.setContentView(R.layout.geomarket);// 调用属性方法findViews();setWeb();};// 加载完毕取消进度条private class myWebViewClient extends WebViewClient {@Overridepublic void onPageFinished(WebView view, String url) {// TODO Auto-generated method stubp_dialog.dismiss();super.onPageFinished(view, url);}}// 取得属性的方法private void findViews() {myWebView = (WebView) findViewById(R.id.myWebView);}// 当用户在首Activity点击返回键时,提示用户是否退出@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {// TODO Auto-generated method stubif(keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount()==0){new AlertDialog.Builder(EgoMarket.this).setTitle("退出").setMessage("您确认要退出吗?").setPositiveButton("确认", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubfinish();}}).setNegativeButton("取消", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubdialog.dismiss();}}).show();}return super.onKeyDown(keyCode, event);}public void setWeb() {new Thread(new Runnable() {public void run() {Message message = new Message();message.what = FIRST;handler.sendMessage(message);}}).start();}Handler handler = new Handler() {@Overridepublic void handleMessage(Message msg) {switch (msg.what) {case FIRST:// 创建一个进度条p_dialog = new ProgressDialog(EgoMarket.this);// 设置进度条风格,圆形,旋转的p_dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);// 设置 ProgressDialog 标题p_dialog.setTitle("提示");// 设置 ProgressDialog 图标p_dialog.setIcon(R.drawable.icon);// 设置 ProgressDialog 提示信息p_dialog.setMessage("正在加载中....");// 设置 ProgressDialog 的进度是否不明确p_dialog.setIndeterminate(false);// 设置 ProgressDialog 是否可以按退回按键取消p_dialog.setCancelable(true);p_dialog.setButton("取消", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// 点击确定,取消对话框dialog.cancel();finish();}});// 让ProgressDialog显示p_dialog.show();String strUrl = "http://www.chinaego.com.cn/cn/index.asp";// myWebView.loadUrl(strUrl);WebSettings settings = myWebView.getSettings();// 设置支持javaScript脚本语言settings.setJavaScriptEnabled(true);settings.setSupportZoom(true);settings.setBuiltInZoomControls(true);// 这里是支持flash的相关设置settings.setPluginState(WebSettings.PluginState.ON);myWebView.loadUrl(strUrl);myWebView.setWebViewClient(new myWebViewClient());break;default: break;}super.handleMessage(msg);}};}
最后记得要在 AndroidManifest.xml 添加权限 :
<uses-permission android:name="android.permission.INTERNET" />
否则会出Web page not available错误
这样就可要正确访问你所指定的网页了
- android 手机上浏览网页
- 电脑上浏览手机版网页
- Android手机上浏览网页不可缩放,适应屏幕。iPhone手机显示网页,字体等变小了,解决方法
- 在相关网站首页加载到手机上浏览网页
- 网页如何做到适应在手机上浏览
- web网页在手机上浏览排版出错的问题
- 谷歌chrome模拟手机浏览网页:iPhone/Android
- 手机浏览网页页面缩放
- 教你用User Agent Switcher火狐插件在电脑上浏览手机版网页
- 判断一个网页是否适合手机浏览
- 开启手机网页浏览,选择性放弃wap
- 制作适合手机浏览的网页
- 手机浏览网页,则跳转页面
- Android使用WebView浏览网页
- 能上QQ,不能浏览网页
- 用Chrome调试Android手机上的网页
- 手机上的android程序如何连接上电脑上Tomcat网页并访问网络
- 用Chrome和firefox浏览器模拟手机浏览器浏览网页
- kvm-libvirt的使用:创建虚拟机与快照
- poj水题
- 五种非线性滤波
- Win32线程之杀死C++对象
- Oracle 10g配置dbstart实现开机自启动
- android 手机上浏览网页
- Skyeye 源码编译
- Qt核心剖析: moc
- OpenGL ES绘制3D图形
- Silverlight Toolkit --- AutoCompleteBox的用法
- TI的davinci和omap资源
- 我调用一个API得到数组之后想把这些数组的数据导入数据库当中。
- 编程啦 1033 Easy Problem
- js获取textarea中的空格与回车