Android程序开发学习笔记(手电筒软件设计)

上传人:M****1 文档编号:542960704 上传时间:2022-09-20 格式:DOCX 页数:10 大小:301.65KB
返回 下载 相关 举报
Android程序开发学习笔记(手电筒软件设计)_第1页
第1页 / 共10页
Android程序开发学习笔记(手电筒软件设计)_第2页
第2页 / 共10页
Android程序开发学习笔记(手电筒软件设计)_第3页
第3页 / 共10页
Android程序开发学习笔记(手电筒软件设计)_第4页
第4页 / 共10页
Android程序开发学习笔记(手电筒软件设计)_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《Android程序开发学习笔记(手电筒软件设计)》由会员分享,可在线阅读,更多相关《Android程序开发学习笔记(手电筒软件设计)(10页珍藏版)》请在金锄头文库上搜索。

1、Android 开发简介简介黑莓和 iPhone 都提供了受欢迎的、高容量的移动平台,但是却分别针对两个不同的消费群 体。黑莓是企业业务用户的不二选择。但是,作为一种消费设备,它在易用性和 “新奇特 性”方面难以和iPhone抗衡。Android则是一个年轻的、有待开发的平台,它有潜力同 时涵盖移动电话的两个不同消费群体,甚至可能缩小工作和娱乐之间的差别如今,很多基于网络或有网络支持的设备都运行某种 Linux 内核。这是一种可靠的平台: 可经济有效地进行部署和提供支持,并且可直接作为面向部署的良好的设计方法。这些设备 的 UI 通常是基于 HTML 的,可通过 PC 或 Mac 浏览器查看。

2、但并不是每个设备都需要 通过一个常规的计算设备来控制。想象一下传统的家用电器,例如电炉、微波炉或面包机 如果您的家用电器由 Android 控制,并且有一个彩色触摸屏,会怎么样?如果电炉上有一 个Android UI,那么操控者甚至可以烹饪点什么东西。在本文中,了解 Android 平台,以及如何将它用于移动和非移动应用程序。安装 Android SDK,并构建一个简单的应用程序。Android 简史Android 平台是 Open Handset Alliance 的成果, Open Handset Alliance 组织由一群共同致力 于构建更好的移动电话的公司组成。这个组织由 Googl

3、e 领导,包括移动运营商、手持设备 制造商、零部件制造商、软件解决方案和平台提供商以及市场营销公司。从软件开发的观点 看, Android 正处在开源领域的中心位置。市场上第一款支持Android的手机是由HTC制造并由T-Mobile供应的G1。这款设备从 设想到推出花了大约一年的时间,惟一可用的软件开发工具是一些实行增量改进的 SDK 发 行版。随着G1发行日的临近,Android团队发布了 SDK V1.0,用于这个新平台的应用程 序也浮出水面。为了鼓励创新,Google举办了两届“Android Developer Challenges”,为优胜的参赛作品提 供数百万美金的奖励。G1问

4、世几个月之后,随后就发布了 Android Market,它使用户可以 浏览应用程序,并且可以将应用程序直接下载到他们的手机上。经过大约 18 个月,一个新 的移动平台进入公众领域。Android 平台Android有丰富的功能,因此很容易与桌面操作系统混淆。Android是一个分层的环境,构 建在 Linux 内核的基础上,它包括丰富的功能。 UI 子系统包括:窗口视图用于显示一些常见组件(例如编辑框、列表和下拉列表)的小部件Android 包括一个构建在 WebKit 基础上的可嵌入浏览器, iPhone 的 Mobile Safari 浏览器 同样也是以 WebKit 为基础。Andro

5、id提供多种连接选项,包括WiFi、蓝牙和通过蜂窝(cellular)连接的无线数据传输 (例如 GPRS、 EDGE 和 3G)。 Android 应用程序中一项流行的技术是链接到 Google 地 图,以便在应用程序中显示地址。 Android 软件栈还提供对基于位置的服务(例如 GPS) 和加速计的支持,不过并不是所有的 Android 设备都配备了必需的硬件。另外还有摄像支 持。过去,移动应用程序努力向桌面应用程序看齐的两个领域分别是图形/媒体和数据存储方法。 Android 通过提供对 2D 和 3D 图形的内置支持,包括 OpenGL 库,解决了图形方面的挑 战。由于 Androi

6、d 平台包括流行的开源 SQLite 数据库,因此缓解了数据存储的负担。图 1 显示一个简化的 Android 软件层次结构。图 1. Android 软件层次结构应用程序架构如前所述,Android运行在Linux内核上。Android应用程序是用Java编程语言编写的, 它们在一个虚拟机(VM)中运行。需要注意的是,这个VM并非您想象中的JVM,而是 Dalvik Virtual Machine,这是一种开源技术。每个Android应用程序都在Dalvik VM的一 个实例中运行,这个实例驻留在一个由 Linux 内核管理的进程中,如下图所示。图 2. Dalvik VMLinux Ker

7、nel_inux processDalvik Virtual Mach reAndroid applicationAndroid应用程序由一个或多个组件组成:活动具有可视UI的应用程序是用活动实现的。当用户从主屏幕或应用程序启动器选择 一个应用程序时,就会开始一个动作。服务服务应该用于任何需要持续较长时间的应用程序,例如网络监视器或更新检查应用 程序。内容提供程序可以将内容提供程序看作数据库服务器。内容提供程序的任务是管理对持久数据的 访问,例如SQLite数据库。如果应用程序非常简单,那么可能不需要创建内容提 供程序。如果要构建一个较大的应用程序,或者构建需要为多个活动或应用程序提 供数据的

8、应用程序,那么可以使用内容提供程序实现数据访问。广播接收器Android应用程序可用于处理一个数据元素,或者对一个事件(例如接收文本消息) 做出响应。Android应用程序是连同一个AndroidManifest.xml文件一起部署到设备的。 AndroidManifest.xml包含必要的配置信息,以便将它适当地安装到设备。它包 括必需的类名和应用程序能够处理的事件类型,以及运行应用程序所需的许可。 例如,如果应用程序需要访问网络一例如为了下载一个文件一那么 manifest文件中必须显式地列出该许可。很多应用程序可能启用了这个特定的 许可。这种声明式安全性有助于减少恶意应用程序损害设备的可

9、能性。下一节讨论构建Android应用程序所需的开发环境。开始开发Android应用程序的最简捷的方式是下载Android SDK和Eclipse IDE (参见参考资料)。Android 开发可以在 Microsoft Windows、Mac OS X 或Linux上进行。本文假设您使用的是Eclipse IDE和用于Eclipse的Android Developer Tools插件。Android应用程序是用Java语言编写的,但是是在Dalvik VM(非Java虚拟机)中编译和执行的。在Eclipse中用Java语言编程非常简 单;Eclipse提供一个丰富的Java环境,包括上下文敏

10、感帮助和代码提示Java 代码通过编译后,Android Developer Tools可确保适当地将它打包,包括 AndroidManifest.xml 文件。虽然没有Eclipse和Android Developer Tools插件也可以开发Android应 用程序,但是那样就需要熟悉Android SDK。Android SDK是作为一个ZIP文件发布的,可以将该文件解压到硬盘上的一个 目录中。由于有多个SDK更新,建议有意识地组织开发环境,以便在不同的SDK 安装之间轻松地切换。SDK包括:android.jarJava归档文件,其中包含构建应用程序所需的所有的Android SDK类

11、。 documentionhtml 和 docs 目录本地和网上提供的SDK文档。这些文档的主要形式为JavaDocs,以便于在SDK 中导航大量的包。文档还包括一个高级开发指南和Android社区的链接。Samples 目录samples子目录包含各种应用程序的源代码,包括ApiDemo,该应用程序演示了很 多API。这个示例应用程序可以作为Android应用程序开发的良好起点。Tools目录包含所有用于构建Android应用程序的命令行工具。最常用、最有用的工具是adb 实用程序(Android Debug Bridge)。usb_driver该目录包含将开发环境连接到支持Android的

12、设备(例如G1或Android Dev 1解 锁开发手机)所需的驱动程序。只有Windows平台的开发人员才需要这些文件。Android应用程序可以在实际的设备上运行,也可以在Android SDK附带的Android Emulator 上运行。图 3 显示 Android Emulator 的主屏幕。图 3. Android EmulatorAndroid Debug Bridgeadb实用程序支持一些可选命令行参数,以提供强大的特性,例如复制文件到设 备或从设备复制文件。可以使用shell命令行参数连接到手机本身,并发送基 本的shell命令。图4显示在通过USB线连接到Windows笔记

13、本电脑的一个 实际设备上运行的adb shell命令。图4.使用adb shell命令在这个shell环境中,可以: 显示网络配置,网络配置可显示多个网络连接。注意这多个网络连接:o lo是本地或loopback连接。o tiwlanO是WiFi连接,该连接由本地DHCP服务器提供一个地址。 显示PATH环境变量的内容。执行su命令,以成为超级用户。将目录改为/data/app,其中存放用户应用程序。 列出包含某个应用程序的目录。Android应用程序文件实际上是归档文件,可通过 WinZip之类的软件查看。扩展名为apk。 发出ping命令,查看G是否可用。从相同的命令提示符环境中,还可以与

14、SQLite数据库交互,启动程序以及执行 许多其他系统级任务。想像一下您正在连接到电话,因此这是非常了不起的功能。在下一节,您将创建一个简单的Android应用程序。编写一个基本的应用程序本节展示如何构建一个Android应用程序。示例应用程序非常简单:一个修改 后的“Hello Android”应用程序。您将进行一个微小的修改,使屏幕背景全部变为白色,以便把手机用作手电筒。这个例子不是很有创意,但是可以作为一 个有用的例子。请 下载 完整的源代码。为了在Eclipse中创建应用程序,选择F订e New Android project,这 将启动 New Android Project 向导。图 5. New Android project 向导接下来,创建一个简单的应用程序,该应用程序有一个活动,并且在main.xml中 有一个UI布局。布局包含一个文本元素,您将修改这个文本元素,以显示 Android FlashLigh t。下面的清单显示了这个简单的布局。清单1. Flashlight布局 /LinearLayout在s

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号