Android C++高级编程——使用NDK(移动开发经典丛书)pdf下载pdf下载

Android C++高级编程——使用NDK(移动开发经典丛书)百度网盘pdf下载

作者:
简介:本篇主要提供Android C++高级编程——使用NDK(移动开发经典丛书)pdf下载
出版社:
出版时间:2014-01
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

基本信息

书名:Android C++高级编程——使用NDK(移动开发经典丛书)

定价:59.80元

作者:(美) 辛纳 (Cinar,O.)

出版社:清华大学出版社

出版日期:2014-01-01

ISBN:9787302343011

字数:

页码:

版次:1

装帧:平装

开本:128开

商品重量:0.4kg

编辑推荐


微软平台客户端高级产品经理作品,首本基于开发应用书籍,书中源码免费提供下载

内容提要


不管你是想将已经存在的原生代码应用移植到Android平台上还是准备开始在Android平台上进行软件开发,使用《Android C 高级编程——使用NDK》一书提供的技术可以构建更出的应用。本书将展示构建性能更好的复杂原生应用的方法。

  《Android C 高级编程——使用NDK》提供了Java原生接(JNI)的概述、Bionic API、POSIX 线程和套接字、C 支持、原生图形和声音API以及NEON/SIMD优化,在一个游戏应用案例的帮助下,你将学到很多关键技能。

主要内容

使用JNI将原生代码连接到Java中

使用SWIG自动生成JNI代码

使用POSIX线程实现多线程应用

使用POSIX套接字实现网络应用

使用logging、GDB和Eclipse调试器进行调试

使用Valgrind分析内存

使用GProf 测试应用性能

使用NEON/SIMD优化代码

使用Eclipse IDE开发原生代码

  《Android C 高级编程——使用NDK》提供了移植、开发以及利用Android平台上的C 和其他原生代码所需要的知识和技能,以便于运行图形化的高级应用和更复杂的原生应用。

目录


目录

章平台上的入门

1.1 Microsoft Windows 1

1.1.1 在平台上下载并安装开发包

1.1.2 在平台上下载并安装

1.1.3 在平台上下载并安装

1.1.4 在平台上下载并安装

1.1.5 在平台上下载并安装

1.1.6 在平台上下载并安装

1.2 Apple Mac OS X 14

1.2.1 在平台上安装

1.2.2 验证平台的开发包

1.2.3 验证平台上的

1.2.4 验证

1.2.5 在平台上下载并安装

1.2.6 在平台上下载并安装

1.2.7 在平台上下载并安装

1.3 Ubuntu Linux 20

1.3.1 检查库版本

1.3.2 激活在位系统上支持位的功能

1.3.3 在平台上下载并安装开发工具包

1.3.4 在平台上下载并安装

1.3.5 在平台上下载并安装

1.3.6 在平台上下载并安装

1.3.7 在平台上下载并安装

1.3.8 在平台上下载并安装

1.4 下载并安装

1.4.1 安装平台包

1.4.2 配置模拟器

1.5 小结

章深入了解

2.1 Android NDK提供的组件

2.2 Android NDK的结构

2.3 以一个示例开始

2.3.1 指定的位置

2.3.2 导入示例项目

2.3.3 向项目中添加原生支持

2.3.4 运行项目

2.3.5 用命令行对项目进行构建

2.3.6 检测项目的结构

2.4 构建系统

2.4.1 Android.mk 43

2.4.2 Application.mk 53

2.5 使用脚本

2.6 排除构建系统故障

2.7 小结

章用实现与原生代码通信

3.1 什么是

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.1 什么是

4.2 安装

4.2.1 Windows平台上的安装

4.2.2 在下安装

4.2.3 在下安装

4.3 通过示例程序试用

4.3.1 接文件

4.3.2 在命令行方式下调用

4.3.3 将集成到构建过程中

4.3.4 更新

4.3.5 执行应用程序

4.3.6 剖析生成的代码

4.4 封装语言代码

4.4.1 全局变量

4.4.2 常量

4.4.3 只读变量

4.4.4 枚举

4.4.5 结构体

4.4.6 指针

4.5 封装代码

4.5.1 指针、引用和值

4.5.2 默认参数

4.5.3 重载函数

4.5.4 类

4.6 异常处理

4.7 内存管理

4.8 从原生代码中调用

4.8.1 异步通信

4.8.2 启用

4.8.3 启用

4.8.4 重写回调方法

4.8.5 更新

4.9 小结

章日志、调试及故障处理

5.1 日志

5.1.1 框架

5.1.2 原生日志

5.1.3 受控制的日志

5.1.4 控制台日志

5.2 调试

5.2.1 预备知识

5.2.2 调试会话建立

5.2.3 建立调试示例

5.2.4 启动调试器

5.3 故障处理

5.3.1 堆栈跟踪分析

5.3.2 对的扩展检查

5.3.3 内存问题

5.3.4 strace 133

5.4 小结

章入门

6.1 回顾标准库

6.2 还有另一个库

6.2.1 二进制兼容性

6.2.2 提供了什么

6.2.3 缺什么

6.3 内存管理

6.3.1 内存分配

6.3.2 C语言的动态内存管理

6.3.3 C 的动态内存管理

6.4 标准文件

6.4.1 标准流

6.4.2 使用流

6.4.3 打开流

6.4.4 写入流

6.4.5 流的读取

6.4.6 搜索位置

6.4.7 错误检查

6.4.8 关闭流

6.5 与进程交互

6.5.1 执行命令

6.5.2 与子进程通信

6.6 系统配置

6.6.1 通过名称获取系统属性值

6.6.2 通过名称获取系统属性

6.7 用户和组

6.7.1 获取应用程序用户和组

6.7.2 获取应用程序用户名

6.8 进程间通信

6.9 小结

章原生线程

7.1 创建线程示例项目

7.1.1 创建项目

7.1.2 添加原生支持

7.1.3 声明字符串资源

7.1.4 创建简单的用户界面

7.1.5 实现

7.1.6 生成头文件

7.1.7 实现原生函数

7.1.8 更新构建脚本

7.2 Java 线程

7.2.1 修改示例应用程序使之能够使用线程

7.2.2 执行示例

7.2.3 原生代码使用线程的优缺点

7.3 POSIX线程

7.3.1 在原生代码中使用线程

7.3.2 用创建线程

7.3.3 更新示例应用程序以使用线程

7.3.4 执行线程示例

7.4 从线程返回结果

7.5 POSIX线程同步

7.5.1 用互斥锁同步线程

7.5.2 使用信号量同步线程

7.6 POSIX线程的优先级和调度策略

7.6.1 POSIX的线程调度策略

7.6.2 POSIX Thread优先级

7.7 小结

章:面向连接的通信

8.1 Echo Socket示例应用

8.1.1 Echo Android应用项目

8.1.2 抽象

8.1.3 echo应用程序字符串资源

8.1.4 原生模块

8.2 用实现面向连接的通信

8.2.1 Echo Server Activity的布局

8.2.2 Echo Server Activity 193

8.2.3 实现原生

8.2.4 Echo客户端布局

8.2.5 Echo客户端

8.2.6 实现原生客户端

8.2.7 更新

8.2.8 运行示例

8.3 小结

章:无连接的通信

9.1 将方法添加到

EchoServer Activity中

9.2 实现原生

9.2.1 创建:

9.2.2 从接收数据报:

9.2.3 向发送数据报:

9.2.4 原生方法

9.3 将原生方法加入

EchoClient Activity中

9.4 实现原生

9.5 运行示例

9.5.1 连通的模拟器

9.5.2 启动

9.6 小结

章:本地通信

10.1 Echo Local Activity布局

10.2 Echo Local Activity 232

10.3 实现原生本地

10.3.1 创建本地:

10.3.2 将本地与绑定:

10.3.3 接受本地:

10.3.4 原生本地

10.4 将本地添加到中

10.5 运行本地示例

10.6 异步

10.7 小结

章支持

11.1 支持的运行库

11.1.1 GAbi C 运行库

11.1.2 STLport C 运行库

11.1.3 GNU STL C 运行库

11.2 指定运行库

11.3 静态运行库与动态运行库

11.4 C 异常支持

11.5 C RTTI支持

11.6 C 标准库入门

11.6.1 容器

11.6.2迭代器

11.6.3 算法

11.7 C 运行库的线程安全

11.8 C 运行库调试模式

11.8.1 GNU STL调试模式

11.8.2 STLport调试模式

11.9 小结

章原生图形

12.1 原生图形的可用性

12.2 创建一个视频播放器

12.2.1 将作为的一个导入模块

12.2.2 创建播放器应用程序

12.2.3 创建的

12.2.4 创建

12.3 使用图形进行渲染

12.3.1 启用

12.3.2 使用

12.3.3 用渲染来更新

12.3.4 运行使用渲染的

12.4 使用渲染

12.4.1 使用

12.4.2 启用

12.4.3 启用

12.4.4 用渲染来更新

12.5 使用原生进行渲染

12.5.1 启用原生

12.5.2 使用原生

12.5.3 用原生渲染器来更新

12.5.4 EGL图形库

12.6 小结

章原生音频

13.1 使用

13.1.1 与标准的兼容性

13.1.2 音频许可

13.2 创建音频播放器

13.2.1 将作为导入模块

13.2.2 创建播放器应用程序

13.2.3 创建播放器主

13.2.4 实现播放

13.3 运行

13.4 小结

章程序概要分析和优化

14.1 用度量性能

14.1.1 安装

14.1.2 启用

14.1.3 使用分析文件

14.2 使用进行优化

14.2.1 ARM NEON技术概述

14.2.2 给添加一个亮度过滤器

14.2.3 为播放器启用

14.2.4 AVI Player程序概要分析

14.2.5 使用优化

14.3 自动向量化

14.3.1 启用自动向量化

14.3.2 自动向量化问题的发现和排除

14.4 小结

作者介绍


有超过年的移动和通信领域大规模复杂软件项目的设计、开发和管理经验。他的专业技能包括、视频通信、移动应用程序、网格计算和不同平台上的网络技术。从平台问世他就一直积极从事这方面的工作。他是出版的一书的作者。他在美州费城大学获得计算机科学理学学士学位。现就职于微软分部,任平台的客户端高级产品工程经理。

文摘


序言