自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

启程

1.01^365=37.78 0.99^365=0.0255

  • 博客(107)
  • 资源 (13)
  • 收藏
  • 关注

原创 硬件目录

pcb设计pads router的使用技巧之过孔设置参考文章Pads Router布线技巧,等长,蛇线,差分硬件知识DDR内存简介参考文章天道酬勤

2015-02-06 16:32:22 810

原创 工具目录

编程语言C/C++C语言对齐问题JAVAjava中的Class类File类java IO流

2015-01-21 10:26:42 767

原创 协议规范资料目录

蓝牙协议目录usb通信协议目录

2015-01-05 16:39:17 1061

原创 音视频图像资料目录

视频相关http://blog.csdn.net/u010657219/article/details/40372159 对视频相关的概念进行了整理!

2015-01-05 16:35:06 896

原创 Android资料目录

系统篇应用篇

2015-01-05 16:27:50 1304

原创 Linux资料目录

内核篇应用篇

2015-01-05 16:24:42 769

原创 MTK开发资料目录

MTK开发链接:LoongEmbedded的专栏bithub上的链接52研发网MTK软件一流研发

2014-12-30 16:42:45 1012

原创 ReentrantLock同步

ReentrantLock同步用法详解

2017-02-09 14:19:45 527

原创 synchronized同步

synchronized既可以实现方法的同步,也可以配合Object对象的wait()/notify()/nitifyAll()一起使用实现更加高级的同步

2017-02-09 11:47:59 712

原创 WebRTC音频

对webrtc整个的音频,采集,编码,打包,发送,到接收,解包,解码,播放,整个过程做了详细的描述

2017-02-08 19:03:35 11168 3

原创 WebRtc 之P2C的建立

详细概述了webrtc p2p链接创建的过程

2017-02-08 18:54:05 4542

原创 WebRtc建立P2P链接的总体流程

初步介绍了webrtc建立p2p链接的大致流程!

2017-02-08 18:47:52 13076 6

原创 WebRtc重要概念

webrtc 通信重要概念,channel ,connect,transport,condidates

2017-02-08 18:40:20 3451

原创 多线程同步相关

多线程同步操作

2017-02-08 15:32:45 318

原创 linux多线程编程总结

linux多线程编程总结

2017-02-07 18:52:53 615

原创 WebRTC服务器的配置

WebRTC 测试服务器apprtc的搭建

2017-01-19 10:36:19 6341 1

原创 rxJava笔记

rxJava 笔记 通熟易懂

2016-12-30 18:11:06 381

原创 AndroidStudio2.2.3 JNI

Android Studio NDK 开发

2016-12-22 17:28:54 1952 1

原创 Android Studio Gradle相关问题

AndroidStudio 如何快速打开工程?gradle怎么配置?

2016-12-22 10:42:08 10300 1

原创 AndroidStudio2.2.3设置

Android studio 设置相关问题

2016-12-22 10:32:58 8453

原创 设计模式分类

设计模式是什么克里斯托弗·亚历山大说过:“每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题解决方案的核心。” 设计模式的四个基本要素: 1.模式名称:对模式解决的问题和模式解决方案的简略描述 2.问题:描述了模式的适用场景。 3.解决方法:描述了设计模式的组成成分,以及他们之间的各自职责和相互关系。 4.效果:描述了应用的效果以及模式应当权衡的问题。模式分类创建型创建型模式

2016-08-16 15:19:10 481 2

原创 设计原则

单一职责原则定义 一个类只负责一项职责,不要存在多于一个导致类变更的原因。描述 问题由来:类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障。 解决方案:遵循单一职责原则。分别建立两个类T1、T2,使T1完成职责P1功能,T2完成职责P2功能。这样,当修改类T1时,不会使职责P2发生故障风险;同理,当修改T

2016-08-12 17:36:06 415

原创 UML类图与类的关系详解

类的关系有泛化(Generalization)、实现(Realization)、依赖(Dependency)和关联(Association)。其中关联又分为一般关联关系和聚合关系(Aggregation),合成关系(Composition)。下面我们结合实例理解这些关系。泛化(Generalization)继承关系,子承父业是对象之间耦合最大的一种关系。 在类图中使用带三角箭头的实线表示,箭头从子

2016-08-05 16:33:31 343

原创 服务的注册

Server获得了Service Manager远程接口之后,就要把自己的Service添加到Service Manager中去,然后把自己启动起来,等待Client的请求。本文将通过分析说明Server的启动过程是怎么样的。我们通过Android Binder实列篇中的实列来说明下服务启动的整个过程。 类的继承关系图: 从上图可以明显看出BnShareBuffer实际是继承了IShareB

2015-10-21 17:20:24 538

原创 ServiceManager远程代理的获取

ServiceManager管理着系统中所有的服务,无论是service 还是client只要跟系统中的服务打交道,必先获取ServiceManager的代理,才能获取ServiceManager提供的各项服务。在安卓系统中Service Manager远程代理是一个特殊的Binder引用,它的引用句柄一定是0。获取远程代理的方法defaultServiceManager()的实现在framewor

2015-10-21 15:02:58 648

原创 ServiceManager守护进程的注册

Service Manager是整个Binder机制的守护进程,用来管理开发者创建的各种Server,并且向Client提供查询Server远程接口的功能。Service Manager作为本地服务由Init进程启动。在Init.rc配置文件中有这么一段配置:service servicemanager /system/bin/servicemanager class core

2015-10-20 15:40:01 718

原创 Android Binder原理篇

继Android Binder实列篇之后对binder通信原理进行简洁的说明。 先上张图对整个机制有个全局的认识。 上图虚线表示代理 本系列文章将会按照上图过程进行讲解: 1. ServiceManager守护进程的注册 2. 服务的注册 3. 服务的使用 4. 服务与代理的交互

2015-10-19 18:08:13 486

原创 Android Binder实列篇

前言Binder是安卓应用最宽泛的进程间的通信方式,在分析安卓源码时少不了要和其打交道。对于一般开发人员而言只要知会其如何使用,如何实现进程间的通信即可,本文就是为了达到这个目的而写,一是给自己做一个备忘,二是让想了解binder通信的人员有个全局的认识。更深层次的研究请参考Android资料目录的Binder通信部分。 本文将通过实列的方式讲解如何实现binder通信,计划实现的列子框图如下:

2015-10-16 19:21:44 763

原创 linux 常用命令

拷贝指定的文件到指定的目录并保持原始的目录结构:tar c $(find . -type f -name '*.src*') | tar x -C destDirtar c $(find . -type f -ctime -5 -name '*.src*') | tar x -C destDirfind . -type f -ctime -5 -name '*.src*' | xargs tar

2015-10-10 19:03:10 472

原创 安卓OTA升级系统解析下

在安卓OTA升级文件的制作中提到updater-script的功能。这里详细介绍脚本是如何生成的。 updater-script是我们升级时所具体使用到的脚本文件,它主要用以控制升级流程的主要逻辑。具体位置位于更新包中/META-INFO/com/google/android/目录下,在我们制作升级包的时候产生。 前面有个介绍。/build/tools/releasetools/目录下的模块ed

2015-09-21 18:07:51 1072

原创 安卓OTA升级系统解析中

在img_from_target_files中可以看到:if __name__ == '__main__': try: common.CloseInheritedPipes() main(sys.argv[1:]) except common.ExternalError, e: print print " ERROR: %s" % (e,) pri

2015-09-21 16:58:49 1760

原创 安卓OTA升级文件的制作

OTA刷机包制作整个项目编译完成后再执行make otapackage 生成的完整升级包会存放在out\debug\target\product[project name]\ 下 具体名字根据make otapackage的install来确定 生成的过程文件包在out/target/product/ardbeg/obj/PACKAGING/target_files_intermediat

2015-09-21 15:09:24 1906

原创 安卓OTA升级系统解析上

在MTK安卓环境中只需要在alps 目录执行./mk otapackage即可打包ota升级包,下面我们来分析下这个过程中。 alps/mk代码片段sub chkDep{ my $module = $_[0]; my $string = $module; if (!$module) { $string = all; }# print "**************

2015-09-21 11:40:18 2411

原创 安卓的数字签名技术

什么是签名实际生活中我们自己的签名是为了证明签名的材料是出自于你手,是否有人更改,是辨别真假的一种最简单直接的方式。那么什么是数字世界的签名呢?其实和现实世界的签名一样,是为了保证数字内容的完整性,保证传输的内容没有经过非法的更改。在弄清楚签名之前,需要知道什么只摘要和什么是非对称加密。什么是摘要摘要是指采用单向Hash函数对数据进行计算生成的固定长度的Hash值,摘要算法有Md5,Sha1等,M

2015-09-19 15:09:42 1431

原创 Android Fragment

Fragment简介Android运行在各种各样的设备中,有小屏幕的手机,超大屏的平板甚至电视。针对屏幕尺寸的差距,很多情况下,都是先针对手机开发一套App,然后拷贝一份,修改布局以适应平板神马超级大屏的。难道无法做到一个App可以同时适应手机和平板么,当然了,必须有啊。Fragment的出现就是为了解决这样的问题。你可以把Fragment当成Activity的一个界面的一个组成部分,甚至Activ

2015-08-12 19:14:17 494

原创 USB之概述

最近在安卓系统上开发usb应用,刚开始并不顺利自己也走了不少弯路。网上的资料也是参差不齐,或是讲解不够详细看完还是一头雾水,为了给遇到usb问题的同仁快速得定位问题,同时也作为自己的备忘录,将这段时间自己对usb的认识加以总结。该系列文章将按照linux中的usb系统构架(下图所示)从下到上进行讲解。 总体目录如下:Usb DeviceUsb CoreUsb Host DriverUs

2015-04-21 14:48:08 553

原创 MTK效率最高编译命令

当修改一些代码时,使用什么编译命令可以提高编译效率!./mk n(r) kernel ./mk bootimage 当修改kernel相关代码时,要使用此命令,具体如下:alps/kernel/alps/mediatek/platform/mt65xx/kernel/alps/mediatek/source/kernel/alps/mediatek/coustom/mt65xx/kern

2015-03-14 18:27:03 1112

原创 基于安卓的本地编译环境

或许您有过这样的需求,需要单独的编译一个c代码在安卓机器上运行,但又不想去编写Android.mk.对Android.mk情有独钟的您可以略过。因为linux的工具实在是太多,相比Android toobox较为完善, 有些工具能让事半功倍,大大提高工作效率。

2015-03-14 18:00:14 906

原创 MTK安卓第三方内核模块编译

在原生的linux环境中编译第三方驱动的资料比较多。只需要在驱动的makefile中指定交叉编译器和编译后内核的路径就可以开始编译了。具体可以参考linux驱动编译系统。 我不知道是安卓的原因还是变态的mtk不兼容原生驱动编译方式,导致花费了较长的时间去摸索如何编译驱动的问题。 在mtk8685SDK下,只能将原始驱动放入内核目录即mtkv1.33/kernel/drivers目录下。makef

2015-03-14 16:57:24 2036

原创 linux驱动编译系统

前言从Linux内核2.6开始,Linux内核的编译采用Kbuild系统,这同过去的编译系统有很大的不同,尤其对于Linux内核模块的编译。在新的系统下,Linux编译系统会多次扫描Linux的Makefile。范列下面我们通过一个简单的驱动示例,来熟悉linux的编译系统,驱动代码如下:/** hello.c -- the example of printf "hello world!" in t

2015-03-14 16:25:33 1396

23中设计模式实列

最近学习设计模式,为了便于理解每种设计模式都整理了相关的示列。每个示列通俗易懂,结合列子学习能让你较快掌握设计模式的精髓!

2016-08-23

Android中RIL层详细分析

本文档对Android RIL部分的内容进行了介绍,其重点放在了Android RIL的原生代码部分。包括四个主题: 1.Android RIL框架介绍 2.Android RIL与WindowsMobile RIL 3.Android RIL porting 4.Android RIL的java框架

2015-11-17

fragment learning

分别从静态和动态使用Fragment示例

2015-08-12

linux 内存共享实列

linux 内存共享源代码,调试时遇到段错误,需设置映射文件的大小!

2015-03-03

安卓aidl学习源码

本列子较详细的介绍了安卓IPC的过程,可以参考博文进行相关的系统学习

2015-01-28

安卓service学习

本列子较全面的实现了service本地服务的各种启动方式

2015-01-28

Android JNI学习

实列是较全面的安卓JNI开发资料,jni访问java属性,设置属性,回调java函数,创建jni进程,新建java对象 可以从以上几个方面对jni进行系统的学习

2015-01-23

application类使用示例

application类使用示例,在多个activity中传递数据

2015-01-14

安卓Ashmem使用实列

安卓很多模块都用到了ashmem,为了更好的学习各个模块,了解ashmem的原理是必不可少的!

2014-11-18

mp4文件格式详解

举例说明mp4文件格式,每个box的定义,是学习多媒体必备资料。

2014-11-17

Androdi msg handler looper学习源码

Androdi msg handler looper学习源码

2014-11-11

usb otg协议介绍

OTG 补充规范对 USB 2.0 的最重要的扩展是其更具节能 性的电源管理和允许设备以主机和 外设两种形式工作。OTG 有两种设备类型:两用 OTG 设备(Dualrole device)和外设式 OTG 设备 (Peripheralonly OTG device) 。

2013-09-15

usb2.0协议中文版

usb2.0协议,不包含电子特性和结构部分,usb软件开发必备!

2013-09-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除