自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

苗伟业的专栏

来者请留言吧

  • 博客(244)
  • 资源 (12)
  • 收藏
  • 关注

转载 NFC Enable

认识NFC系统是如何工作的,最好的方法莫过于熟悉NFC各个流程,本篇就介绍下NFC使能的流程。NFC的上层服务 com.android.nfc 启动随着使能整个NFC系统,通过JNI层的 NativeNfcManager.nfcManager_doInitialize()初始化底层的相关so库。整个使能的过程中,需要记住层层向下设置的回调函数,这些回调都是以后底层数据上报的通路。Enable的详细流程图如下:上面红色字体标注的相关函数在整个NFC系统中是很重要的回调。打开NFC模块的相关操作,具

2021-08-05 14:39:54 257

转载 NFC Discovery

NFC系统在初始化完成后EnableDisableTask.enableInternal()会默认开启扫描,应用apk也可以主动发起搜索扫描NFC设备NfcAdapter. resumePolling()。各个指令的下发无非就是根据指令的不同封装不同的数据,最后通过mHal->write()将数据下发到底层NFC芯片模块,芯片模块解析下发的数据来执行不同的动作,并将指令执行的结果及时上报。下图为NFC搜索指令的一个完整的时序图:从该时序图可以看出Discovery指令执行结果的上报经过线.

2021-08-05 14:37:59 303

转载 NFC 标签调度系统(Intent发布)

NFC Intent发布系统Intent发布系统也被称为标签调度系统,调度系统定义了三种类型的action,见下表:ACTIVITY_INTENT_ACTION 类型 作用 优先级ACTION_NDEF_DISCOVERED 标签中含有NDEF数据且为公认类型 高ACTION_TECH_DISCOVERED 标签中没有NDEF数据却是已定义的标签技术 中ACTION_TAG_DISCOVERED 前两个action都没有启动,则启动这个 低——...

2021-08-05 14:33:56 357

转载 NFC 前台发布系统

NFC 前台发布系统NFC扫描到的标签Tag最终是需要上报到应用Application进行数据的读写操作。上报的方式现在主要有两种:前台发布、Intent过滤发布。我们先来分析下NFC前台发布系统是如何工作的。Application首先需要获取NFC的适配器 NfcAdapter实类,通过适配器对外提供的API:enableForegroundDispatch()、disableForegroundDispatch()来打开、关闭前台发布系统。这两个接口必须在Activity处于运行状态时调用,即A

2021-08-05 14:20:38 185

原创 Golang教程:(二)Hello World

package main //1import "fmt" //2func main() { //3 fmt.Println("Hello World") //4}这里简要解释每一行都做了什么。我们会在以后的教程中更详细地介绍它们。package main:每个 Go 文件都必须以 package name 语句开头。包(package)提供了代码封装和重用。这

2018-02-02 17:18:04 1044

原创 Golang教程:(一)介绍和安装

这是本Golang系列教程的第一篇。什么是GolangGolang 又称为 Go,是由 Google 开发的一种开源的、编译型的、静态类型的编程语言。Golang 的主要目的是使开发高可用性和高扩展性的Web应用程序变得简单。为什么选择Golang为什么应该选择 Golang 作为服务器端的开发语言,而不是可以做同样事情的 python,ruby,nod

2018-02-02 17:15:09 1703

转载 Unity3D 游戏贴图(法线贴图,漫反射贴图,高光贴图)

原帖网址http://www.u3dpro.com/read.php?tid=207  感谢jdk900网友的辛苦编写    我们都知道,一个三维场景的画面的好坏,百分之四十取决于模型,百分之六十取决于贴图,可见贴图在画面中所占的重要性。在这里我将列举一些贴图,并且初步阐述其概念,理解原理的基础上制作贴图,也就顺手多了。我在这里主要列举几种UNITY3D中常用的贴图,与大家分享,希

2016-04-19 17:42:07 8001

转载 Linux平台下7个实用的软件

很多人都在不同的平台使用很多商业软件来完成不同的工作,这其实是非常不方便的,因为有时这些软件也并不好购买。今天在本文中,小编为大家列出了7个Linux平台下非常有用的软件,这其中大部分都是跨平台的。还有其他一些适用单一的软件,但今天只列出了一些非常相似的可替代的软件。不想错过这些不错的软件?那你还在等什么,还不赶紧一起来看看!OpenProjOpenProj是一款免费并且开源的桌面应用

2014-12-11 17:25:31 5914

转载 Raket分析(一)

简介RakNet 已经成功地在Android平台上测试成功。RakNet的文档很多,实现起来很简单,下面对Raknet功能细节进行详细了解。详情1、RakNet使用哪些数据结构?结构文件DS_BinarySearchTree.h二叉搜索树,以及AVL平衡二叉搜索树DS_BPlusTree.hB+树,用于快速查询,删除,和插入D

2014-12-04 14:48:17 12982

原创 RakNet 伪随机数算法

好久没写博客了,RakNet开源以后,自己一直都很想仔细的学习一下它的代码,今天难得有点时间拜读一下源代码。废话连篇啊。。。。。。     先说一下RakNet的随机数算法,/source/Rand.cpp中,它引用了MersenneTwister算法,Mersenne Twister算法译为马特赛特旋转演算法,是伪随机数发生器之一,其主要作用是生成伪随机数。此算法是Makoto Mats

2014-12-02 15:34:03 5782

原创 通过LeakDiag查看内存泄漏

使用C或者C++编程的时候,最担心的应该还是内存泄漏问题,测试人员通常专注于功能/性能测试,如果有不明显的内存泄漏,可能要在程序发布后几天,甚至更久才会发现故障。因此,检查C/C++程序的内存泄漏,开发人员需要自己把好这个关。检测内存泄漏的工具有很多,大致分为二种,一种是嵌入程序的,需要修改源码;一种是attach到进程,实时监测的。LeakDiag是微软的一款内存泄漏检测工具,免费的,不

2013-10-09 17:24:36 9068

转载 内存泄露检测工具比较

1.     ccmalloc-Linux和Solaris下对C和C++程序的简单的使用内存泄漏和malloc调试库。 2.     Dmalloc-Debug Malloc Library. 3.     Electric Fence-Linux分发版中由Bruce Perens编写的malloc()调试库。 4.     Leaky-Linux下检测内存泄漏的程序。

2013-10-09 17:15:58 5195

转载 基于XMPP协议的手机多方多端即时通讯方案

基于XMPP协议的手机多方多端即时通讯方案................................................................. 1目   录.........................................................................................................

2013-10-08 14:04:35 7098

原创 UI 架构

Bootstrap&Foundation,Semantic UI

2013-10-08 13:25:58 5620

转载 10款免费且开源的项目管理工具

在任何一个项目开发或设计中,项目管理被认为最重要的过程之一,因此,选择一款适宜的项目管理工具尤为重要。项目管理是指管理项目计划、定义、监控、控制以及确认交付的过程,因此它的优势也是被公认的。随着各个领域特定项目管理需求的提升,这就需要一个更好的、免费的项目管理工具来管理。因此一款高效的、良好的项目管理必须具备快速的、强大的且包含以下功能:调度、成本控制、资源分配、预算管理、文档、协作以及沟通。

2013-09-16 11:13:27 6062

转载 C语言深度解剖读书笔记(1.关键字的秘密)

开始本节学习笔记之前,先说几句题外话。其实对于C语言深度解剖这本书来说,看完了有一段时间了,一直没有时间来写这篇博客。正巧还刚刚看完了国嵌唐老师的C语言视频,觉得两者是异曲同工,所以就把两者一起记录下来。等更新完这七章的学习笔记,再打算粗略的看看剩下的一些C语言的书籍。本节知识:1.c语言中一共有32个关键字,分别是:auto、int、double、long、char、short、

2013-09-10 11:21:46 5148

转载 Google Chrome中的高性能网络 (三)

使用预连接优化了TCP连接管理已经预解析到了主机名,也有了由OmniBox和Chrome Predictor提供信号,预示着用户未来的操作。为什么再进一步连接到目标主机,在用户真正发起请求前完成TCP握手呢?这样就可省掉了另一个往返的延迟,轻易地就能为用户节省到上百毫秒。其实,这就是TCP预连接的工作。 通过访问chrome://dns 就可以看到TCP预连接的使用情况。

2013-09-10 11:08:47 5689

转载 Google Chrome中的高性能网络(二)

Chrome Predictor的预测功能优化Chrome会随着使用变得更快。 它这个特性是通过一个单例对象Predictor来实现的。这个对象在浏览器内核进程(Browser Kernel Process)中实例化,它唯一的职责就是观察和学习当前网络活动方式,提前预估用户下一步的操作。下面是一个示例:用户将鼠标停留在一个链接上,就预示着一个用户的偏好以及下一步的浏览行为。这时Chro

2013-09-10 11:07:55 6274

转载 Google Chrome中的高性能网络(一)

以下内容是"The Performance of Open Source Applications" (POSA)的草稿, 也是The Architecture of Open Source Applications的后继者. POSA囊括了一批针对性能的优化和设计,以及开发过程中的性能管理等内容的论文,预计在2013年春天发售【译注:国内有得等了】。By Ilya Grigorik on J

2013-09-10 11:07:12 6205 1

转载 MarioTCP: Multi Libvent TCP Server 一个高性能的TCP服务器

MrioTCP,超级马里奥,顾名思义,他不仅高效,而且超级简易和好玩。同时他可以是一个很简洁的Linux C 开发学习工程。毫不夸张的说,如果全部掌握这一个工程,你会成为一个Linux C的牛人;当然,你也可以通过源码包的mario.c(maritcp服务器示例程序)来学习,可以很快入门上手进行Linux C开发。经过两个多月的测试(编写c++客户端测试及调优系统参数),测试结果得到单机最大带

2013-09-10 11:05:17 5607

转载 50个关于人脸检测/识别的API、库和软件

自从谷歌眼镜被推出以来,围绕人脸识别,出现了很多争议。我们相信,不管是不是通过智能眼镜,人脸识别将在人与人交往甚至人与物交互中开辟无数种可能性。为了帮助研究过程中探索人脸识别,我们列出以下人脸检测和识别API。希望有所帮助!Face Recognition- 拉姆达实验室斯蒂芬弄的。示例代码和图形演示点击http://api.lambdal.com/docs,我们的API提供了

2013-08-20 14:55:32 7085

转载 Visual Studio 那些隐藏的调试功能

微软互联网开发支持“Visual Studio 是一个强大的调试工具,里面很多隐藏功能少有人问津,但是在特定场景可以节省你很多时间,本文主要介绍一些Visual Studio调试相关的隐藏功能,欢迎大家补充。 运行到光标(Run to cursor)大多数人用Visual Studio在调试程序的时候先在程序开始的时候设置一个断点,然后依次F10/F11到自己想要查看的

2013-08-05 13:54:00 5193

转载 RSA算法原理

如果你问我,哪一种算法最重要?我可能会回答“公钥加密算法”。因为它是计算机通信安全的基石,保证了加密数据不会被破解。你可以想象一下,信用卡交易被破解的后果。进入正题之前,我先简单介绍一下,什么是”公钥加密算法”。一、一点历史1976年以前,所有的加密方法都是同一种模式:(1)甲方选择某一种加密规则,对信息进行加密;(2)乙方使用同一种规则,对信息进行解密。由于加密和解密使用

2013-08-05 11:13:45 5156

转载 Chromium界面分析小结(十)界面构造主要类和函数

1.        BrowserWindowGtk这是BrowserWindow的一个GTK+实现版本,它创建了整个CR窗口,在类中有许多访问控件的接口LocationBar*GetLocationBar()、TabStripGtk* tabstrip()、BrowserTitlebar* titlebar()、BrowserToolbarGtk*GetToolbar(),通过返回的指针可以

2013-08-01 15:28:54 5324

转载 Chromium界面分析小结(九)命令执行过程

在chromium中所有命令都是由命令ID表示,ID列表保存在src/chrome/app/chrome_command_ids.h文件中,该文件内包含了所有Chromium可以理解的命令ID。当命令被激活时,Chromium会通过代理一层层传递,直到传递到位于chromium/src/chrome/browser/ui/browser_command_controller.cc中的Browser

2013-08-01 15:27:49 4643

转载 Chromium界面分析小结(八)字符串资源管理方法

Chromium具有多语言自动切换功能,程序启动时会根据系统的语言设置来选择界面语言。英文的字符串和ID号的对应关系在文件src/chrome/app/generated_resources.grd和chromium_strings.grd,该文件也是xml描述的,在文件中还记录了所有其他语言翻译过的字符串资源文件位置:也记录了字符串资源文件输出路径:,编译时grit工具会根据

2013-08-01 15:27:26 5271

转载 Chromium界面分析小结(七)图片资源管理方法

Chromium中所有的图片资源都是png格式的,在linux下这些图片由grit工具打包成pak格式并附有每个资源的ID,Chromium在运行时可以根据ID获取对应的图片。      在文件src/chrome/app/theme/theme_resources.grd中定义了所有的图片文件的ID号,编译时grit工具根据此grd文件生成头文件src/out/Debug/obj/gen/c

2013-08-01 15:27:02 1145

转载 Chromium界面分析小结(六)工具菜单结构

Chromium的菜单实现考虑到跨平台的要求,使用了一层抽象模型(SimpleMenuModel),所有菜单模型都继承自这个类,各平台实现时需要根据提供的模型构造对应的菜单。这个工具菜单模型是WrenchMenuModel类,也继承自SimpleMenuModel。Chromium在Linux平台使用了GTK+来创建界面,也就由MenuGtk类负责菜单模型的解释和构造。所有的菜单都要经过**Men

2013-08-01 15:26:10 1946

转载 Chromium界面分析小结(五)地址栏结构

地址栏位于工具栏中间,它是个很复杂的物件,虽然样子看上去很简单,但是功能的确很强大,所以结构就复杂了。在地址栏最左侧是显示页面信息的图标,如果是经过https加密传输的页面,图标显示为绿色锁形,并在右侧显示网站单位信息,如果不是加密页面则显示空白文档图标。点击这个图标后会弹出该页面对应的权限(HTML5新增功能)和详细安全信息(加密算法和认证证书)。紧挨着右边是一个tab_to_search的

2013-08-01 15:25:36 861

转载 Chromium界面分析小结(四)工具栏结构

工具栏左侧是常用的命令按钮,中间是最重要的地址栏,右侧是插件按钮和工具菜单按钮。整个工具栏由一个GtkHBox容器包裹,四个部分中只有地址栏是具有扩展属性,可以跟随窗口大小改变。

2013-08-01 15:24:51 900

转载 Chromium界面分析小结(三)标题栏结构

标题栏主要包括所有的标签,最小化、最大化和关闭按钮,因为Ubuntu可以由用户选择这些按钮的位置,所以Chromium添加了两个放置这些按钮的容器以方便改变位置。放置头像的容器也有左右两个,因为隐身模式和普通模式的头像位置不同

2013-08-01 15:24:30 951

转载 Chromium界面分析小结(二)主界面结构

因为GTK+库中提供了丰富的界面布局控件,使得控件位置控制非常方便,所以Chromium几乎全部使用了GTK+的原生布局控件,主要包括:GtkAlignment、GtkVBox、GtkHBox和GtkFixed。              整个主界面的内容从上到下依次是菜单栏、标题栏、工具栏、书签栏和最重要的网页内容区域。在Ubuntu中所有程序的菜单栏都位于屏幕最上方,而在其他的桌面环境下菜

2013-08-01 15:23:45 978

转载 Chromium界面分析小结(一)界面构造调用层次

在chromium中真正承担浏览器窗口创建的类是BrowserWindowGtk,它的Init成员函数完成了界面创建的大部分任务。在Init函数中,创建主窗口后,添加控件的任务都在InitWidgets函数中完成,主要动作有:创建程序菜单栏、创建标题/标签栏、创建工具/地址栏、创建书签栏。

2013-08-01 15:22:49 836

转载 直接拿来用!最火的iOS开源项目(三)

相比Android,GitHub上的iOS开源项目更可谓是姹紫嫣红。尽管效果各异,但究其根源,却都是因为开发者本身对于某种效果的需求以及热爱。在“直接拿来用!最火的iOS开源项目”系列文章(一)、(二)中,我们已经相继盘点了40个深受开发者喜爱的iOS开源项目,在本文中,我们将继续细数那些能够带给iOS开发者们无限灵感、产生非常奇妙的效果的iOS开源项目。41. DCIntrosp

2013-07-17 16:24:31 1413

原创 VLC播放基于HLS协议m3u8文件的几个问题

最近比较忙,刚刚接手一个电视视频直播与点播的项目,服务器端视频流是基于HLS协议,关于HLS协议的相关介绍这里就不介绍了,请参考Apple的官网。刚接手项目的时候,试了几种开源播放器,MPlayer、VLC、ffplayer等,效果都不怎么样,播放m3u8 list的时候多多少少都有些问题,经过权衡以后,还是选择了VLC,看了大约一周VLC的源码,对VLC的源码架构有了一些了解,其中重点看了播放m

2013-07-02 17:08:50 16436 30

转载 直接拿来用!最火的iOS开源项目

摘要:iOS每一次的改变,总会引发iOS开源项目的演变,从iOS 1.x到如今的iOS 7,有的项目已被弃用,有的则继续发扬光大,新项目更是层出不穷。在本文中,我们将继续为大家介绍20个在GitHub上深受开发者欢迎的iOS开源项目。“每一次的改变总意味着新的开始。”这句话用在iOS上可谓是再合适不过的了。GitHub上的iOS开源项目数不胜数,iOS每一次的改变,总会引发iOS开源项目的

2013-06-19 13:45:17 957

转载 Fiddler (五) Mac下使用Fiddler

Fiddler是用C#开发的。  所以Fiddler不能在Mac系统中运行。  没办法直接用Fiddler来截获MAC系统中的HTTP/HTTPS,    Mac 用户怎么办呢?Fiddler可以允许“远程连接”。  我们可以利用这个间接来实现Fiddler捕获Mac系统发出的HTTP/HTTPS 阅读目录:使用虚拟机虚拟机的网络使用“Bridged” 模式配置虚拟机上的Fid

2013-06-17 11:35:40 913

转载 Fiddler (三) Composer创建和发送HTTP Request

之前已经写过两篇Fiddler的文章了,分别是【Fiddler教程】【Fiddler script用法】。  我准备把Fiddler写成一个系列。Fiddler的功能还有很多, 很多功能都没有被挖掘出来。这次我们介绍Fiddler中的一个非常有用的功能Composer,是用来创建和发送HTTP Request的。Composer的使用方法很简单,看下就知道用了。 阅读目录

2013-06-17 11:34:27 1128

转载 Fiddler (二) Script 用法

通过前一篇博客 【小坦克: Fiddler教程】,我们了解了Fiddler的基本用法,  现在我们来看看Fiddler的高级用法. Fiddler Script。   Fiddler中的script 可以让我们自动修改Http request和Response 的内容。  而不用手动地去下"断点"来修改http Request或Response中的值。 阅读目录Fiddler的作者

2013-06-17 11:33:43 913

转载 Fiddler 教程

Fiddler是最强大最好用的Web调试工具之一,它能记录所有客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据. 使用Fiddler无论对开发还是测试来说,都有很大的帮助。阅读目录Fiddler的基本介绍Fiddler的工作原理同类的其它工具Fiddler如何捕获Firefox的会话Firefox 中使用Fiddler插件Fiddler如何捕获HTT

2013-06-17 11:32:46 686

OpenGL编程指南(第八版)中文高清

OpenGL编程指南(第八版)中文高清,学习OpenGL难得的好书!

2018-10-02

C#语音通信开源框架

C#语音通信开源框架,语音处理,杂音过滤,语音编码,支持大部分编码。支持回音处理,发现是最好的框架了,很多通信软件都用这个框架 NSpeex。找了很久啊,方便后来者工作学习。

2013-11-14

编程珠玑-算法

讨论计算机科学中最本质的问题:如何正确选择和高效地实现算法

2013-10-09

C++设计模式

C++ 23中设计模式详解,对每种设计模式都有详细介绍

2013-10-09

Unity3d 背包系统插件

这一个Unity3d的背包插件,代码是用C#写的,目前该插件只支持windows平台,在android和ios上暂时还不支持

2013-04-18

unity3d 描边shader包

Unity3d实现描边效果的shader,很好用,关于相关解释我的博客上有

2013-04-18

Unity3d 快速管理多个摄像机

Security Camera的目的就是让这个过程简化.只要将脚本放进项目目录,并且拖拽到场景中每个相机上,包括MainCamera.现在你就可以快速的切换查看各个相机的实际效果,在Unity的层次视图(Hierarchy)点击你要设置的相机,就可以在游戏视图中看到这个相机的效果了,不必再一个个的去关闭其他相机了.

2012-12-21

Unity3d 快速设置object位置的包

Unity中快速给Object在屏幕上定位

2012-12-21

UnicodeViewer Unicode转换工具

Ogre显示中文,需要在资源文件 字体的解压缩包里添加中文显示字的Unicode玛,这个工具就是汉字对应的Unicode

2011-07-15

HikariSourcV0.3

Ogre与Flash的完美结合,里面有源码,和Demo 在vs2008下编译通过,Ogre用的1.72版本,1.65的版本也编译通过

2011-07-15

Android HAL

2023-05-10

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

TA关注的人

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