Android架构揭秘 |
Google是如何通过Android支持、掌控全球的硬件厂商和应用程序开发者的?
Android控制力的源泉是什么?技术上如何实现?
Android的Linux Kernal、HAL、Libararies、Runtime、Application
Framework设计的理念和实现技术;
Android平台与硬件、云的微妙关系;
|
Android开机流程揭秘 |
第一个用户进程剖析;
ServiceManager与Binder的关系;
Zygote揭秘及其运作方式;
Android中的第一个Java进程揭秘,第一个Java进程和ServiceManager的关系及代码实现;
|
Android中启动一个新的应用程序揭秘 |
当我们触摸Android屏幕中Launcher上的一个应用程序的图标的时候到底发生怎样的调用过程?
应用程序的执行入口到底在哪里?
一个新的Android应用程序的进程到底是怎么产生的?
|
HAL揭秘 |
HAL被加入Android中的真正历史原因分析
HAL的意外价值揭秘
HAL的Stub
hw_module_t与hw_device_t
C语言如何实现继承来满足HAL Stub的设计目的?包括内存结构分析和代码风格讨论等
如何避免HAL Stub实现时的Dirty Code?
|
HAL Stub实战 |
用面向对象的思想分析、设计、实现Stub
hw_module_t的子类和hw_device_t的子类的关系以及这种关系的优势
在结构体中如何实现C函数的调用?hw_module_t的子类在代码中又是如何和hw_device_t的子类交互的?
类型转换问题
|
HAL和Linux Kernel |
HAL Stub访问和控制硬件
Android下的Linux Kernel剖析
Android 硬件的Driver
访问Linux内核空间的Driver
|
Service与HAL Stub整合 |
以面向服务的观点和方式与HAL交互
Library的中so库文件的类型及C/S结构剖析
hw_get_module
获取HAL Stub对象的代码流程剖析
为何HAL Stub的open方法必须提供supporting API(对设备的操作接口)给runtime;
|
Service、ServiceManager和Binder交互关系揭秘 |
Binder的第一号服务是谁?为何要这样设计和实现?
如何编写Service
新的Service产生与ServiceManager和Binder交互流程
如何获取一个Service?
Binder的生产者与消费者模式剖析
|
Binder与Shared Memory |
Binder源代码剖析
Shared Memory剖析
Binder是如何使用共享内存来完成进程间通信的?
从代码的角度来分析Binder使用Shared Memory的生产者与消费者模式
|
Dalvik VM |
Dalvik VM的特点,Dalvik VM和JVM的比较
Dalvik VM的内存分布及OOM(Out of Memory)的根本原因和解决方案是什么?
Preload Classes和 Preload Resources,ClassLoader到底在哪里?
Dalvik与Java和C/C++
|
Android中的JNI编程 |
Java调用C/C++
JNIEnv、JVM、JObject揭秘
C/C++创建Java对象、调用Java属性和方法
JNI中的多线程编程
Facade Pattern在JNI中绝妙应用剖析
PnP(Plug and Play)
|
Android中的NDK编程 |
NDK与JNI关系揭秘
NDK开发的流程
采用NDK方式开发出的程序安装和运行的内幕
NDK中的Java与C/C++相互调用
NDK中的多线程编程
关于Android软件开发的标准化和可替换性揭秘
|
SystemServer与Framework中的Service |
Zygote与SystemServer
SystemServer开启Java世界的过程揭秘
Android Service和Native Service是如何关联起来的?
Android Service与ServiceManager
如何把自己的服务加入到ServiceManager中?
|
把Java写的 Service加入到Applciation
Framework中 |
IInterface与CTS
Binder
AIDL
Java Service与Manager
SystemServer、ServiceManager
|
Android框架移植移植时的事件驱动机制 |
Android Service是如何应对硬件阻塞的?
开辟新的子线程并不断的poll
Listener注册
Callback
Application Framework中的Handler、Message、Looper、MessageQueue、
事件驱动机制实例
|
Manager、Service和完整的数据流 |
Manager和Service分离的原则
ANR问题
阻塞式的操作和非阻塞式操作
以实例说明Android中的从最底层到最上层的数据流
|
Android软、硬、云三位一体整合 |
从技术角度揭秘云,包括云的关键技术和实现方法
在Native Service中整合Android与云
在Application Framework中整合Android与云
Android软、硬、云三位一体整合,包括模式、策略、实现技术
|
Handler、Looper、Message、MessageQueue |
Android的事件驱动模型
Looper、MessageQueue、Hanlder、Message等源码深度剖析
Looper、MessageQueue、Hanlder、Message及多线程实战案例
|
AsyncTASK异步线程技术 |
使用AsyncTask的原因及对AsyncTask的思考
AsyncTask代码示例
AsyncTask源码剖析
|
Android测试 |
Android代码测试的好处,测试的方式
JUnit框架解析
测试用例的生命周期
自动化测试
源码剖析
|
断点续传 |
类似迅雷的多线程下载器(适用于任何类型的文件下载)
1,多线程下载断点续传原理和流程图
2,下载文件时Http协议协议详解
3,多线程下载断点续传程序:设计服务端和Android端
4,Android端的内容涉及IoC、多线程、SQLite数据库、Handler、Http协议、缓存处理、意外关机时候的处理、编写框架、MVC、Service、Android中的I/O流、代码调试、Activity的生命周期等
5,单元测试
6,软件调试
多线程断点文件上传器(适用于任何类型的文件上传)
1,断点续传原理和流程图
2,上传文件的Http协议详解
3,自定义自己的文件传输协议
4,服务端程序的编写:文件的下载与实时数据的记录、监听模式、乱码问题的处理、并发问题、黑客安全问题
5,客户端程序的编写:Android内存溢出问题,Android中的Socket编程、大文件的传输、大文件传输时候的安全问题
6,单元测试
7,软件调试 |
Android中Java与WebView中Javascript相互沟通 |
制作Android界面的新大陆
Java调用Javascript
Javascript调用Java
|
浏览器开发和自定义 |
浏览器定制和开发的核心原理剖析
浏览器定制和开发的技术手段剖析
浏览器定制和开发实战
|
HTML5 架构思维 |
All in JavaScript
Architect of Device & Cloud
Open Platform & API
|
通过一个Blog实例实战HTML5&CSS3 |
实战HTML5新增页面元素;
实战HTML5中的表单;
实战HTML5中的Canvas
实战html 5页面中视频和音频
CSS3技术实战
|
HTML5的新特性 |
本地存储
离线应用
多线程技术
地理位置信息
其它新特性
|
PhoneGap的技术思考 |
PhoneGap的架构艺术
PhoneGap与HTML5、CSS3、JavaScript的关系
PhoneGap与智能手机的核心功能——包括相机、文件访问、地理定位,加速器,联系人,声音和振动等
PhoneGap的优势和劣势
|
PhoneGap框架的技术基石是什么? |
使用WebView
在WebView中使用JavaScript
创建本地Java API
使用JavaScriptInterface
JavaScript调用Java
Java调用JavaScript
PhoneGap是如何使用JavaScriptInterface的
|
PhoneGap案例开发实战 |
PhoneGap的生命周期事件
通过Connection测试网络链接
通过Accelerometer来采集设备的动作
通过Compass获得当前设备的方向
PhoneGap 操作本地系统的Camera
PhoneGap其它的本地API;
|
彻底洞悉jQuery Mobile |
jQuery Mobile设计的技术思考和商业思考
jQuery Mobile入门初体验;
使用页眉、工具栏和标签栏;
jQuery Mobile中的表单和按钮;
jQuery Mobile中的列表;
jQuery Mobile和CSS结合;
jQuery Mobile主题;
jQuery Mobile的API;
和服务器集成;
jQuery Mobile和HTML5开发框架PhoneGap结合;
|
Node.js实战高并发和非阻塞式的服务端 |
Node.js的思考;
Node.js开发环境安装;
Node.js开发实战
|
Node.js和WebSocket的整合
|
使用Node.js和WebSocket打造非同步处理机制及其重大价值;
使用Node.js和WebSocket打造非同步处理机制案例实战
|