×
图文详情
  • ISBN:9787302518044
  • 装帧:简裝本
  • 册数:暂无
  • 重量:暂无
  • 开本:16开
  • 页数:382
  • 出版时间:2019-02-01
  • 条形码:9787302518044 ; 978-7-302-51804-4

本书特色

  《Android 从入门到精通》按照“即重理论更重实践”的编写思路,为读者提供满足实战需求的Android开发学习内容。既适合Android初学者,也适合具备了一定Android开发经验但需要加深知识理解的高级读者。

内容简介

  作为Android应用开发书籍,本书既适合Android初学者,也适合虽具备一定Android开发经验但需要加深知识理解的读者。本书共15章,主要内容包括Android常用UI组件介绍、Android事件处理机制、Android四大组件、Android中的动画、Android网络应用、Android APP项目实战等几大部分,全书由浅入深地详细介绍了Android的每个开发细节。本书内容翔实,示例丰富,案例典型。编者按照“既重理论更重实践”的编写思路为读者提供满足实战需求的Android开发知识内容。读者所需要学习的,正是本书描述的。  本书可作为高等院校本、专科计算机相关专业的Android入门教材,也可作为计算机编程爱好者的自学参考书。

目录

目录 第1章 Android应用和开发环境 1 1.1 Android的历史和发展 1 1.1.1 Android的起源 1 1.1.2 Android的发展与前景 1 1.1.3 Android的系统架构 2 1.2 搭建Android开发环境 4 1.2.1 需要的工具 4 1.2.2 搭建开发环境 5 1.2.3 Android Studio的安装 9 1.3 开始**个安卓应用 12 1.3.1 创建HelloWorld项目 12 1.3.2 启动Android模拟器 14 1.3.3 运行**个Android应用 17 1.3.4 Android应用结构分析 18 1.4 Android应用的基本组件介绍 25 1.4.1 Activity和View 26 1.4.2 Service 26 1.4.3 BroadcastReceiver 26 1.4.4 ContentProvider 27 1.4.5 Intent和IntentFilter 27 1.5 本章小结 27 1.6 习题 28 第2章 Android应用的界面编程 29 2.1 界面编程和视图 29 2.1.1 视图组件和容器组件 29 2.1.2 使用XML布局文件 控制UI界面 30 2.1.3 在代码中控制UI界面 30 2.1.4 自定义UI组件 32 2.2 布局管理器 35 2.2.1 什么是布局 35 2.2.2 线性布局 36 2.2.3 表格布局 39 2.2.4 帧布局 43 2.2.5 相对布局 44 2.2.6 网格布局 46 2.2.7 绝对布局 49 2.3 几组重要的UI组件 49 2.3.1 TextView及其子类 49 2.3.2 ImageView及其子类 56 2.3.3 AdapterView及其子类 60 2.3.4 Adapter接口及其实现类 62 2.4 本章小结 67 2.5 习题 68 第3章 常用的UI组件介绍 69 3.1 菜单 69 3.1.1 选项菜单 69 3.1.2 上下文菜单 71 3.1.3 弹出式菜单 74 3.1.4 设置与菜单项关联的Activity 76 3.2 对话框的使用 77 3.2.1 使用AlertDialog建立对话框 77 3.2.2 创建DatePickerDialog与TimePickerDialog对话框 85 3.2.3 创建ProgressDialog进度对话框 86 3.2.4 关于PopupWindow及DialogTheme窗口 88 3.3 ProgressBar及其子类 90 3.3.1 进度条的功能和用法 91 3.3.2 拖动条的功能和用法 93 3.3.3 星级评分条的功能和用法 96 3.4 本章小结 97 3.5 习题 98 第4章 Android事件处理 99 4.1 基于监听的事件处理 99 4.1.1 事件监听的处理模型 99 4.1.2 创建监听器的几种形式举例 102 4.1.3 在标签中绑定事件处理器 104 4.2 基于回调的事件处理 105 4.2.1 回调机制 105 4.2.2 基于回调的事件传播 106 4.2.3 与监听机制对比 107 4.3 响应系统设置的事件 108 4.3.1 Configuration类简介 108 4.3.2 onConfigurationChanged方法 110 4.4 Handler消息传递机制 111 4.4.1 Handler类简介 112 4.4.2 Handler、Loop及MessageQueue三者的关系 113 4.5 本章小结 117 4.6 习题 117 第5章 深入理解Activity与Fragment 119 5.1 建立、配置和使用Activity 119 5.1.1 Activity介绍 119 5.1.2 配置Activity 121 5.1.3 Activity的启动与关闭 122 5.1.4 使用Bundle在Activity之间交换数据 125 5.2 Activity的生命周期和启动模式 130 5.2.1 Activity的生命周期演示 130 5.2.2 Activity的4种启动模式 135 5.3 Fragment详解 138 5.3.1 Fragment的生命周期 138 5.3.2 创建Fragment 143 5.3.3 Fragment与Activity通信 145 5.3.4 Fragment管理与Fragment事务 146 5.4 本章小结 146 5.5 习题 147 第6章 使用Intent和IntentFilter进行通信 148 6.1 Intent对象简述 148 6.2 Intent属性及intent-filter配置 149 6.2.1 Component属性 149 6.2.2 Action、Category属性与intent-filter配置 150 6.2.3 Data、Type属性与intent-filter配置 152 6.2.4 Flag属性 154 6.3 本章小结 154 6.4 习题 155 第7章 Android应用的资源 156 7.1 Android应用资源概述 156 7.1.1 资源的类型以及存储方式 156 7.1.2 使用资源 157 7.2 字符串、颜色与样式资源 159 7.2.1 颜色值的定义 160 7.2.2 定义字符串、颜色与样式资源文件 160 7.3 数组资源 161 7.4 使用Drawable资源 165 7.4.1 图片资源 165 7.4.2 StateListDrawable资源 165 7.4.3 AnimationDrawable资源 167 7.5 使用原始XML资源 168 7.5.1 定义使用原始XML资源 168 7.5.2 使用原始XML文件 169 7.6 样式和主题资源 171 7.6.1 样式资源 171 7.6.2 主题资源 172 7.7 本章小结 172 7.8 习题 173 第8章 图形与图像处理 174 8.1 使用简单图片 174 8.2 绘图 177 8.2.1 Android绘图基础:Canvas、Paint等 178 8.2.2 Path类 180 8.3 图形特效处理 183 8.3.1 使用Matrix控制变换 183 8.3.2 使用drawBitmapMesh扭曲图像 186 8.4 逐帧动画 188 8.5 补间动画 190 8.5.1 补间动画与插值器Interpolator 190 8.5.2 位置、大小、旋转度与透明度改变的补间动画 191 8.6 属性动画 194 8.6.1 属性动画API 194 8.6.2 使用属性动画 196 8.7 使用SurfaceView实现动画 201 8.8 本章小结 206 8.9 习题 206 第9章 Android数据存储与IO 208 9.1 使用SharedPreferences 208 9.1.1 SharedPreferences简介 208 9.1.2 SP的存储位置和格式 209 9.2 File存储 211 9.2.1 打开应用中数据文件的IO流 211 9.2.2 读写SD卡上的文件 214 9.3 SQLite数据库 216 9.3.1 SQLiteDatabase简介 216 9.3.2 创建数据库和表 218 9.3.3 使用SQL语句操作SQLite数据库 218 9.3.4 使用特定方法操作SQLite数据库 222 9.3.5 事务 223 9.3.6 SQLiteOpenHelper类 224 9.4 手势 227 9.4.1 手势检测 228 9.4.2 增加手势 232 9.5 本章小结 235 9.6 习题 235 第10章 使用ContentProvider实现数据共享 237 10.1 数据共享标准:ContentProvider 237 10.1.1 ContentProvider简介 237 10.1.2 URI简介 239 10.1.3 使用ContentResolver操作数据 239 10.2 开发ContentProvider 240 10.2.1 开发ContentProvider的子类 240 10.2.2 使用ContentResolver调用方法 242 10.3 操作系统的ContentProvider 244 10.3.1 使用ContentProvider管理联系人 244 10.3.2 使用ContentProvider管理多媒体 246 10.4 监听ContentProvider的数据改变 250 10.5 本章小结 252 10.6 习题 252 第11章 Service与BroadcastReceiver 254 11.1 Service简介 254 11.1.1 创建和配置Service 254 11.1.2 启动和停止Service 256 11.1.3 绑定本地Service 257 11.1.4 Service的生命周期 260 11.1.5 IntentService简介 261 11.2 电话管理器 264 11.3 短信管理器 269 11.4 音频管理器 270 11.5 手机闹钟服务 272 11.6 接收广播消息 275 11.6.1 BroadcastReceiver简介 276 11.6.2 发送广播 276 11.6.3 有序广播 278 11.7 本章小结 280 11.8 习题 281 第12章 Android网络应用 282 12.1 基于TCP协议的网络通信 282 12.1.1 TCP协议基础 282 12.1.2 使用Socket进行通信 284 12.1.3 加入多线程 288 12.2 使用URL访问网络资源 292 12.2.1 使用URL读取网络资源 292 12.2.2 使用URLConnection提交请求 293 12.3 使用HTTP访问网络 295 12.4 使用WebService进行网络编程 301 12.4.1 WebService平台概述 301 12.4.2 使用Android应用调用WebService 303 12.5 本章小结 307 12.6 习题 307 第13章 多媒体应用开发 309 13.1 音频和视频的播放 309 13.1.1 使用MediaPlayer播放音频 309 13.1.2 音乐特效控制 311 13.1.3 使用VideoView播放视频 316 13.2 使用MediaRecorder录制音频 319 13.3 控制摄像头拍照 322 13.4 本章小结 329 13.5 习题 329 第14章 文字控实战项目(一) 331 14.1 项目概述 331 14.1.1 项目分析 331 14.1.2 项目功能展示 332 14.2 启动界面 334 14.2.1 启动页面流程图 334 14.2.2 开发启动页面 335 14.3 MVP架构简介 341 14.4 获取网络数据的工具类 341 14.5 MVP之Model层开发 344 14.5.1 bean类 345 14.5.2 IModel接口的开发 347 14.5.3 Model实现类的开发 349 14.6 MVP之Presenter层开发 354 14.6.1 监听接口开发 355 14.6.2 IPresenter接口的开发 356 14.6.3 Presenter实现类的开发 356 14.7 本章小结 360 14.8 习题 360 第15章 文字控实战项目(二) 361 15.1 MVP之View层开发 361 15.1.1 IView接口开发 361 15.1.2 项目界面开发 362 15.1.3 View实现类开发 370 15.2 自定义适配器 375 15.3 数据转换工具 378 15.4 权限控制 381 15.5 本章小结 381 15.6 习题 382
展开全部

节选

第3章  常用的UI组件介绍  本章学习目标  掌握本章中讲解的所有UI组件。  我们在实际开发中会经常使用UI组件来组合项目的界面,而常用的UI组件无非就是几种,至于特殊的组件可以通过第2章中的自定义UI组件来绘制。通过对本章的学习,读者应掌握常用UI组件的用法。  3.1 菜 单  Android中的菜单(menu)在桌面应用中十分广泛,几乎所有的桌面应用都会使用到。Android应用中的菜单分为三种:选项菜单(OptionMenu)、上下文菜单(ContextMenu)、弹出式菜单(PopupMenu),本节依次介绍这些内容。  3.1.1 选项菜单  从Android 3.1开始引入了全新的操作栏,扩展了很多功能,例如安置菜单选项、配置应用图标作为导航按钮等。  可显示在操作栏上的菜单称为选项菜单(OptionMenu)。选项菜单提供了一些选项,用户选择后可进行相应的操作。  一般为Android应用添加选项菜单的步骤如下。  (1)重写Activity的onCreateOptionsMenu(Menu menu)方法,在该方法里调用Menu对象的方法添加菜单项。  (2)如果想要引用程序响应菜单项的单击事件,就要继续重写Activity的onOptionsItemSelected(MenuItem mi)方法。  添加菜单项的方式与UI组件的使用方式一样,可以在代码中使用也可以在XML布局文件中使用。Android同样推荐在XML中使用菜单,具体为在app\src\main\res文件夹中创建名称为menu的文件夹,创建完成之后在menu文件夹中新建根标签为menu的布局文件,来看具体的示例代码。  【例3-1】 XML文件中的选项菜单options_menu.xml。  1   2 xmlns:app="http://schemas.android.com/apk/res-auto">  3   4 android:title="**个菜单项"/>  5   6 android:title="第二个菜单项"/>  7   8 android:title="第三个菜单项"/>  9  菜单定义完成之后需要在代码中使用才可以看到效果,Java代码如下:  1 public class MainActivity extends AppCompatActivity {  2 @Override  3 protected void onCreate(Bundle savedInstanceState) {  4 super.onCreate(savedInstanceState);  5 setContentView(R.layout.activity_main);  6 }  7 @Override  8 public boolean onCreateOptionsMenu(Menu menu) {  9 getMenuInflater().inflate(R.menu.option_menu, menu);  10 return true;  11 }  12 @Override  13 public boolean onOptionsItemSelected(MenuItem item) {  14 switch (item.getItemId()) {  15 case R.id.menu_item1:  16 Toast.makeText(MainActivity.this,  17 "**个菜单项", Toast.LENGTH_LONG).show();  18 break;  19 case R.id.menu_item2:  20 Toast.makeText(MainActivity.this,  21 "第二个菜单项", Toast.LENGTH_LONG).show();  22 break;  23 case R.id.menu_item3:  24 Toast.makeText(MainActivity.this,  25 "第三个菜单项", Toast.LENGTH_LONG).show();  26 break;  27 }  28 return true;  29 }  30 }  ……

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航