目录 第1章Android应用和开发环境1 1.1Android的历史、发展和系统架构1 1.1.1Android的起源1 1.1.2Android的发展和前景2 1.1.3Android的系统架构2 1.2搭建Android开发环境4 1.2.1需要的工具4 1.2.2搭建开发环境5 1.2.3Android Studio的安装10 1.3开发第一个Android应用14 1.3.1创建HelloAndroid项目14 1.3.2启动Android模拟器16 1.3.3运行第一个Android应用19 1.3.4Android应用结构分析20 1.4Android应用的基本组件介绍28 1.4.1Activity和View28 1.4.2Service28 1.4.3BroadcastReceiver29 1.4.4ContentProvider29 1.4.5Intent和IntentFilter29 1.5本章小结30 1.6习题30 第2章Android应用的视图界面编程32 2.1界面编程和视图32 2.1.1视图组件和容器组件32 2.1.2使用XML布局文件控制UI界面33 2.1.3在代码中控制UI33 2.2布局和布局分类35 2.2.1什么是布局35 2.2.2LinearLayout36 2.2.3TableLayout38 2.2.4FrameLayout42 2.2.5RelativeLayout44 2.2.6GridLayout45 2.2.7AbsoluteLayout48 2.2.8ConstraintLayout49 2.3Android系统基础UI组件51 2.3.1TextView及其子类51 2.3.2ImageView及其子类58 2.3.3AdapterView及其子类62 2.3.4Adapter接口及其实现类64 2.4本章小结70 2.5习题70 目录Android移动开发与项目实战(微课视频版)第3章常用的UI组件介绍71 3.1菜单71 3.1.1选项菜单71 3.1.2上下文菜单73 3.1.3弹出式菜单75 3.1.4设置与菜单项关联的Activity77 3.2对话框的使用79 3.2.1使用AlertDialog建立对话框79 3.2.2创建DatePickerDialog和TimePickerDialog对话框87 3.2.3创建ProgressDialog对话框88 3.2.4关于PopupWindow和DialogTheme窗口91 3.3ProgressBar及其子类93 3.3.1进度条ProgressBar的功能和用法93 3.3.2拖动条SeekBar的功能和用法96 3.3.3星级评分条RatingBar的功能和用法98 3.4本章小结100 3.5习题100 第4章Android系统事件处理102 4.1基于监听的事件处理102 4.1.1事件监听的处理模型102 4.1.2创建监听器105 4.1.3在标签中绑定事件处理器108 4.2基于回调的事件处理109 4.2.1回调机制109 4.2.2基于回调的事件传播109 4.2.3与监听机制对比111 4.3响应系统设置的事件112 4.3.1Configuration类简介112 4.3.2onConfigurationChanged()方法113 4.4Handler消息传递机制115 4.4.1Handler类简介115 4.4.2Handler、Loop、MessageQueue三者之间的关系117 4.5本章小结121 4.6习题122 第5章深入理解Activity与Fragment123 5.1创建、配置和使用Activity123 5.1.1Activity介绍123 5.1.2配置Activity125 5.1.3Activity的启动与关闭126 5.1.4使用Bundle在Activity之间交换数据129 5.2Activity的生命周期和启动模式136 5.2.1Activity的生命周期演示136 5.2.2Activity的4种启动模式142 5.3Fragment详解144 5.3.1Fragment的生命周期144 5.3.2创建Fragment149 5.3.3Fragment与Activity通信152 5.3.4Fragment管理与Fragment事务152 5.4本章小结153 5.5习题153 第6章使用Intent和IntentFilter进行通信155 6.1Intent对象简述155 6.2Intent属性与intentfilter配置156 6.2.1Component属性156 6.2.2Action、Category属性与intentfilter配置157 6.2.3Data、Type属性与intentfilter配置160 6.2.4Flag属性162 6.3本章小结162 6.4习题163 第7章Android应用的资源164 7.1Android应用资源概述164 7.1.1资源的类型以及存储方式164 7.1.2使用资源165 7.2字符串、颜色、样式资源167 7.2.1颜色值的定义167 7.2.2定义字符串、颜色、样式资源文件167 7.3数组资源169 7.4使用Drawable资源173 7.4.1图片资源173 7.4.2StateListDrawable资源173 7.4.3AnimationDrawable资源175 7.5使用原始XML资源176 7.5.1定义使用原始XML资源177 7.5.2使用原始XML文件177 7.6样式和主题资源179 7.6.1样式资源179 7.6.2主题资源180 7.7本章小结181 7.8习题181 第8章图形与图像处理182 8.1使用简单图片182 8.2绘图186 8.2.1Android绘图基础: Canvas、Paint等186 8.2.2Path类189 8.3图形特效处理192 8.3.1使用Matrix控制变换192 8.3.2使用drawBitmapMesh扭曲图像195 8.4逐帧动画198 8.5补间动画200 8.5.1补间动画与插值器Interpolator200 8.5.2位置、大小、旋转度、透明度改变的补间动画201 8.6属性动画203 8.6.1属性动画API204 8.6.2使用属性动画205 8.7使用SurfaceView实现动画211 8.8本章小结217 8.9习题217 第9章Android数据存储与I/O219 9.1使用SharedPreferences219 9.1.1SharedPreferences简介219 9.1.2SharedPreferences的存储位置和格式220 9.2File存储222 9.2.1打开应用中数据文件的I/O流222 9.2.2读写SD卡上的文件225 9.3SQLite数据库228 9.3.1SQLiteDatabase简介229 9.3.2创建数据库和表230 9.3.3使用SQL语句操作SQLite数据库230 9.3.4使用特定方法操作SQLite数据库234 9.3.5事务236 9.3.6SQLiteOpenHelper类236 9.4手势240 9.4.1手势检测240 9.4.2增加手势245 9.5本章小结248 9.6习题248 第10章使用ContentProvider实现数据共享250 10.1数据共享标准: ContentProvider250 10.1.1ContentProvider简介250 10.1.2Uri简介252 10.1.3使用ContentResolver操作数据252 10.2开发ContentProvider253 10.2.1开发ContentProvider的子类253 10.2.2使用ContentResolver调用方法255 10.3操作系统的ContentProvider257 10.3.1使用ContentProvider管理联系人258 10.3.2使用ContentProvider管理多媒体260 10.4监听ContentProvider的数据改变267 10.5本章小结270 10.6习题270 第11章Service与BroadcastReceiver271 11.1Service简介271 11.1.1创建、配置Service271 11.1.2启动和停止Service273 11.1.3绑定本地Service274 11.1.4Service的生命周期279 11.1.5IntentService简介279 11.2电话管理器283 11.3短信管理器288 11.4音频管理器289 11.5手机闹钟服务292 11.6接收广播消息295 11.6.1BroadcastReceiver简介295 11.6.2发送广播296 11.6.3有序广播298 11.7本章小结300 11.8习题300 第12章Android网络应用302 12.1基于TCP的网络通信302 12.1.1TCP基础302 12.1.2使用Socket进行通信303 12.1.3加入多线程307 12.2使用URL访问网络资源313 12.2.1使用URL读取网络资源313 12.2.2使用URLConnection提交请求313 12.3使用HTTP访问网络315 12.4使用Web Service进行网络编程322 12.4.1Web Service平台概述322 12.4.2使用Android应用调用Web Service324 12.5本章小结328 12.6习题328 第13章多媒体应用开发330 13.1音频和视频的播放330 13.1.1使用MediaPlayer播放音频330 13.1.2音乐特效控制332 13.1.3使用VideoView播放视频339 13.2使用MediaRecorder录制音频342 13.3控制摄像头拍照345 13.4本章小结355 13.5习题355 第14章项目实战: “生活说”项目(上)357 14.1项目概述357 14.1.1项目分析357 14.1.2项目功能展示357 14.2启动页359 14.2.1启动页流程图359 14.2.2开发启动页360 14.3MVP架构简介369 14.4获取网络数据的工具类370 14.5MVP之Model层开发374 14.5.1bean类374 14.5.2IModel接口的开发377 14.5.3Model实现类的开发379 14.6MVP之Presenter层开发384 14.6.1监听接口开发384 14.6.2IPresenter接口的开发385 14.6.3Presenter实现类的开发386 14.7本章小结390 第15章项目实战: “生活说”项目(下)391 15.1MVP之View层开发391 15.1.1IView接口开发391 15.1.2项目界面开发392 15.1.3View实现类开发401 15.2自定义适配器407 15.3权限控制410 15.4本章小结410