书籍详情
Android C++高级编程:使用NDK
作者:(美)辛纳(Onur Cinar)著 于红,佘建伟,冯艳红 译
出版社:清华大学出版社
出版时间:2014-01-01
ISBN:9787302343011
定价:¥59.80
购买这本书可以去
内容简介
Android是移动电话市场的主要角色而且其市场份额正在持续增长。它是第一个完整的、开放的、免费的移动平台,该平台给移动应用开发者提供了无限的机会。虽然Android平台的官方程序语言是Java,但应用开发者不限于仅使用Java技术。Android允许应用开发者通过Android原生开发包(NDK)使用诸如C和C++之类的原生代码语言实现他们的部分应用。《移动开发经典丛书·Android C++高级编程:使用NDK》中我们将学习如何用AndroidNDK通过原生代码语言去实现自己的Android应用中对性能要求较高的部分。《移动开发经典丛书·Android C++高级编程:使用NDK》介绍了原生应用开发、可用的原生API以及故障排除技术的详细叙述,包括用按步骤的指导和屏幕截图以帮助Android开发人员迅速达到开发原生应用的目的。主要内容:在主要的操作系统上安装Android原生开发环境。使用Eclipse集成开发环境开发原生代码。使用Java原生接口(JNI)将原生代码与Java代码连接。用SWIG自动生成JNI代码。用POSIX和Java线程开发多线程原生应用。用POSIXsockets开发网络原生应用。用logging、GDB和Eclipse调试器调试原生代码。用Valgrind分析内存问题。用GProf测试应用性能。用SIMD/NEON优化原生代码。
作者简介
Onur Cinar有超过17年的移动和通信领域大规模复杂软件项目的设计、开发和管理经验。他的专业技能包括VoIP、视频通信、移动应用程序、网格计算和不同平台上的网络技术。从Android平台问世他就一直积极从事这方面的工作。他是Apress出版的Android Apps with Eclipse一书的作者。他在美国宾州费城Drexel大学获得计算机科学理学学士学位。现就职于微软Skype分部,任Android平台的Skype客户端高级产品工程经理。
目录
第1章 Android平台上的C++入门
1.1 Microsoft Windows
1.1.1 在Windows平台上下载并安装JDK开发包
1.1.2 在Windows平台上下载并安装ApacheANT
1.1.3 在Windows平台上下载并安装AndroidSDK
1.1.4 在Windows平台上下载并安装Cygwin
1.1.5 在Windows平台上下载并安装AndroidNDK
1.1.6 在Windows平台上下载并安装Eclipse
1.2 AppleMacOSX
1.2.1 在Mac平台上安装Xcode
1.2.2 验证Mac平台的Java开发包
1.2.3 验证Mac平台上的ApacheANT
1.2.4 验证GNUMake
1.2.5 在Mac平台上下载并安装AndroidSDK
1.2.6 在Mac平台上下载并安装AndroidNDK
1.2.7 在Mac平台上下载并安装Eclipse
1.3 UbuntuLinux
1.3.1 检查GNUC库版本
1.3.2 激活在64位系统上支持32位的功能
1.3.3 在Linux平台上下载并安装Java开发工具包(JDK)
1.3.4 在Linux平台上下载并安装ApacheANT
1.3.5 在Linux平台上下载并安装GNUMake
1.3.6 在Linux平台上下载并安装AndroidSDK
1.3.7 在Linux平台上下载并安装AndroidNDK
1.3.8 在Linux平台上下载并安装Eclipse
1.4 下载并安装ADT
1.4.1 安装Android平台包
1.4.2 配置模拟器
1.5 小结
第2章 深入了解AndroidNDK
2.1 AndroidNDK提供的组件
2.2 AndroidNDK的结构
2.3 以一个示例开始
2.3.1 指定AndroidNDK的位置
2.3.2 导入示例项目
2.3.3 向项目中添加原生支持
2.3.4 运行项目
2.3.5 用命令行对项目进行构建
2.3.6 检测AndroidNDK项目的结构
2.4 构建系统
2.4.1 Android.mk
2.4.2 Application.mk
2.5 使用NDK-Build脚本
2.6 排除构建系统故障
2.7 小结
第3章 用JNI实现与原生代码通信
3.1 什么是JNI
3.2 以一个示例开始
3.2.1 原生方法的声明
3.2.2 加载共享库
3.2.3 实现原生方法
3.3 数据类型
3.3.1 基本数据类型
3.3.2 引用类型
3.4 对引用数据类型的操作
3.4.1 字符串操作
3.4.2 数组操作
3.4.3 NIO操作
3.4.4 访问域
3.4.5 调用方法
3.4.6 域和方法描述符
3.5 异常处理
3.5.1 捕获异常
3.5.2 抛出异常
3.6 局部和全局引用
3.6.1 局部引用
3.6.2 全局引用
3.6.3 弱全局引用
3.7 线程
3.7.1 同步
3.7.2 原生线程
3.8 小结
第4章 使用SWIG自动生成JNI代码
4.1 什么是SWIG
4.2 安装
4.2.1 Windows平台上SWIG的安装
4.2.2 在MacOSX下安装
4.2.3 在UbuntuLinux下安装
4.3 通过示例程序试用SWIG
4.3.1 接口文件
4.3.2 在命令行方式下调用SWIG
4.3.3 将SWIG集成到Android构建过程中
4.3.4 更新Activity.
4.3.5 执行应用程序
4.3.6 剖析生成的代码
4.4 封装C语言代码
4.4.1 全局变量
4.4.2 常量
4.4.3 只读变量
4.4.4 枚举
4.4.5 结构体
4.4.6 指针
4.5 封装C++代码
4.5.1 指针、引用和值
4.5.2 默认参数
4.5.3 重载函数
4.5.4 类
4.6 异常处理
4.7 内存管理
4.8 从原生代码中调用Java
4.8.1 异步通信
4.8.2 启用Directors
4.8.3 启用RTTI
4.8.4 重写回调方法
4.8.5 更新HeIIojniActivity
4.9 小结
第5章 日志、调试及故障处理
5.1 日志
5.1.1 框架
5.1.2 原生日志API
5.1.3 受控制的日志
5.1.4 控制台日志
5.2 调试
5.2.1 预备知识
5.2.2 调试会话建立
5.2.3 建立调试示例
……
第6章 BionicAPI入门
第7章 原生线程
第8章 POSIXSocketAPI:面向连接的通信
第9章 POSIXSocketAPI:无连接的通信
第10章 POSIXSocketAPI:本地通信
第11章 支持C++
第12章 原生图形API
第13章 原生音频API
第14章 程序概要分析和NEON优化
1.1 Microsoft Windows
1.1.1 在Windows平台上下载并安装JDK开发包
1.1.2 在Windows平台上下载并安装ApacheANT
1.1.3 在Windows平台上下载并安装AndroidSDK
1.1.4 在Windows平台上下载并安装Cygwin
1.1.5 在Windows平台上下载并安装AndroidNDK
1.1.6 在Windows平台上下载并安装Eclipse
1.2 AppleMacOSX
1.2.1 在Mac平台上安装Xcode
1.2.2 验证Mac平台的Java开发包
1.2.3 验证Mac平台上的ApacheANT
1.2.4 验证GNUMake
1.2.5 在Mac平台上下载并安装AndroidSDK
1.2.6 在Mac平台上下载并安装AndroidNDK
1.2.7 在Mac平台上下载并安装Eclipse
1.3 UbuntuLinux
1.3.1 检查GNUC库版本
1.3.2 激活在64位系统上支持32位的功能
1.3.3 在Linux平台上下载并安装Java开发工具包(JDK)
1.3.4 在Linux平台上下载并安装ApacheANT
1.3.5 在Linux平台上下载并安装GNUMake
1.3.6 在Linux平台上下载并安装AndroidSDK
1.3.7 在Linux平台上下载并安装AndroidNDK
1.3.8 在Linux平台上下载并安装Eclipse
1.4 下载并安装ADT
1.4.1 安装Android平台包
1.4.2 配置模拟器
1.5 小结
第2章 深入了解AndroidNDK
2.1 AndroidNDK提供的组件
2.2 AndroidNDK的结构
2.3 以一个示例开始
2.3.1 指定AndroidNDK的位置
2.3.2 导入示例项目
2.3.3 向项目中添加原生支持
2.3.4 运行项目
2.3.5 用命令行对项目进行构建
2.3.6 检测AndroidNDK项目的结构
2.4 构建系统
2.4.1 Android.mk
2.4.2 Application.mk
2.5 使用NDK-Build脚本
2.6 排除构建系统故障
2.7 小结
第3章 用JNI实现与原生代码通信
3.1 什么是JNI
3.2 以一个示例开始
3.2.1 原生方法的声明
3.2.2 加载共享库
3.2.3 实现原生方法
3.3 数据类型
3.3.1 基本数据类型
3.3.2 引用类型
3.4 对引用数据类型的操作
3.4.1 字符串操作
3.4.2 数组操作
3.4.3 NIO操作
3.4.4 访问域
3.4.5 调用方法
3.4.6 域和方法描述符
3.5 异常处理
3.5.1 捕获异常
3.5.2 抛出异常
3.6 局部和全局引用
3.6.1 局部引用
3.6.2 全局引用
3.6.3 弱全局引用
3.7 线程
3.7.1 同步
3.7.2 原生线程
3.8 小结
第4章 使用SWIG自动生成JNI代码
4.1 什么是SWIG
4.2 安装
4.2.1 Windows平台上SWIG的安装
4.2.2 在MacOSX下安装
4.2.3 在UbuntuLinux下安装
4.3 通过示例程序试用SWIG
4.3.1 接口文件
4.3.2 在命令行方式下调用SWIG
4.3.3 将SWIG集成到Android构建过程中
4.3.4 更新Activity.
4.3.5 执行应用程序
4.3.6 剖析生成的代码
4.4 封装C语言代码
4.4.1 全局变量
4.4.2 常量
4.4.3 只读变量
4.4.4 枚举
4.4.5 结构体
4.4.6 指针
4.5 封装C++代码
4.5.1 指针、引用和值
4.5.2 默认参数
4.5.3 重载函数
4.5.4 类
4.6 异常处理
4.7 内存管理
4.8 从原生代码中调用Java
4.8.1 异步通信
4.8.2 启用Directors
4.8.3 启用RTTI
4.8.4 重写回调方法
4.8.5 更新HeIIojniActivity
4.9 小结
第5章 日志、调试及故障处理
5.1 日志
5.1.1 框架
5.1.2 原生日志API
5.1.3 受控制的日志
5.1.4 控制台日志
5.2 调试
5.2.1 预备知识
5.2.2 调试会话建立
5.2.3 建立调试示例
……
第6章 BionicAPI入门
第7章 原生线程
第8章 POSIXSocketAPI:面向连接的通信
第9章 POSIXSocketAPI:无连接的通信
第10章 POSIXSocketAPI:本地通信
第11章 支持C++
第12章 原生图形API
第13章 原生音频API
第14章 程序概要分析和NEON优化
猜您喜欢