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

2-2 Android 程序的设计流程

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

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

视觉设计和程序逻辑

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

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

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

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

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

用图形化界面做视觉设计

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

用Java编写程序逻辑

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

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

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

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

时间: 2024-08-22 14:46:27

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

iOS开发入门:Passbook详解与开发案例

Passbook是iOS 6的新功能,只能在iPhone和iPod touch设备中使用.它可以帮助我们管理商家发放的电子会员卡.积分卡.优惠券等.这将对未来电子商务产生深远的影响.商家通过发放会员卡.积分卡.优惠券等,提高与消费者的互动,吸引人们更多消费.Passbook的诞生,正是为了将所有这些"卡"和"券"电子化,存放在iPhone或iPod touch里. Passbook与Pass iOS 6中的Passbook能够帮助我们集中管理电子"卡&qu

微信公众平台开发入门:[8]聊天机器人可开发

在这篇教程中,我们将介绍如何在微信公众平台上开发:[小黄鸡聊天机器人]的功能.微信公众号,客户多了,来不及每个都体贴的照顾:是不是很想有个机器人自动陪聊来顶一下?这里就说说微信聊天机器人的开发.   第一部分 基于模拟请求的方式   1 模拟请求数据(先看一下小黄鸡的网页版界面)   2 我们通过模拟http请求来实现,上面对话抓包如下: (下图分别是:发送消息的包,接收消息的包)       3 根据上面的包,模拟发起请求如下   4 接下来,我们做下与微信的对接,代码如下   5 看下演示效

Windows 8开发入门(二).Windows 8开发知识储备

在本文中将整理出一些Windows 8开发前需要了解的一些基础知识并且列为相应的几个表格以供大家参考, 其中部分来源于MSDN.部分来源于本人整理,如有误之处请指正,谢谢. 一.新建常用XAML项目类型 模板和各种语言的关系 项目类型名 项目类型 作用以及描述 适用语言 空白应用程序 创建一个最简化的空白XAML应用 以供用户使用,需要自己添加 界面.公共代码等. C#/VB/C++/Javascript   拆分应用布局程序 显示主从式列表,如新闻列 表 (分为很多个新闻类别,每个新闻类别 下

《微信小程序:开发入门及案例详解》—— 2.2 “徒手”创建小程序

2.2 "徒手"创建小程序 为了让开发者更好地理解小程序框架运行机制,接下来将带领大家"徒手"创建一个结构最简单的小程序,这样每个细节都是开发者自己完成的,这对理解小程序框架有很大帮助.步骤如下: 1)创建项目目录,这里以E:\weixin\myproject为例. 2)按图2-2所示的目录结构创建文件: 3)打开app.json,写入以下代码: { "pages" : [ / 指定默认启动页面地址 / "mypages/index/i

微信公众平台开发入门教程(二)启用开发模式

  微信公众平台开发模式 高级功能 微信公众平台地址:https://mp.weixin.qq.com  登录微信公众平台后台,选择高级功能 进入后就看到两种模式 我们需要关闭编辑模式.点击编辑模式的进入 滑动关闭   原文:http://www.cnblogs.com/txw1958/p/wechat-tutorial.html  开发模式 进入开发模式里面  点击成为开发者 弹出URL和Token填写框 此处的URL为创建百度云应用的域名,包括后面的duapp.com,而Token为inde

《微信小程序:开发入门及案例详解》—— 1.3 第一个小程序

1.3 第一个小程序 完成开发准备后我们便可以开始编写小程序,微信小程序的开发十分简单,大家可以快速上手.下面我们利用官方提供的dmeo让大家对小程序开发有初步认识.1)打开微信开发者工具.第一次启动需要扫描二维码登录,如图1-9所示,开发权限配置参照上一小节. 2)登录后选择"添加项目".3)在填写项目信息之前,先创建一个空目录作为项目资源目录,这里我们以E:\weixin\demo为例.4)填写项目信息.如果没有AppID可以选择"无AppID":填写项目名称,

《Android App开发入门:使用Android Studio 2.X开发环境》——导读

前 言 学习 Android 程序设计一直困扰着许多初学者,原因有两个.首先,必须学会使用 Java 程序设计语言,并且要懂 Android 的 XML词汇,然后才能开始学习 Android 的程序设计.其次,在学习的过程中常见到一些程序设计老手所使用的行话与习惯,初学者常会苦思不得其解,从而导致在学习中产生挫折感.困顿不前.鉴于此,本书针对 Android 的初学者设计了一套学习流程,期望降低初学者学习的门槛,让学习曲线平滑.顺畅,使初学者能迅速掌握 Android 程序设计的重点,而不用浪费

《Android App开发入门:使用Android Studio 2.X开发环境》——第 2章 Android 程序设计基础讲座

第 2章 Android 程序设计基础讲座 2-1 Android App 的主角:Activity2-2 Android 程序的设计流程2-3 认识 Activity 的基本程序逻辑2-4 组件的布局与属性设置2-5 开始动手编写程序2-6 输入字段 EditText 组件2-7 使用 USB 线将程序部署到手机上执行2-8 修改项目的程序包名称和应用程序 ID 本章开始会使用面向对象的 Java 程序设计语言,对Java 不熟悉的读者可适当参考附录 A. 本章将说明如何在项目中加入各种组件(

一看就懂的Android APP开发入门教程

  这篇文章主要介绍了Android APP开发入门教程,从SDK下载.开发环境搭建.代码编写.APP打包等步骤一一讲解,非常简明的一个Android APP开发入门教程,需要的朋友可以参考下 工作中有做过手机App项目,前端和android或ios程序员配合完成整个项目的开发,开发过程中与ios程序配合基本没什么问题,而android各种机子和rom的问题很多,这也让我产生了学习android和ios程序开发的兴趣.于是凌晨一点睡不着写了第一个android程序HelloAndroid,po出