理解Activity生命周期的回调
Activity 生命周期可以想成一座金字塔:系统按台阶调用回调。新建实例时回调把状态往上推;到塔尖就是前台、用户可以交互。退出时再往下走,好回收资源。有时它会停在半山腰等着(切到别的 App),用户回来还能回到塔尖,并尽量恢复离开时的状态。 一、金字塔比旧生命周期图更好懂 Figure 1。这张图…
Activity 生命周期可以想成一座金字塔:系统按台阶调用回调。新建实例时回调把状态往上推;到塔尖就是前台、用户可以交互。退出时再往下走,好回收资源。有时它会停在半山腰等着(切到别的 App),用户回来还能回到塔尖,并尽量恢复离开时的状态。 一、金字塔比旧生命周期图更好懂 Figure 1。这张图…
官方说法:一个 Activity 是应用程序组件,提供一块屏幕让用户完成任务——拨号、拍照、发邮件、看地图。每个 Activity 分到一个窗口来画界面;窗口通常铺满屏幕,也可以更小、浮在别的窗口上。 一、多个 Activity 与返回栈 一个应用通常由多个松耦合的 Activity 组成。其中会指…
本章节教你如何建立第一个 Android 应用程序:创建项目、运行可调试版本,以及一些应用程序设计基础——创建简单用户界面,并处理用户输入。 开始学习之前,确保你已经: 了解 Android 平台 安装了开发环境 掌握 Android 项目结构 Android 图形用户界面相关知识 一、创建一个 L…
图形界面开发有两件大事:控件布局,以及控件的事件处理。Android 的事件处理秉承了 Java SE 图形界面的风格,提供两套机制:基于监听,以及基于回调。 基于监听:为界面组件绑定特定的事件监听器。基于回调:重写组件的回调方法,或重写 Activity 的回调方法。 一、基于监听的事件处理 监听…
布局不一定只能写 XML。用 LayoutInflater 把 XML 灌成 View,或纯代码 new 出 LinearLayout / RelativeLayout,都能在运行时拼界面。关键是 inflate(resource, root, attachToRoot) 三个参数怎么配合。 一、L…
图片显示先要分清像素、分辨率和密度。一张图由许多不同颜色的小方格组成,这样的小方格就叫像素,是构成图片的最小单位。像素的物理大小取决于显示设备上一个像素点的荧光点大小;图片文件只记录自己有多少像素、每个像素什么颜色,并不知道自己物理尺寸有多大。例如一张 480x800 的图在电脑显示器上明显比在手机…
为了适配不同屏幕,指定控件和布局大小时最好用 match_parent 和 wrap_content,尽量别写死宽高。真要固定值时,布局里常用 px、pt、dp、sp。前两个在手机上很容易「一块屏一个样」。 一、px 和 pt:PC 好用,手机吃力 px 是像素,屏幕能显示的最小单元。单个像素肉眼几…
Android 界面由布局和组件协同完成:布局好比建筑框架,组件好比砖瓦。组件按布局要求排列,就组成用户看见的界面。五大布局分别是 LinearLayout(线性)、FrameLayout(单帧)、RelativeLayout(相对)、AbsoluteLayout(绝对)和 TableLayout(…
Android 是一种基于 Linux 的自由及开放源代码操作系统,由操作系统、中间件、用户界面和应用软件组成。主要使用于智能手机和平板电脑等移动设备,由 Google 和开放手机联盟领导开发。中国大陆较多人使用「安卓」或「安致」作为中文名称。 一、系统架构 Android 的系统架构和其操作系统一…
Android 的图形用户界面由多个 View 和 ViewGroup 搭起来。View 是通用的 UI 小组件,比如按钮(Button)或文本框(text field);ViewGroup 是不可见的容器,用来定义子 View 的摆放方式,比如网格(grid)和垂直列表(list)。 一、View…