前言
本章內容為開發人員指南(Dev Guide)/Web Applications/Web Apps Overview,版本為Android 3.2 r1,翻譯來自:"happyjiahan",審核員為:"鐵騎_PuLee",再次感謝"happyjiahan" !期待你一起參與翻譯Android的相關資料,聯絡我over140@gmail.com。
聲明
歡迎轉載,但請保留文章原始出處:)
部落格園:http://www.cnblogs.com/
Android中文翻譯組:http://goo.gl/6vJQl
Web Apps Overview
譯者署名: happyjiahan
審核:鐵騎_PuLee
版本:Android 3.2 r1
在android上發布一個應用程式一般有兩種方式:一種是基於用戶端模式(Client-Side模式)的應用程式(基於用戶端的應用程式需要用Android SDK來開發,並且需要在使用者的裝置上安裝一個以.apk為尾碼名的檔案),另一種是基於瀏覽器的web應用程式(基於瀏覽器的應用程式的開發需要遵循web標準,通過一個web瀏覽器來訪問你開發的應用程式,不需要在使用者的裝置上安裝其他任何程式)。
圖1. 你可以通過兩種方式向使用者提供你的web內容:一種是通過傳統的瀏覽器的方式,另一種則是通過在Android的應用程式的布局檔案中包含一個WebView組件的方式來實現。
那麼在你的軟體開發過程中,你究竟是應該選擇基於用戶端的模式(C/S)還是基於瀏覽器的模式(B/S)呢?其實這個問題要考慮很多個因素,要視你所開發的軟體來確定選擇哪種模式更合適。這不是我們當前討論的重點,下面我們來看一下Android為我們提供了哪些方便我們進行web程式開發的支援吧!
* 支援一系列視窗屬性,這些屬性允許你根據螢幕的大小正確的確定你的web程式的視窗大小。
* 支援css和javascript特性,這些特效能使你可以根據螢幕的像素密度來使用不同的樣式和圖片資源。
因此,在你決定為android開發一個web應用的時候,可以先不考慮支援多種螢幕方面的問題。因為讓你的web頁面在各種android裝置的螢幕上有很好的效果已經很容易了。
Android提供的另外一個很好的特性就是你現在不必純粹的在用戶端或者純粹的在web上構建你的應用,你可以將這兩者融合在一起。你可以開發一個基於用戶端的android應用,但是在這個應用中嵌入了一些web頁面(你可以在你的android應用中使用WebView
)。圖1形象化的展示了你如何通過瀏覽器或者android應用程式來訪問web頁面。然而,你不應該開發一個android應用簡單到只是為了運行web網站。與此相反,嵌入到你的android應用程式中的web頁面應該是專門為某種應用情境設計的。你也可以在android應用程式和你的web頁面之間定義一個介面,這個介面允許你web頁面中的javascript調用你的android應用程式中的API。
從Android 1.0 開始,WebView
已經能夠在
android
應用程式的布局檔案中嵌入
web
內容並通過
javascript
調用
android api
。在
android
增加了對不同解析度的螢幕的支援後,
android 2.0
在
WebKit
架構中添加了允許在網頁中指定
視窗屬性的支援,並且能夠查詢螢幕的解析度,這樣就能夠更好的修改上文提到的那些樣式和圖片資源。因為這些特性都是
Android
中
WebKit
架構的一部分
,
所以不管是
Android
瀏覽器還是
WebView
在視圖介面和螢幕解析度方面都具有相同的特性。
如果你想為Android裝置開發web應用,你應該閱讀下面的文檔:
Targeting Screens from Web Apps
如何讓你的web應用能夠非常合適的呈現在Android裝置上,並且能夠支援多種螢幕解析度呢?如果你正在建立一個的web應用並且希望自己的應用至少能夠在Android裝置上運行(假設你的應用完全部署在網路上),特別是如果你針對的是移動終端或者打算使用WebView
,
那麼這個文檔介紹的資訊對你來說非常重要。
Building Web Apps in WebView
如何使用WebView
將網頁嵌入到Android應用中以及如何使用JavaScript調用Android API。
Debugging Web Apps
如何使用JavaScript控制台API調試web應用。
Best Practices for Web Apps
它列舉了一系列你應該遵循的實踐技巧,協助你建立出可以在Android裝置上高效啟動並執行web應用。