簡易Android瀏覽器的開發(fā)_第1頁
簡易Android瀏覽器的開發(fā)_第2頁
簡易Android瀏覽器的開發(fā)_第3頁
簡易Android瀏覽器的開發(fā)_第4頁
簡易Android瀏覽器的開發(fā)_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、Android開發(fā)簡易瀏覽器1. 搭建Android開發(fā)環(huán)境請詳見:Android開發(fā)環(huán)境搭建.doc2. 創(chuàng)建工程選擇 File->New->Project->Android Project 會出現(xiàn)如下界面:輸入工程名,點擊Next進入如下界面W New Android Projectu,回Select Build TargetChoose an SD< to targetBuild TargetTarget NnneVendorPlatformAPI _I | Android 2,1Android Operr Source ProjecT2.17Android 2.

2、2Android Open Source Project228J Android 2.3.3Android Operr Source Project2.1310FinhhCancel選擇Target即用丁編譯工程的SDK版本。點擊NextApplication Name是顯示在程序上的標題。Package NameH 包的名稱。Minimum SDK該工程支持的SDK的最低版本 點擊Finish完成創(chuàng)建工程。3. 界面布局此瀏覽器的界面布局非常簡單,包括:一個文本框EditText , 一個按鈕Button 和一個用來顯示網(wǎng)頁的面板WebView如圖所示:3G rl * 4:59迷你瀏覽牌ww

3、w.baidu.cordI goBmi期百度百度一下新聞 網(wǎng) 55 iMS injg MJEb安卓應(yīng)用搜索新版上線L略吧Android客戶笫宜場,下載IPAD !下裁:承上百度輸A法身邊使用我的位置移劫版I傳統(tǒng)版Baidu 京】CP證。30173號其XM布局管理器程序活單為:u-erxionl. 0* ©n c od ing=i* ?>, tLinearia/cut xml ns: an droid- "h ttjp: / scewos. andrat d -res/onrfro Id Mandroid : ori«ntaticn-®"&

4、quot;rrticcfI ”andiroid: 1 ayou twldr h» "ft L L_pGrerrtMandlroid :layouthight = "'/iL i.nea rLyojt snln § : a ndraid = ihttp /rJTeniac. anflfrotci com/opsb/ires/andro id android ; orientatipriBFhorizontaL *andiroid : 1 ayoutwidth= Vi【 '_舊廣己android 二 layout_height= H,wrap

5、_conicn tB,><EditTei<tandiroid sld=*rp+id/trrt *pandroid ilayout_width®*27UpxJ!,android: 1 ayout_hei ght-,wrcp_ con tent */>Outtenandid : id= "/ic(/住匕宕醇 Wand"oidl: layout width-wrerp cortent"3 n d"oid layout heig ht=,rwrcif content"and-old :text= ,rG0*/>&

6、lt;/L ineasr Layout >(tWebVlewandlraid : 1 d=d/s h(w*mi dhr old : loyaut_Mid th- Hjf £ t tporrn t”»ndlroid: 1 »yout_h ei ght 這里采用線性布局,用LinearLayout類來表示。其中android:id:該屆性指定了該控件的唯一標示符,在Java程序中可以通過finfViewById( "id ”)來獲取指定的Android界面組件。android:layout_width:指定該界面組件的寬度。如果該屆性值為fill_pa

7、rent,則說明該組件與其父容器就有相同的寬度;如果該屆性值為wrap_content,則表明該組件的寬度取決丁它的內(nèi)容。當然,也可以自己設(shè) 置具體屆性值。android:layout_heigth:指定該界面組件的高度。屆性值同樣可以為fill_parent 和wrap_content 。android:text:設(shè)置組件上顯示的名字。android:orientation:設(shè)置布局管理器 內(nèi)組件的排歹U方 式,可以設(shè)置為horizontal( 水平排歹U) , vertical(垂直排歹U)之一。定義的EditText和Button采用水平的線性 布局方式,然 后,EditText和 Bu

8、tton作為一個整體和WebViewL問才用垂直布局的方式。2.瀏覽器的實現(xiàn)需要加載的包有:import android.app+Activity;import android.graphics.Bitmap;import android.cs.Bund13import android.wi&u.KeyEventsimpart android.wl&w.Vicwjrimport android .webkit. slError-Handler;< import android.webkit.ebView;import android .webkit .IdebViewCl

9、ient;import android .widget, Button;import android .Midget r EditText JWebkit是一個開源的瀏覽器引擎。在 Android系統(tǒng)環(huán)境下自帶了 Webkit核心 庫(動態(tài)鏈接庫),這里通過頭文件調(diào)用SDK就可以使用系統(tǒng)的核心庫了。我們已經(jīng)創(chuàng)建了一個MiniBrowser類繼承Activity 類,來顯示我們的瀏覽器 操作界面。在MiniBrowser 類中我們要實現(xiàn) onCreat(Bundle savedInstanceState) 方法,該方法將會在Activity 創(chuàng)建是被回調(diào),該方法調(diào)用Activity 的 setC

10、ontentView(View view)來顯示要展示的view。為了管理應(yīng)用程序界面中的各組件,調(diào)用Activity 的findViewById(int id)方法來獲取程序界面中的組件。程序代碼如下:public void onCreBte(Bundlc 5ared Instance State)(super.onCreate(savedInstance5tate);setCortentView(R. layout .n?a£n);/WebViEwi-url = (EdltText) f indViewByld (R id. urL) j«nter_buttc?n =

11、(Eutton )findVi«wById( Kt id<p/Eb_entcr) 命網(wǎng) =(Hebvicw) findviewByld(R.id.jbin n a naSetContentView(R.layout.main) 設(shè)置該 Activity 使用 main.xml 文件定義的 界面布局作為用戶界面。下面分別獲取界面中的 EditText,Button,WebView 三個 組件。然后,對WebVieWt行一些設(shè)置。如:設(shè)置可以使用Javascriptshow.getSettingsO * setJavaScriptEnflbLed(true);設(shè)置支持縮放5how.

12、getSettings() * setSupportZccniftrue);設(shè)置滾動條樣式show. setScrollBarStyle (WebViewSCROLL;設(shè)置觸摸焦點show.reqstFocusO;如果不設(shè)置點擊網(wǎng)頁文本輸入時不能彈出軟鍵盤及 不能響應(yīng)其他的一些事件。設(shè)置初始頁面show. loadUrl("http:/wwM. ba idu. com");設(shè)置瀏覽網(wǎng)頁時的事件處理類sIiom.setWebViewClient(new myiJeWiewClient();接下來定義進入網(wǎng)頁的Button按鈕的事件監(jiān)聽處理類:enter_buttfin.set

13、OnClickLitener(new View-OntliekL£stener(|(SOver ridepublic void QnCldctefVie w) (/ TODO Auto-generated nethod stubString url_text;String jr-l_h£ad = "httpt/VJrltext = url*getText().toStringf) i-F( I urljtext-contain s (''http :/") url_text = url_head.concat(url_teyt);一一 l

14、oadUrl(url text);); _這里首先獲取文本框中的url字符申,如果字符申中沒有“ http:/ ”, 那么在 其前面追加“ http:/ ”,然后加載此url。至此,在文本框中輸入一個網(wǎng)址,然后點擊“GO按鈕就可以顯示出相應(yīng)的 網(wǎng)頁了。但是,在打開的網(wǎng)頁中還不能響應(yīng)響應(yīng)的點擊或下載事件。其實WebView 只負責做一些解析,渲染工作,WebViewClient會幫助WebViewfB處理各種通知和請求事件。接下來要定義一個myWebViewClient類繼承WebViewClient來進行事件處理。clafif itjAM-bVitwcLunt extends MbviMCli

15、erc(pub ic boolrnn shouLd-OxirrridrJrlLoad irgj WroVirw virw String url)viSh.Ioadjrl(url)jretiirni truti)public void cm Rt ceive-ds si Er ror erf view!, SslErrcrHa-xIler ihijincIleirK i nd me id, Fbet P http r 5 51 Erng-r error) h?ndler,procred ()ipublic wold onloadRcsoureg(view,url)f / TCXK3 Au tn

16、- ner:B te d mrthizd lit ub £uper. onLoddSe&tKjrce( emj. url fc j .J, public void onPfigeStarted(klebView 留Strirg url,f / TOOC3 Auto * ne T91 d method rtub 3 upe r - on Pa geStrted view 4 url f iaftric Dn); - ub Hl liuld ufiin is Sg d (MeDVlif m lev(± String u rl)(/ 1000 Auto-g-ncratrd

17、 mrthrd Mi由 kupt-r ,onPdgelri£shrdli( w£ rur url. J j.)如果頁面中有鏈接,如果希望點擊鏈接繼續(xù)在當前Browser中響應(yīng),而不是新開Android系統(tǒng)中的Browser來響應(yīng)該鏈接,那么必須重寫 WebViewClient 中的 shouldOverrideUrlLoading(WebView view,String url)方法。view+lfladUrl(url)i 表示在當前Browser中響應(yīng)鏈接。頁面表單錯誤提交需要重新提交時調(diào)用onReceivedSslError()方法。WebVieW口載的資源調(diào)用 onL

18、oadResource(WebView view,String url) 。 頁 面開始后的時間處理(如下載等)調(diào)用onPageStarted(WebView view,String url , Bitmap favicon)方法。頁面結(jié)束之后的處理調(diào)用onPageFinished(WebView view,String url)方法。如果用WebVie確看了很多網(wǎng)頁,我們希望點擊系統(tǒng)的back鍵返回上一次瀏覽的網(wǎng)頁,而不是調(diào)用瀏覽器的finish()來推出瀏覽器。那么需要覆蓋Activity類的 onKeyDown(int keyCoder,KeyEvent event) 方法來調(diào)用 WebView勺goBack() 方法。如圖:Overridepublic baoleain onKfryDown(lot keycodej, KeyEvent event)(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論