編輯:關於Android編程
本實例主要介紹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:
* 簡單網頁浏覽器
* 本實例可以打開指定網頁,並且可以加載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;
}
}
最後不要忘記給程序添加訪問網絡的權限:
我的Android進階之旅------)android Button上面的英文字符串自動大寫的問題解決
今天碰到一個關於Button的問題:android Button上面的英文字符串會自動變成大寫,運行的Android 5.1版本,如下圖所示:圖1:Button圖2:Te
Android Span 進階
?在上篇文章《Android Span 架構介紹》,我們講述了Android Span的基本概念和用法,這篇文章我們就來擴展一下我們對Android Span的了解,這一
Android 數據庫開發(一)SQLite3概述
前言SQLite是一款輕型的數據庫,是遵守ACID的關系型數據庫管理系統,它包含在一個相對小的C庫中。它是D.RichardHipp建立的公有領域項目,設計目標是嵌入式的
Android 仿QQ分組管理可拖動Item的ListView(附源碼)
趁著周一休息,更新一下博客。最近項目中使用到了分組管理,需要實現Listview的Item拖動處理。查略一下資料和借鑒了別人的代碼將功能實現了。現在整理一下代碼,方便自己