![]()
内容推荐 本书结合作者多年讲授“Android应用软件开发”课程的教学经验,融入Android开发领域新技术,较为全面地介绍了Android应用软件开发的相关知识点和开发技巧。全书共分5章,分别介绍了Android开发环境、Android项目及Java基本概念、Android常用布局、Android常用控件和其他常用编程技术。本书相关案例以Android Studio为开发环境,尽可能使用最新版本SDK命令替代弃用命令,并对控件的版本变化做大致的介绍。本书全面考虑了本科教学的特点,结合作者开发的案例库教学辅助系统,通过精心设计的案例和详尽的讲解、演示,让读者感受体验式教学的魅力。 本书适合Android Studio开发人员、Android的入门读者、高等学校学生使用,还可以作为高等院校、相关培训机构的教学用书。 目录 第1章 熟悉Android开发环境 1.1 Android开发环境搭建 1.1.1 Android IDE选择 1.1.2 Android Studio的安装与配置 1.2 建立并运行HelloAndroid 1.3 Android Studio项目结构 1.3.1app1.3.2Gradle Scripts 1.4 Android Studio常用功能 1.4.1 Settings 1.4.2 Manage IDE Settings 1.4.3 Project Structure 1.4.4 Sync Project with Gradle Files 1.4.5 Bookmarks 1.4.6 Override Methods 1.4.7 Comment 1.4.8 Reformat Code 1.4.9 Build APK 1.4.10 Rename 1.4.11 Rename File 1.4.12 运行、调试 1.4.13 向模拟器传送文件 1.4.14 常用快捷键 1.4.15 总结 1.5 多种语言程序设计案例库教学辅助系统 1.5.1 使用对象及环境 1.5.2 术语和缩写词 1.5.3 软件安装 1.5.4 软件使用说明 第2章 熟悉Android项目及Java基本概念 2.1 熟悉Android项目 2.1.1 Layout 2.1.2 Java文件 2.1.3 AndroidManifest.xml 2.2 调试输出 2.3 类和对象 2.4 extends 2.5 implements 2.6 super 2.7 equals与恒等号(==) 2.8 方法重载 2.9 代码块 第3章 Android常用布局 3.1 Android长度单位 3.2 线性布局 3.3 边线和角 3.4 layout_weight 3.5 绝对布局 3.6 相对布局 3.7 帧布局 3.8 表格布局 3.9 网格布局 3.10 约束布局 3.10.1 约束布局基础 3.10.2 Barrier 3.10.3 Guideline 3.10.4 Group 3.10.5 Circle 3.10.6 Chain 3.11 Space和layout_margin 第4章 Android常用控件 4.1 TextView 4.1.1 TextView的常用属性和方法 4.1.2 theme和style 4.1.3 layout_gravity与gravity 4.1.4 findViewById()与viewBinding 4.2 Button 4.2.1 单击监听器 4.2.2 监听器复用 4.2.3 长按单击监听器 4.2.4 动态添加按钮 4.2.5 自定义DoubleClickListener监听器 4.3 EditText 4.3.1 设置和获取文本 4.3.2 按键监听器 4.3.3 触摸监听器 4.3.4 焦点改变监听器 4.3.5 文本选择 4.3.6 禁止弹出软键盘 4.3.7 inputType和imeOptions 4.4 Toast 4.4.1 显示文本 4.4.2 显示图片 4.4.3 显示图片和文字 4.5 RadioButton 4.5.1 获取单选按钮选中项 4.5.2 清空单选按钮 4.6 CheckBox 4.6.1 基本功能 4.6.2 监听器 4.6.3 代码复用 4.7 CheckedTextView 4.8 ImageView 4.9 DatePicker 4.10 DatePickerDialog 4.11 TimePickerDialog 4.12 CalendarView 4.13 SeekBar 4.14 RatingBar 4.15 NumberPicker 4.15.1 NumberPicker基本功能 4.15.2 显示文字的NumberPicker 4.16 ProgressBar 4.17 Spinner 4.18 ToggleButton 4.19 Switch 4.20 AutoCompleteTextView 4.21 ScrollView和HorizontalScrollView 4.22 TextClock 4.23 Chronometer 4.24 AlertDialog 4.24.1 带默认按钮的AlertDialog 4.24.2 列表的AlertDialog 4.24.3 单选的AlertDialog 4.24.4 复选的AlertDialog 4.24.5 自定义控件 第5章 其他常用编程技术 5.1 Intent 5.1.1 Intent的显式调用和隐式调用 5.1.2 Intent传值和取值 5.2 Activity 5.2.1 系统状态栏、标题栏和导航栏 5.2.2 关闭Activity 5.2.3 生命周期 5.3 电话及动态授权 5.4 发送短信 5.5 Menu 5.5.1 构建菜单 5.5.2 响应菜单项单击 5.5.3 ContextMenu 5.6 Notification 5.7 Service 5.8 Broadcast 5.8.1 静态注册 5.8.2 动态注册 5.8.3 多接收器接收普通广播 5.8.4 有序广播 5.9 SQLiteDatabase 5.10 SQLiteOpenHelper 5.11 数据库调试 5.12 SharedPreferences 5.13 精度问题 5.14 横竖屏 5.15 获取App信息 附录A综合实验 参考文献 序言 前言 Android作为目前智能设备的主流操作系统 已覆盖平板电脑、手机、车载设备和智能电视等 硬件设备,相关App应用也层出不穷。本书以最 新版本的Android Studio为开发环境,详细讲 解Android Studio的使用及Android应用程序开 发技巧。 本书主要内容本书以Android Studio开发 环境配上多语言程序设计案例库教学辅助系统, 以翔实的案例对Android应用开发的相关知识点 进行循序渐进的讲解。本书共分5章,内容编排 如下。第1章为熟悉Android开发环境,主要介 绍Android开发环境搭建及Android Studio和案 例库教学辅助系统的使用。第2章为熟悉 Android项目及Java基本概念,以向导建立的项 目为基础,介绍Android项目的结构、相关代码 文件和配置文件的作用及相互关系。通过案例对 开发Android应用密切相关的Java概念做了较为 深入的讲解。第3章为Android常用布局,通过 相关案例的介绍,读者可了解不同布局的特点, 学会综合各种布局完成复杂的界面设计。本章对 约束布局进行了详细的介绍。第4章为Android 常用控件,以案例为出发点,主要介绍Android 开发设计中常用控件的属性、方法,对不同时期 Android版本的相关控件外观和特性进行了较为 全面的讲解。第5章为其他常用编程技术,介绍 了Intent、Activity、Menu、Service和数据 库等内容,让开发人员对Android的综合应用开 发有更深入的了解。本书特色(1) 本书以本科 教学为出发点,以长期教学中总结、归纳的精选 案例为基础,结合教学辅助系统软件,打造了一 个结合教学、演示和学习的案例库综合教学平台 。(2) 将以讲解命令为主的方式转变为以阅读 、理解代码为主的方式,让读者能从不同的角度 认识Android的开发与应用。(3) 以基础知识 点与案例相结合的方式,由浅入深、循序渐进地 讲解知识点,代码注释详尽,便于读者将案例复 制到Android Studio开发环境运行,同时提供 在纯文本编辑器中对案例源码进行查询和修改。 (4) 本书内容的组织、讲解及案例安排契合本 科生的教学特点,注重内容质量,致力于服务教 学和实现学生技能培训的目标。案例库支持使用 者自行扩建,也为学生后续课程设计和毕业设计 提供强有力的支持。(5) 由于Android版本更 新较快,SDK的变化也较大,本书对相关控件演 示最新变化时,也会讲解相关控件的特点、各版 本差异、变迁和开发注意事项,让读者对 Android开发有更全面的了解。配套资源为便于 教学,本书配有230分钟微课视频、源代码、教 学辅助软件、教学大纲、教学进度表、实验指导 书。(1) 获取教学视频方式: 读者可以先扫 描本书封底的文泉云盘防盗码,再扫描书中相应 的视频二维码,观看教学视频。(2) 获取案例 库的源代码和教学辅助软件方式: 先扫描本书 封底的文泉云盘防盗码,再扫描下方二维码,即 可获取。 源代码 教学辅助软件 (3) 其他配套资源可以扫描本书封底的 课件二维码下载。读者对象本书适合Android Studio开发人员、Android的入门读者、高等学 校学生使用,还可以作为高等院校、相关培训机 构的教学用书。本书的编写参考了诸多相关资料 ,在此对这些资料的作者表示衷心的感谢。限于 作者水平和时间仓促,书中难免存在疏漏之处, 欢迎读者批评指正。作者2021年11月 导语 (1)本书以本科教学为出发点,以长期教学中总结、归纳的精选案例为基础,结合教学辅助系统软件,打造了一个结合教学、演示和学习的案例库综合教学平台。_x000D_ (2)将讲解命令为主的方式转变为以阅读、理解代码为主的方式,让读者能从不同的角度认识Android的开发与应用。_x000D_ (3)以基础知识点与案例相结合的方式,由浅入深、循序渐进地讲解知识点,代码注释详尽,便于读者演示、查询和变更。_x000D_ (4)本书内容的组织、讲解及案例安排契合本科生的教学特点,注重内容质量,致力于服务教学和实现学生技能培训的目标。案例库支持使用者自行扩建,也为学生后续课程设计和毕业设计提供强有力支持。_x000D_ (5)由于Android版本更新较快,SDK的变化也较大。本书对相关控件演示最新变化时,也会讲解相关控件的特点、各版本差异、变迁和开发注意事项,让读者对Android开发有更全面的了解。_x000D_ 精彩页 第3章 Android常用布局 目前使用Android Studio开发设计UI(User Interface,用户接口)时还无法提供类似Visual Studio所见即所得的图形界面设计方式,但依靠线性布局(LinearLayout)、表格布局(TableLayout)、相对布局(RelativeLayout)、帧布局(FrameLayout)、绝对布局(AbsoluteLayout)、网格布局(GridLayout)和约束布局(ConstraintLayout)等已经能开发出各式各样 UI界面。本章节通过案例来学习各种布局的特点和相关属性设置。 在Android的UI开发中需要了解长度单位的几种表示方式。 视频讲解 3.1Android长度单位 Android布局设计的长度单位没有完全统一。常见的单位有px、dp、sp、pt、mm和in共6种。在布局文件的长度相关属性值中输入数字后, 图31智能提示中的长度单位 弹出智能提示中的长度单位,如图31所示。智能弹出提示框中会显示6种长度单位供开发人员选择。 以下是与长度相关的技术术语。 (1) px: 即像素(pixels),1px代表屏幕上一个物理的像素点。 (2) dp: 独立像素密度(Density Independent Pixels),早期叫dip),与像素无关。 (3) sp: 主要用于设置字体尺寸,会随着系统的字体大小而改变,即同样大小的dp和sp字体,在Android设置中改变字体大小后,以sp为单位的字体会随系统字体大小改变而改变,以dp为单位的字体大小不会改变。正常字体1dp=1sp,大字体和超大字体1sp>1dp。以下是布局文件代码。 【main.xml】 01 0203android:layout_width="match_parent" 04android:layout_height="match_parent" 05android:orientation="vertical"> 06 0709android:layout_height="wrap_content" 10android:text="Hello World! 你好,安卓!18sp" 11android:textSize="18sp" /> 12 1314android:layout_width="wrap_content" 15android:layout_height="wrap_content" 16android:text="Hello World! 你好,安卓!18dp" 17android:textSize="18dp" /> 18 以上代码按系统默认字体大小的效果如图32所示。 系统字体改成大字体后的效果如图33所示。 (4) in: 英寸,1in=2.54cm,一般用于屏幕对角线尺寸单位。 (5) pt: 磅,1in/72的长度,1pt=1in*2.54cm/72in≈0.035cm。 (6) 分辨率: 如果屏幕的分辨率是 1080*1920,是指水平方向上的像素数是1080px,垂直方向上像素数是1920px,屏幕分辨率如图34所示,根据勾股定律对角线则为2203px。 图32系统默认字体大小的效果 图33系统字体改成大字体后的效果 图34屏幕分辨率 (7) 屏幕像素密度: 图34的对角线的像素数为2203px,如果是5英寸屏(指对角线尺寸),屏幕像素密度为2203÷5=440; 如果是6寸屏,屏幕像素密度为2203÷6=367。如此一来就会有很多不同的屏幕像素密度,同样的图片在屏幕中显示所占比例也就不同。为此Android引入像素密度与逻辑密度的概念。 (8) 像素密度与逻辑密度: 像素密度(dot per inch,dpi)就是每英寸的像素点数,不同的像素密度对应不同的Android dpi名称。如像素密度是160,意思是每英寸像素数160px,对应的dpi名称为mdpi。Android Studio在构建项目时会自动建立一个名为HelloAndroid\app\src\main\res\mipmapmdpi的目录,目录中默认提供的图片分辨率为48×48。Android Studio同时也会建立其他Android dpi名称的目录,让不同分辨率、不同尺寸的宽度占屏幕的1/3,这是怎么回事呢?产生差异的原因是按钮布局android:layout_width属性是wrap_content还是match_parent。 (1) 当android:layout_width="wrap_content"时(假设按钮的文本内容长度没有超过屏幕占比),两个按钮占屏幕一行,每个按钮按各自占比设置宽度,如此例中layout_weight分别为1和2,则总和为3,“按钮1”占1/3,“按钮2”占2/3。 图310layout_width结合layout_ weight运行结果 (2) 当android:layout_width="match_parent"时,各按钮的宽度等于父容器宽度加上剩余空间的占比。设父容器宽度为L,“按钮3”和“按钮4”的android:layout_width="match_parent",所以两个按钮宽度都应该为L,剩余宽度就为父容器宽度减去两个按钮的宽度: L-(L+L)=-L。“按钮1”占1/3,所以“按钮3”的实际宽度是L(父容器宽度)+(-L)(剩余宽度)*1/3=L+(-L)*1/3=2L/3。同理,“按钮4”的实际宽度为L/3。 由此可以看出,Android在长度设置上除了长度单位不同外,还要考虑不同属性之间的影响。layout_weight属性并不能精确地控制 |