返回介绍

概述

发布于 2025-03-09 16:39:58 字数 3273 浏览 0 评论 0 收藏 0

概述

审核:铁骑_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.0WebKit框架中添加了允许在网页中指定 视窗 属性的支持,并且能够查询屏幕的分辨率,这样就能够更好的修改上文提到的那些样式和图片资源。因为这些特性都是AndroidWebKit框架的一部分,所以不管是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 应用。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文