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

简介: 本节书摘来自华章计算机《Android App开发入门:使用Android Studio 2.X开发环境》一书中的第2章,第2-2节,作者 施威铭,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

2-2 Android 程序的设计流程

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

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

视觉设计和程序逻辑

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

image

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

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

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

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

image

用图形化界面做视觉设计

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)文件。

image

用Java编写程序逻辑

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

image

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

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

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

image

相关文章
|
8月前
|
开发工具 Android开发 iOS开发
如何在Android Studio中配置Flutter环境?
如何在Android Studio中配置Flutter环境?
1907 61
|
2月前
|
移动开发 前端开发 Android开发
【02】建立各项目录和页面标准化产品-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
【02】建立各项目录和页面标准化产品-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
317 12
【02】建立各项目录和页面标准化产品-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
|
2月前
|
移动开发 JavaScript 应用服务中间件
【06】优化完善落地页样式内容-精度优化-vue加vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
【06】优化完善落地页样式内容-精度优化-vue加vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
290 5
【06】优化完善落地页样式内容-精度优化-vue加vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
|
2月前
|
移动开发 Rust JavaScript
【01】首页建立-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
【01】首页建立-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
665 4
【01】首页建立-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
|
3月前
|
开发工具 Android开发
X Android SDK file not found: adb.安卓开发常见问题-Android SDK 缺少 `adb`(Android Debug Bridge)-优雅草卓伊凡
X Android SDK file not found: adb.安卓开发常见问题-Android SDK 缺少 `adb`(Android Debug Bridge)-优雅草卓伊凡
552 11
X Android SDK file not found: adb.安卓开发常见问题-Android SDK 缺少 `adb`(Android Debug Bridge)-优雅草卓伊凡
|
3月前
|
存储 消息中间件 人工智能
【08】AI辅助编程完整的安卓二次商业实战-修改消息聊天框背景色-触发聊天让程序异常终止bug牵涉更多聊天消息发送优化处理-优雅草卓伊凡
【08】AI辅助编程完整的安卓二次商业实战-修改消息聊天框背景色-触发聊天让程序异常终止bug牵涉更多聊天消息发送优化处理-优雅草卓伊凡
297 10
【08】AI辅助编程完整的安卓二次商业实战-修改消息聊天框背景色-触发聊天让程序异常终止bug牵涉更多聊天消息发送优化处理-优雅草卓伊凡
|
2月前
|
移动开发 Android开发
【03】建立隐私关于等相关页面和内容-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
【03】建立隐私关于等相关页面和内容-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
177 0
|
7月前
|
Android开发 数据安全/隐私保护 开发者
Android自定义view之模仿登录界面文本输入框(华为云APP)
本文介绍了一款自定义输入框的实现,包含静态效果、hint值浮动动画及功能扩展。通过组合多个控件完成界面布局,使用TranslateAnimation与AlphaAnimation实现hint文字上下浮动效果,支持密码加密解密显示、去除键盘回车空格输入、光标定位等功能。代码基于Android平台,提供完整源码与attrs配置,方便复用与定制。希望对开发者有所帮助。
139 0
|
3月前
|
Java 开发工具 Maven
【01】完整的安卓二次商业实战-详细的初级步骤同步项目和gradle配置以及开发思路-优雅草伊凡
【01】完整的安卓二次商业实战-详细的初级步骤同步项目和gradle配置以及开发思路-优雅草伊凡
245 6
|
4月前
|
存储 Java PHP
轻量化短视频电商直播带货APP源码全解析:核心功能与设计流程​
在电商直播热潮下,开发专属直播带货APP成为抢占市场关键。本文详解原生开发轻量化APP的核心功能与全流程设计,涵盖用户登录、商品浏览、直播互动、购物车、订单及售后功能,并介绍安卓端Java、苹果端Object-C、后台PHP的技术实现,助力打造高效优质的直播电商平台。

热门文章

最新文章