搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
实战Android应用开发
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787302288640
  • 作      者:
    李鸥等编著
  • 出 版 社 :
    清华大学出版社
  • 出版日期:
    2012
收藏
内容介绍
    《实战android应用开发》通过开发实例和项目案例,详细地介绍了android应用开发的主要技术。书中的每一个知识点都通过常用示例进行通俗易懂的讲解,便于读者快速掌握android应用开发的知识,并能够快速地开发出android应用程序。本书配带1张光盘,收录了本书重点内容的教学视频和本书涉及的所有源代码。
    《实战android应用开发》分为11章,从android的基本知识讲起,通过实例逐步深入讲解了android的界面布局、程序特性、数据存储、网络通信、多媒体、手机短信通话、传感器和gps等应用开发的基本知识,然后介绍了android ndk开发等拓展知识,最后介绍了文件管理器、微博客户端综合案例,使读者综合应用所学知识,提高实战开发水平。
    《实战android应用开发》适合有一定java基础的android新手和移动开发新入行的人员阅读。对于有一定基础的读者,可通过本书进一步理解android应用开发的各个重点知识和概念;对于大、中专院校的学生和培训班的学员,本书不失为一本好教材。
展开
精彩书摘

    第1章  Android基础
  随着移动网络速度的提升、移动设备性能的提升以及人们对移动设备功能要求的提高,Android这一开放、快速、友好的手机操作系统应运而生并已成燎原之势。
  在2012年初,三星、摩托罗拉、HTC等众多手机巨头都拥有了具有自身特色的Android手机系列,Android系统手机也已稳居智能手机发货量的第一位。软件开发方面,大家也纷纷加入Android开发行列,Google官方市场应用数量和下载量急速上升,国内各大Android应用市场,也开始拥有越来越丰富的应用和越来越高的下载量。面对如此火热且具有无线潜力的市场,我们当然不能错过这样的机会。接下来,我们就开始我们的Android应用开发之旅。
1.1  Android介绍
  早在2005年7月,Google公司收购了由Andy Rubin(Android之父)等人创立的一家小公司。他们当时做的就是基于Linux内核的手机操作系统,也就是Android系统的雏形。Google公司经过多年打磨,终于在2007年11月,正式向外界展示Android操作系统并与34家手机制造商、软件开发商、电信运营商和芯片制造商共同创建开放手持设备联盟,致力于Android操作系统的开发与推广。这样,Android手机操作系统得到了快速发展和推广,Android手机设备开始大批量的生产。
1.1.1  Android发展史
  Android系统是一种以Linux为基础的开放源码的操作系统,主要使用于便携设备。主要发行了如下几个版本:
* Android 1.1
  在2008 年9月发布的Android第一版。
* Android 1.5
  在2009年4月30日发布,命名为Cupcake(纸杯蛋糕)。该版本是较稳定的第一个版本,也是第一部Android手机G1使用的操作系统。
* Android 1.6
  在2009年9月15日发布,命名为Donut(甜甜圈)。该版本主要对OpenCore2媒体引擎进行了支持。
* Android 2.0/2.0.1/2.1
  在2009年10月26日发布,命名为?clair(松饼)。该版本主要针对新的浏览器的用户接口,支持HTML5、内置相机闪光灯、数码变焦、蓝牙2.1等。
* Android 2.2/2.2.1
  在2010年5月20日发布,命名为Froyo(冻酸奶)。该版本对整体性能进行了大幅度的提升,支持Flash并提高了更多的Web应用API接口的开发,是当前Android手机中最常见的版本。
* Android 2.3
  在2010年12月7日发布,命名为Gingerbread(姜饼)。该版本主要简化了界面、提升了速度,有更良好的用户体验,也是目前主流的Android手机操作系统版本。
* Android 3.0
  在2011年2月2日发布,命名为Honeycomb(蜂巢)。该版本主要针对平板进行优化,全新设计出了UI,增强网页浏览功能等。该版本用于平板电脑,一般不用于手机设备。
* Android 4.0
  在2011年10月19日发布,命名为Ice Cream Sandwich(冰激凌三明治)。该版本使用了全新的UI界面、更强大的图片编辑功能、人脸识别功能等,对系统进一步优化,速度更快,UI更美观,用户体验更友好。目前,能够使用该版本的Android手机比较少,但它是未来Android手机版本的新要求和趋势。
1.1.2  平台架构及特性
  虽然,Android系统版本不断地进行着更新,但是其平台架构是没有改变的。其思想是以Linux为基础,对不同功能需求进行分层处理,各层之间统一接口,不关心接口在其他功能分层中的具体实现,来达到集中各自的关注层次,更好的提升Android操作系统的可适用性,其整体架构如图1.1所示。

图1.1  Android架构图
  从图中可以很明显地看出Android操作系统分为4层,由上而下依次是应用程序层、应用程序框架层、运行库层和Linux内核层。
  1.应用程序层
  该层是Android操作系统的最上层,所有用户能直观看到的程序都是属于应用程序层。其中,包括了Android的一系列核心应用程序包,如SMS短消息程序、日历、浏览器、联系人管理程序等,也包括了其他第三方的丰富应用。本书将针对该层的应用程序的开发进行实例讲解。
  一般来说,Android的应用开发都是在其SDK的基础上,使用Java语言来进行编写。在绝大时候也确实是这样的,但自从Android提供了NDK后,可以通过JNI接口来调用自行开发的C/C++库来进行处理。但是,纯C++应用依然是不能运行在应用层的。
  2.应用程序框架层
  该层是Android系统提供给应用程序层所使用的API框架,进行应用程序开发就需要使用这些框架来实现,并且必须遵守其开发原则。这些API框架包含了所有开发所用的SDK类库,同时也还有一些未公开接口的类库和实现。正是这些未公开的类库和接口,使得第三方的应用程序可能无法实现系统应用程序的部分功能。
  从系统架构图中可以看出,应用程序框架层主要提供了九大服务来管理应用程序,主要包括:
  (1)活动管理器(Activity Manager)
  该管理器用于管理应用程序生命周期并提供常用的导航回退功能。
  (2)窗口管理器(Window Manager)
  该管理器用于管理所有的窗口程序。
  (3)内容提供器(Content Providers)
  该组件用于一个应用程序提供给其他应用程序访问其数据。这是Android四大组件之一,最常用的应用情形是系统中的联系人数据库以及短信数据库等,当然第三方应用程序也可以通过它来实现共享它们自己的数据。
  (4)视图系统(View System)
  其中包括了基本的按钮(Buttons)、文本框(Text boxes)、列表(Lists)等视图,这些都是在界面设计中经常使用到的。除了这些系统已经定义的视图外,还提供了接口用于实现开发人员自定义的视图。
  (5)通知管理器(Notification Manager)
  该管理器用于应用程序可以在状态栏中显示自定义的提示信息。
  (6)包管理器(Package Manager)
  该管理器用于Android系统内的程序管理。
  (7)电话管理器(Telephony Manager)
  该管理器用于Android系统中与手机通话相关的管理,如电话的呼入呼出、手机网络状态的获取等。
  (8)资源管理器(Resource Manager)
  该管理器主要提供非代码资源的访问,如本地字符串、图形、和布局文件(layout files)等。
  (9)位置管理器(Location Manager)
  该管理器主要用于对位置信息的管理。主要包括了非精确位置定位的手机基站信息、无线热点信息,以及精确位置定位的GPS信息等。
  3.运行库层
  在运行库层中包括了两部分,一部分是开源的第三方C/C++库,一部分是Android系统运行库。第三方的C/C++库主要用于支持我们使用各个组件,主要的库包括了:
  (1)Bionic系统C库(Libc)
  该库是一个从BSD继承来的标准C系统函数库,它是专门为基于Linux系统的设备定制的。
  (2)Surface Manager
  该库用于对显示子系统的管理,并且为多个应用程序提供了2D和3D 图层的无缝融合。
  (3)多媒体库(Media Framework)
  该库基于 PacketVideo OpenCORE,使用该库使得Android系统支持多种常用的音频、视频格式的回放和录制,同时支持静态图像文件等。
  (4)SQLite库
  该库是一个功能强劲的轻型关系型数据库引擎。在Android系统的数据存储中,数据库存储是非常重要的一种存储方式,例如系统的短信、联系人信息等都使用数据库来存储。
  (5)WebKit库
  该库是一个开源的浏览器引擎。WebKit 所包含的 WebCore 排版引擎和 JSCore 引擎,其高效稳定、兼容性好。
  Android的系统运行库包括了一个Andorid核心库和Dalvik虚拟机。
  核心库提供了Java编程语言核心库的大多数功能。Dalvik虚拟机是Android的Java虚拟机,解释执行Java的应用程序。
  每一个Android 应用程序都拥有自己的进程,并且都拥有一个独立的 Dalvik 虚拟机实例。 Dalvik虚拟机被设计成同一个设备可以同时高效地运行多个虚拟系统。Dalvik 虚拟机执行.dex的可执行文件,该格式文件针对小内存使用做了优化,在手机等移动设备中运行更高效。
  4.Linux内核层
  Android的核心系统服务依赖于Linux 2.6内核,并在其基础上针对手机这样的移动设备进行了优化,用于提供安全机制、内存管理、电源管理、进程管理、网络协议栈和驱动模型等。
  除了提供这些底层管理之外,Linux 内核层也提供了硬件设备的驱动,可以看作是硬件和上层软件之间的抽象层,为上层提供相对统一的接口。
  这样的层次划分,使得Android各层之间分离,当我们进行应用开发时,不需要过多地关心Linux内核、第三方库以及Dalvik虚拟机等是如何完成具体实现的,绝大部分时候只需要关注在应用程序框架层提供的API,即使底层的实现细节发生改变,也不需要重写上层的应用程序,实现应用程序开发适宜性、可重用性以及快捷性。
  通过这样的平台架构设计,也可以看出Android系统可以完成数据存储、网络通信访问、音视频等多媒体的应用、手机短信通话等应用,以及在硬件设备支持的基础上的照相、蓝牙、无线、GPS定位、重力感应等丰富的应用。接下来,我们一步一步通过实例在Android系统中实现这些应用开发。
1.2  开发环境的搭建
  我们已经了解了Android操作系统的发展与其架构,对于这么优秀的操作系统,我们当然要赶紧搭建开发环境来进行应用程序的开发。
  Android的开发可以在Windows平台上进行,也可以在Linux平台中进行,在这两大平台中进行Android应用程序开发的环境搭建步骤是大同小异的。在这里,我们以Windows平台为例进行开发环境的搭建。
  Android的开发环境并不是唯一的,但是使用Eclipse来进行Android应用开发是目前最快速便捷、最常见的开发方式,也是官方推荐的方式。在这里,我们一步一步来实现在Eclipse下Android应用开发环境的搭建。
1.2.1  Java下载安装
  Android的应用程序都是使用Java语言来进行编写,要编译Java语言自然少不了JDK的支持。有Java开发经验的读者,对于JDK的安装与配置应该不会陌生,步骤如下:
  1.JDK下载
  在进行Android开发时,需要选择JDK 1.5及以上版本。选择最新的JDK版本进行下载。在下载时,需要注意自己使用的操作系统平台,选择对应的JDK进行下载,如图1.2所示。

图1.2  JDK下载
  2.JDK安装
  下载完成的JDK是一个安装包程序,在Windows平台上双击执行即可,不再赘述。
  3.Java环境配置
  在使用Java工具对Java语言进行编译、运行时,必须配置Java的环境,主要是配置Java的路径、Path和Classpath这三个环境变量。
  在Windows桌面上右键单击“我的电脑”,在菜单中选择“属性”命令。在弹出的“系统属性”界面中,选择“高级”选项卡,在其中选择“环境变量”,如图1.3所示。
  在弹出的“环境变量”对话框中,选择“系统变量”下的“新建”按钮。在“新建环境变量”弹出框中,新建变量名为“JAVA_HOME”,变量值为安装的JDK路径,如“C:\Program Files\Java\jdk1.6.0_10”,如图1.4所示。
 
                 图1.3  环境变量                        图1.4  新建Java Home
  此外,还需要新建一个变量名为“JAVA”、变量值为安装的JDK的dt.jar和tools.jar的路径,如“E:\Program Files\Java\jdk1.6.0_10\lib\dt.jar;E:\Program Files\Java\jdk1.6.0_10\lib\ tools.jar;.;”。
  除了新建这两个环境变量外,还需要添加一个环境变量。找到变量名为Path的变量,在其变量值后添加JDK的bin路径。例如,添加“;C:\Program Files\Java\jdk1.6.0_10\bin”,如图1.5所示。
  添加这两个环境变量完成后,在CMD命令控制台中输入java -version,查看JDK的版本信息,安装成功,则会输出安装的版本。输入如下:
  
C:\Documents and Settings\Owner>java -version
java version "1.6.0_29"
Java(TM) SE Runtime Environment (build 1.6.0_29-b11)
Java HotSpot(TM) Client VM (build 20.4-b02, mixed mode, sharing)

图1.5  添加Path
1.2.2  Android SDK下载
  在Android开发官网下载SD,如图1.6所示。

图1.6  Android SDK下载
  对于各个操作系统平台下载其对应的Android SDK版本。在Windows平台中,下载完成并解压后,SDK目录中并没有Android的开发版本。其目录中主要包括了如下几个子             目录:
  (1)add-ons
  该目录为空,用于保存Google的插件工具。
  (2)platforms

    ……

展开
目录
第1章 android基础( 教学视频:38分钟)
1.1 android介绍
1.1.1 android发展史
1.1.2 平台架构及特性
1.2 开发环境的搭建
1.2.1 java下载安装
1.2.2 android sdk下载
1.2.3 eclipse下载安装
1.2.4 eclipse配置
1.3 第一个android应用
1.3.1 创建android项目
1.3.2 运行调试android项目
1.4 工程目录结构及作用
1.5 本章总结
1.6 习题

第2章 android界面设计( 教学视频:49分钟)
2.1 界面设计原则和流程
2.1.1 界面设计原则
2.1.2 界面设计基本流程
2.2 界面开发利器droiddraw
2.2.1 安装droiddraw
2.2.2 简单使用droiddraw
2.3 android中的基本布局layout
2.3.1 永不改变--帧布局(framelayout)
2.3.2 糖葫芦--线性布局(linearlayout)
2.3.3 阡陌纵横--表格布局(tablelayout)
2.3.4 我说在哪就在哪--绝对布局(absolutelayout)
2.3.5 我的邻桌--相对布局(relativelayout)
2.3.6 分而治之--切换卡(tabwidget)
2.3.7 犹抱琵琶半遮面--滚动视图(scrollview)
2.3.8 列表(listview)
2.4 android中综合界面实例
2.4.1 登录界面
2.4.2 体重计算器
2.4.3 相簿
2.4.4 四宫格
2.5 android中的常用特效
2.5.1 滚动文字
2.5.2 震动效果
2.5.3 镜像特效
2.6 android的主题和风格
2.7 本章总结
2.8 习题

第3章 android应用程序特性( 教学视频:129分钟)
3.1 activity--活动
3.1.1 横竖屏切换
3.1.2 拨打电话
3.1.3 活动总结
3.2 service--服务
3.2.1 创建服务
3.2.2 开始服务方式
3.2.3 绑定服务方式
3.2.4 服务总结
3.3 broadcastreceiver--广播
3.3.1 自定义广播
3.3.2 系统广播--短信广播
3.3.3 广播接收器总结
3.4 消息处理
3.4.1 进度条更新
3.4.2 搜索sd卡文件
3.4.3 异步处理总结
3.5 本章总结
3.6 习题

第4章 android数据存储( 教学视频:137分钟)
4.1 数据存储的方式
4.2 sharedpreference
4.2.1 自动保存登录信息
4.2.2 多应用程序共享用户信息
4.3 文件存储
4.3.1 文件的保存和读取
4.3.2 sd卡文件的保存和读取
4.3.3 文件存储总结
4.3.4 文件复制到sd卡
4.4 数据库存储
4.4.1 学生信息数据库的创建和删除
4.4.2 学生信息表的创建和删除
4.4.3 学生信息的增删改查
4.5 日记本
4.5.1 写日记
4.5.2 主界面
4.5.3 读取修改日记
4.5.4 日记本小结
4.6 网络存储
4.6.1 系统邮件设置
4.6.2 发送邮件
4.6.3 运行分析总结
4.7 数据共享
4.7.1 共享的图书信息
4.7.2 内容提供者(contentprovider)
4.7.3 内容解析器(contentresolver)
4.7.4 运行分析总结
4.8 系统通讯录
4.8.1 系统通讯录的保存
4.8.2 获取通讯录联系人信息
4.8.3 显示通讯录联系人
4.9 本章总结
4.10 习题

第5章 android网络通信( 教学视频:116分钟)
5.1 网络通信方式
5.2 android控制pc关机
5.2.1 pc服务器端
5.2.2 android控制端
5.2.3 运行分析总结
5.3 android即时聊天
5.3.1 android接收端
5.3.2 android发送端
5.3.3 运行分析总结
5.4 查询手机归属地
5.4.1 get请求
5.4.2 post请求
5.4.3 显示结果
5.4.4 总结
5.5 天气预报
5.5.1 天气获取
5.5.2 xml文件解析
5.5.3 结果显示
5.5.4 总结
5.6 在线翻译
5.6.1 web service环境
5.6.2 web service服务调用
5.6.3 总结
5.7 简易浏览器
5.7.1 浏览网页
5.7.2 网页事件处理
5.7.3 网页拍照
5.7.4 分析总结
5.8 wifi管理
5.9 蓝牙聊天
5.9.1 蓝牙搜索
5.9.2 聊天通信
5.9.3 总结
5.10 本章总结
5.11 习题

第6章 android多媒体( 教学视频:79分钟)
6.1 音乐播放器
6.1.1 播放列表
6.1.2 音乐播放
6.1.3 运行分析总结
6.2 学话机器人
6.2.1 语音录制
6.2.2 机器人学话
6.2.3 运行分析总结
6.3 视频播放器
6.3.1 多媒体播放类
6.3.2 视频视图videoview
6.3.3 视频播放总结
6.4 照相机
6.4.1 系统照相机
6.4.2 简易相机
6.4.3 照相总结
6.5 条纹码识别器
6.5.1 条纹码识别库
6.5.2 条纹码获取
6.5.3 条纹码总结
6.6 本章总结
6.7 习题

第7章 手机通信功能开发( 教学视频:100分钟)
7.1 短信导出
7.1.1 系统短信的保存
7.1.2 导出短信
7.1.3 分析总结
7.2 短信收发软件
7.2.1 短信防火墙
7.2.2 系统发送短信
7.2.3 直接发送短信
7.3 语音通话
7.3.1 呼出电话
7.3.2 来电防火墙
7.4 桌面备忘录
7.4.1 桌面实现
7.4.2 内容添加
7.4.3 widget运行
7.5 本章总结
7.6 习题

第8章 传感器、gps应用开发( 教学视频:24分钟)
8.1 访问传感器
8.1.1 世界坐标系
8.1.2 旋转坐标系
8.1.3 获取传感器清单(需要真机)
8.1.4 指南针应用(真机版)
8.1.5 指南针应用(模拟器版)
8.1.6 计步器应用
8.2 gps应用
8.2.1 gps位置获取
8.2.2 gps标记显示
8.2.3 测mapview上两点间距离
8.3 在mapview上绘制轨迹
8.3.1 轨迹绘制说明
8.3.2 使用google earth生成kml文件
8.4 基站应用
8.4.1 基站信号强度获取
8.4.2 基站定位
8.5 本章总结
8.6 习题

第9章 android ndk开发( 教学视频:46分钟)
9.1 windows下ndk开发环境搭建
9.1.1 下载android ndk
9.1.2 下载安装cygwin
9.1.3 验证ndk环境
9.1.4 安装eclipse下c/c++开发工具
9.1.5 安装eclipse下sequoyah插件
9.2 计算器
9.2.1 界面开发
9.2.2 ndk本地支持
9.2.3 调用实现
9.2.4 总结
9.3 等离子图像效果
9.3.1 ndk示例
9.3.2 建立等离子效果项目
9.3.3 java实现
9.3.4 本地方法实现
9.3.5 运行总结
9.4 水波纹效果
9.4.1 交互实现
9.4.2 ndk实现
9.4.3 运行分析
9.5 本章总结
9.6 习题

第10章 文件管理器( 教学视频:54分钟)
10.1 界面资源布局
10.2 视图类
10.2.1 项视图
10.2.2 文件配置
10.2.3 适配器
10.2.4 显示视图
10.3 文件管理
10.3.1 遍历根目录
10.3.2 上层目录
10.3.3 当前目录
10.3.4 单击选择
10.4 本章总结

第11章 微博客户端( 教学视频:56分钟)
11.1 开放平台的使用
11.1.1 应用注册
11.1.2 sdk使用
11.2 用户管理
11.2.1 用户授权请求
11.2.2 认证网页
11.2.3 认证返回数据存储
11.2.4 认证信息的存储
11.2.5 删除用户
11.3 微博主界面
11.3.1 认证用户登录
11.3.2 主界面设计
11.4 用户资料
11.4.1 用户信息获取
11.4.2 用户头像获取
11.4.3 关注详情
11.4.4 粉丝详情
11.5 用户消息
11.5.1 获取信息
11.5.2 显示评论
11.5.3 匹配高亮显示
11.5.4 评论处理
11.6 微博首页
11.6.1 未读消息
11.6.2 微博获取显示
11.6.3 微博详情
11.6.4 发布微博
11.7 本章总结
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证