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