且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

《Android App开发入门:使用Android Studio 2.X开发环境》—— 2-2 Android 程序的设计流程

更新时间:2022-09-10 22:25:27

2-2 Android 程序的设计流程

Android程序设计是把程序代码和资源(Resource)分开设计的。“资源”包含界面的安排、字符串对象、图形对象、音乐对象等,这些对象都以文件的方式存放在项目的 res 文件夹下,再构建(Build)起来成为 .apk 文件,最后由用户下载安装到手机上使用。

Android 的资源以视觉部分最多,其他也包含音乐、字符串等资源,为解说方便,除非在特别谈到音乐、字符串等资源时,否则我们多以视觉资源为代表。

视觉设计和程序逻辑

原本 Android 程序是可以一直用 Java 写下去的,但那样往往工程浩大又十分复杂,因此 Android 把程序设计的工作分成两大部分:一部分专门负责做程序的视觉设计(也就是用户界面,User Interface,UI),另一部分负责程序代码(程序逻辑)的编写。Android 的视觉设计是用 XML 描述的(见本章最后的延伸阅读及附录D),程序代码则是用 Java 程序设计语言写的。

《Android App开发入门:使用Android Studio 2.X开发环境》—— 2-2   Android 程序的设计流程

把视觉设计和程序逻辑分开(Android 官方文件叫做 Externalization)有许多好处:

(1)程序设计人员不一定擅长视觉设计,视觉设计的人员也往往不熟悉程序设计工作,因此如果能在设计时把两者分离,然后在最后构建(Build)的阶段再组合起来,势必对团队合作的顺畅度有很大帮助。目前,网页设计也多采用这样的团队合作方式。再者,把视觉设计和程序逻辑分开可以让项目维护简单化,尤其是程序调试的时候,错误来源不会纠缠在一起难以区分。该是视觉的部分就属于视觉,该是程序的问题就属于程序。

(2)把视觉设计和程序逻辑分开后,如果视觉设计做了更改,只要不改动程序逻辑,那么程序的部分可以完全不用改动,只要重新再 Build(建立或构建)就可以了。同样,当程序逻辑改动了,如果视觉设计不必改动,那么只要拿原来的视觉设计文件再 Build 一次即可。

  1. 这点最重要!目前手机和平板电脑型号众多、机型各异,把视觉设计分离出来对于程序设计人员实在是一大福音,因为只要把各种尺寸、分辨率、语言以及手持设备在垂直或水平握持的状态都给予不同的资源文件,然后全部 Build 到 .apk 里,当 App 执行时,手机的 Android 系统就会按用户手机里的设置值(如该手机是中文、4.5 英寸、高分辨率等)和直握、横握状态获取 .apk 里的资源文件。这样程序就可以适用于多机种和多国语言了。

《Android App开发入门:使用Android Studio 2.X开发环境》—— 2-2   Android 程序的设计流程

用图形化界面做视觉设计

Android 采用 XML 设计其 UI(User Interface),优点是可以让 UI 的层次一目了然,容易维护;缺点是 XML 代码编写不易,而且无法看到所要呈现的视觉效果。因此, Android Studio 提供了所见即所得(What You See Is What You Get,WYSIWYG)的图形布局编辑器,让用户只要用拖动对象和设置属性的方式,就可以完成视觉界面布局的工作。Android Studio 会自动把用户设计好的界面布局转成 XML 布局(Layout)文件,然后和 Java 程序构建(Build)成App(.apk)文件。

《Android App开发入门:使用Android Studio 2.X开发环境》—— 2-2   Android 程序的设计流程

用Java编写程序逻辑

Android 采用 Java 语言编写程序逻辑。在建立新项目的时候,Android Studio 已经 帮用户建立好了 Java 程序的骨架,因此在第 1 章中什么程序都不用写就可以直接执行, 并且可以在手机界面上看到“Hello World!”的信息。

《Android App开发入门:使用Android Studio 2.X开发环境》—— 2-2   Android 程序的设计流程

在编写程序的过程中,Android Studio 会提供许多工具帮助用户自动生成程序代码,从而避免语法上的错误,初学者只要发挥三成 Java 功力,将焦点集中在 Android 架构的学习上,就可以开发 Android App 了。

Android 是一个面向对象(Object-Oriented,OO)的操作系统,因此在App 的设计中 ,OO 的影子无所不在,本书在附录 A 中有 OO 概念快速掌握的内容,让不熟悉 Java 面向对象程序设计语言的读者能够快速掌握 OO 的要点。阅读本书各章节时,可随时翻阅附录 A 加以对比,对学习效果将有很大帮助。另外,在必要时,本书随时提供有关 Java重要关键词(keyword)的说明,以帮助读者能够顺利学习。

把视觉设计与程序代码构建起来

《Android App开发入门:使用Android Studio 2.X开发环境》—— 2-2   Android 程序的设计流程