自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 资源 (35)
  • 论坛 (62)
  • 收藏
  • 关注

原创 MediaCodec 初探

    最近分析了一个关于MediaCodec的花屏问题,记录一下文档以备后面使用。    MediaCodec这个类是Android4.1开始引入的,API16。这个类可以在设备上直接访问媒体的解码,一般称为硬解码。    在Android4.3之后,API18,MediaCodec扩展了一个方法createInputSurface,提供了一个通过Surface作为输入。这样允许输入来自...

2018-12-06 14:48:25 378

原创 WLAN 入门(二)

我们都知道其他应用都是使用WifiManager来访问wifi.文件位于./frameworks/base/wifi/java/android/net/wifi/WifiManager.java它是public  类,并且有很多public方法。public 状态属性。通常是直接打开关闭wifi,读取wifi的状态,或者添加一个过滤器和receiver,这样wifi有何种状态变化都会通...

2018-10-31 10:22:26 236

原创 WLAN 入门(一)

梳理一下整个WLAN流程的文章:一、WLAN 和 其他应用的关系,以及初始化的服务二、SystemUI 中的显示按钮以及启动关闭wifi,例子:在SystemUI 中添加信号显示三、Setting 中的WLAN设置,例子: 设置WIFI 黑白名单四、Framework中的WIFI流程,例子 : 规避和减少WIFI漫游断线次数五、Wpa_supplicant:例子:添加WIFI调...

2018-10-30 20:39:38 199

原创 CTS 源码分析(三)--CTS PC端环境配置

PC端的环境配置比较简单,容易出问题的是手机和电脑的连接问题。一、手机连接PC先以展讯为例写一下流程。1、sudo cp (adb 文件路径) /bin2、sudo chmod 777 adb3、展讯因为有专有的VID,进入~, 快捷按键 Ctrl+H ,让隐藏文件显示出来,      然后 find –name .android               cd .a...

2018-10-25 20:08:46 219

原创 CTS 源码分析(二)--CTS手机端环境配置

一、手机环境预置集成和手动配置      1、GMS包集成到手机软件。         a、GMS包的获取和拷贝。         在谷歌那里准备过认证的厂家可以拿到,让项目经理拿到之后,可以到我们手中。我们可以拿到之后解压。         包非常大,6.0的时候就已经有近4.5G的大小,解压就更大了。          预置代码中非常简单,按照目录 vendor/googl...

2018-10-25 13:49:17 400

原创 CTS 源码分析(一)--CTS概况

CTS 源码分析(一)  --CTS概况   1、什么是CTS?      Compatibility Test Suite 兼容性测试套件说白了,就是一套工具。一套软件组成的测试工具。2、哪里有这套工具?         http://source.android.com/compatibility/downloads.html     什么?要翻

2016-06-20 16:14:02 3693

原创 Android 锁屏探究(2)

上一节我们研究了两个基本的接口KeyguardScreen和

2015-03-24 10:29:41 511

原创 Gallery3d 学习笔记(19)

上次我们讲了单张图片的上下界面的显示和隐藏,已经左上角名字的刷新,现在我们讲一下分享以及右边的一堆菜单他们涉及到一个类ShareActionProvider,这个类专门是用来用于分享的。界面在photo.xml中,整体是一个菜单 <item android:id="@+id/action_import" android:title="@str

2015-03-20 14:32:02 605

原创 Gallery3d 学习笔记(18)

上一节课,我们讲了ActionBar 的左边部分,那么现在我们讲一下ActionBar的右边部分我们先熟悉一下我们要看的内容,看看再不同的界面下ActionBar是不是有不同的状态?刚刚进去相册集的时候是不是有拍照按钮?并且右边的菜单是只有一个选择相册?继续进相册的时候,拍照按钮是不是消失了?右边的菜单变成了多个,包括播放幻灯片?继续进入单张图片的时

2015-03-19 10:42:34 848

原创 Gallery3d 学习笔记(17)

private class ClusterAdapter extends BaseAdapter { @Override public int getCount() { return sClusterItems.length; } @Override public Object getIte

2015-03-17 14:56:55 642

原创 Gallery3d 学习笔记(16)

前面我们详细了解了Gallery中如何组织各种页,并且如何用工厂模式生成这些页面,并且使用栈的压入和弹出实现页面的切换,下面我们就直接看看细节问题,首先是ActionBarpublic class AbstractGalleryActivity extends Activity implements GalleryContext { private static final S

2015-02-06 15:01:41 800

原创 设置屏幕亮度的办法

private void setBrightness(int brightness){ Log.i(this, "setBrightness"+ brightness); Settings.System.putInt(mContext.getContentResolver(), Settings.System.SCREEN_BRIGHTNESS,brigh

2015-01-23 13:46:40 576

原创 Android 锁屏探究

最近接受了Android上添加一个眼纹识别锁的任务,开始研究Android的锁屏。不看Android的源代码,首先想象一下,如果没有源代码,公司让你设计一套锁屏的机制,你会怎么做?

2014-04-07 18:09:10 1027

原创 Gallery3d 学习笔记(15)

上次讲到了StateManager如何用工厂模式创建出很多Page,然后将这些Page放在一个栈里面管理 我们先看下所有Page的父类 abstract public class ActivityState { public static final int FLAG_HIDE_ACTION_BAR = 1; public static final int FL

2013-06-27 11:27:08 1320 3

原创 Gallery3d 学习笔记(14)

上次我们研究了新的代码和原来2.3的代码的不同处,视频播放器的控制条从Framework中改变到了本地代码中,但是Framework中的控制条并没有删除,因为什么?为了向下兼容。另外我们还研究了触摸消息的分发,发现新的触摸分发更为规范一些,并且也没有像以前那样分层了,而是分页面,这样也更好一些,一旦有问题,可以到指定的Page中去找,而不是在透明的层里面到处找代码了。既然研究完

2013-06-17 09:35:45 1427

原创 Gallery3d 学习笔记(13)

上次我们探讨了Android 4.0中Gallery3d中的视频播放器,现在剩下的代码非常的多,我们先整体看下有那些包com.android.gallery3d.anim;//动画com.android.gallery3d.app;//应用com.android.gallery3d.common;//通用com.android.gallery3d.data;//数据源com

2013-06-17 07:35:46 2005 1

原创 Gallery3d 学习笔记(12)

从今天开始我们就开始研究Android 4.0里面的Gallery3d (Gallery2)4.0的代码就庞大许多,而且现在的包名变成了com.android.gallery3d了,是真正的Android写的了。我们看下AndroidManifast.xml,我们先看一个简单的Activity,熟悉下代码 <activity android:name=

2013-06-16 23:12:06 2422 2

原创 Gallery3d 学习笔记(11)

前面我们把Gallery3D的消息流程 刷新流程 数据流程 界面切换流程全部理清楚了,是不是很有成就感觉。如果弄懂了,添加两个按钮的作业应该没有什么问题,甚至添加一个新的层都不会有问题。我们讲了这么久其实才讲了一个Activity,其实还有一个比较重要的Activity.我们去看下配置文件AndroidManifast.xml <activity android

2013-06-16 20:58:35 1274

原创 Gallery3d 学习笔记(10)

上次我们了解了一些层在做什么,对应是什么,也看了对应的图片,也知道他们是一层层放着的,也知道触摸消息是怎么分发处理的。但这些都在哪里组织的呢?又是怎么切换的呢?我们还是一个控件(我估且叫他们控件吧,应该是一个层里面的一部分东西),先看HudLayer里面的代码。 // Camera button - launches the camera intent

2013-06-16 19:52:54 1062

原创 Gallery3d 学习笔记(9)

为了更好的了解界面的情况,还是去使用下Gallery3d的界面后再看代码刚进去是一个相册的缩略图界面,一堆一堆的图片,左上角是个Gallery(PathBar),右上角是个摄像头(ImageButton)再进入一个相册后,是这个相册的,网格化的缩略图,左上角是个Gallery+目录名字(PathBar),右上角是两个图表,一个是网格缩略图,一个堆缩略图,可以切换(Image

2013-06-16 16:15:17 1082

原创 Gallery3d 学习笔记(8)

前面7节我们讲了很多东西,我们再来回顾一下:  在程序还没有开始的时候,系统的一个程序com.android.providers.media就把内置存储器和外置存储器默默的扫描了一遍,建立了数据库和缓存缩略图,我们还弄清楚了Gallery3D是通过RenderView通过OpenGL 刷的界面,而且界面分为很多层,而且将层分了5个层列表:刷新列表 不透明列表 半透明列表 触摸列表 系统列表

2013-06-16 11:03:46 1118

原创 Gallery3d 学习笔记(7)

上次找到了缩略图的绘制的地方,但没有找到缩略图数据是如何来的,也不知道其他界面是怎么刷新的,更不知道界面是如何切换的。让我们开始,先在Gallery.java 里面的OnCreate中找到一个函数 sendInitialMessage();顺着这个函数找下去 private void sendInitialMessage() { mNumRetries

2013-06-15 14:49:45 1251

原创 Gallery3d 学习笔记(6)

继续讲解前,我们先回顾一下前面5节的分析。首先在开机或者加载外部存储器时,在mediaprivder里面receiver会得到广播消息,receiver开启服务进行扫描,生成数据库,并在T卡上生成缩略图临时文件,然后在第一个Activity里面有两个关于opengl的成员,RenderView和作为Root Layer 的GridLayer成员,并且关联了RenderView和Ro

2013-06-15 11:18:05 1149

原创 Gallery3d 学习笔记(5)

上个回合我们讲到触摸的响应在一个层的列表中找到,但是没有找到层的关联和添加。到底又几个层被加入了?有几个层LIST?到底什么时候添加进去的?还是先看RenderView.java private static final Lists sLists = new Lists();看下这个内部类的组成 public static final class Lists {

2013-06-14 21:45:56 943

原创 Gallery3d 学习笔记(4)

发现每次都是要下岗前写博客,真不吉利啊,平时都没有空写。言归正传,上次的讲到RenderView和RootLayer,看起来必须把OpenGL的相关类弄清楚才能理解。我们知道要使用的OpenGL 是画图的一堆接口(当然包括3D 纹理 渲染很多东西),在用这些的同时,我们的Activity本身还有响应触摸按键事件,重现绘制界面,这两者必须同时良好的运行,怎么做到这些?不用着急,andro

2013-06-14 15:56:33 1135

原创 Gallery3d 学习笔记(3)

Android 的多媒体数据库文件存在什么地方呢 ?/data/data/com.android.providers.media/databases  只要有权限的手机都可以看到有两个数据库文件,internal.db和external-**.db,分别对应内部存储器数据库文件和外部存储器数据库文件。都第三节了,各位可能都着急还没有Activity的分析,其实外围分析清楚了,内部才

2013-06-14 13:55:29 1068

原创 Gallery3d 学习笔记(2)

上一次我们只是研究了一下Gallery3d的大致情况,发现了一些问题,就是什么时候发出开始扫描信息的和何时扫描的处理没有找到。   我们不得不扩大研究范围了,开始看在package\provider\mediaprovider,否则我们理解不了上述疑问。   mediaprovider 也是一个相关的APK,这个应用是对多媒体相关应用提供支持,如gallery3D musi

2013-06-14 11:49:14 1449 2

原创 Gallery3d 学习笔记(1)

最近有空回忆下前一段时间工作中学习的东西,先确定下环境版本 Android 2.3版本。(刚接触Android 一年,有错误请指正)  负责这个模块后第一步就是静态分析。     首先看 AndroidManifest.xml里面的内容。首先看的是包名     com.cooliris.media看过其他模块的人都会发现,其他都是com.android.***的包名,这

2013-06-14 10:23:09 1776

转载 泛型:volatile——多线程程序员最好的朋友volatile修正符及让你的编译器为你检查竞态条件(race conditions)

Andrei Alexandrescu我不想破坏你的情绪,但这篇专栏针对多线程编程中最可怕的问题。如果说——正如前面一篇泛型所说的——写出意外安全(exception-safe)的程序很难,但写意外安全的程序和多线程编程比起来就是小孩子的玩意。 用到多线程的程序是众所周知地难写,难验证,难调试,难维护,总的来说难以驾御。不正确的多线程程序可能会运行几年都不出问题,但在某些时间条件符合时就会导致

2004-09-29 16:42:00 1455

原创 手写MFC----第四讲 BEGIN_MESSAGE_MAP

首先看定义#defineBEGIN_MESSAGE_MAP(theClass, baseClass) /        const AFX_MSGMAP* theClass::GetMessageMap()const /                 { return &theClass::messageMap; } /        AFX_COMDAT A

2004-07-11 21:45:00 11577 8

原创 手写MFC---第三节DECLARE_MESSAGE_MAP()

首先看定义#defineDECLARE_MESSAGE_MAP() /private: /        staticconst AFX_MSGMAP_ENTRY _messageEntries[]; /protected: /        static AFX_DATAconst AFX_MSGMAP messageMap; /        v

2004-07-11 21:43:00 4612 3

原创 手写MFC---- 第二节 IMPLEMENT_DYNCREATE (mydoc,CDocument)

还是先看定义#defineIMPLEMENT_DYNCREATE(class_name, base_class_name) /        CObject* PASCAL class_name::CreateObject() /                 { returnnew class_name; } /        IMPLEMENT_RUNTI

2004-07-11 21:41:00 3531

原创 手写MFC----第一节DECLARE_DYNCREATE(mydoc)

DECLARE_DYNCREATE(mydoc)定义为#defineDECLARE_DYNCREATE(class_name) /        DECLARE_DYNAMIC(class_name) /        static CObject* PASCAL CreateObject();等同于 DECLARE_DYNAMIC(mydoc) /

2004-07-11 21:39:00 5894 12

原创 手写MFC的深入浅出

前言MFC的#define和typedef将C++弄得面目全非,下面的程序是一个单文档的程序,其功能是创建一个单文档的窗体,当鼠标左键点击窗体时,则在该文档窗体的点击处出现字符串“Welcome to SDI”.#include#include#include"resource.h" class mydoc:public CDocument{

2004-07-11 21:36:00 6588 9

原创 MFC的RUNTIMECLASS 的探讨

高手请指教在多文档的程序中, InitInstance()这个关键的初始化函数中有这样一段代码************************************************************CMultiDocTemplate* pDocTemplate; pDocTemplate = new CMultiDocTemplate(  IDR_PAINTET

2004-06-27 09:10:00 4605 4

最好的汇编教程(看了就知道不错)

开源组织写的汇编教程,后被翻译成中文,非常好的东西。

2009-02-11

flash 解码的代码

网上整理的资料,自己留着看的 flash的官方资料和网上开源代码,包括linux的代码和Windows的代码,但不带flash控件的用法

2009-07-07

IRP_FILE 源码

全部使用IRP包的方式来操作文件,以驱动的方式来操作文件

2009-02-11

串口应用代码,初学者学习

资料是包括VC6 和 VC7(.net)的包括有单文档和一般的简单示例,也有微软的帮助网页

2009-02-11

wpa_supplant_android51

wpa_supplicant

2018-11-14

SQLiteSpy 工具

可视化SQLite 工具,你直接可以看到表结构和记录,再也不用对着文件发呆了

2009-06-10

手机相关资源 Android Nucleus MTK MMI 编译

Android Nucleus MTK MMI 编译 Android Nucleus MTK MMI 编译 Android Nucleus MTK MMI 编译

2009-07-07

repo(自己要改权限和名字)

repo for linux /Mac 有时google服务器不稳定,怎么下不下来,备用

2013-04-14

操作系统毕业设计 进程调度算法模拟

个人写着玩的东西 不过可以作为操作系统的上机作业 仅仅一份,可以玩玩,不要当真的进程来看 vc编写

2009-06-03

串口驱动的代码(并不同于微软的示例Serial)

对于编写USB转串口 PCI转串口卡,USB Modem ,或者Fax驱动的人有参考意义

2009-02-11

C编译器的源码(LCC 42)

编译器的源代码,是学习编译原理的绝好示例,据说可以支持VC++ 和GCC

2009-02-11

Tcl/Tk Engineering Manual

tcl是一个语言,或许没有听过,但是的确是这样。这个是它的一个工程师手册,供编程人员学习的,不过是英文的。作者 John K. Ousterhout

2009-02-11

驱动编写与调试 write driver and debug

使用一个实例来讲解驱动的编写与调试技术,来自于www.diybl.com

2009-02-11

Begin iPad Application Development

英文版本,但是写的很好懂,是iPad 开发者的首选电子书

2013-03-30

Begin iPad Application Development Source Code

Begin iPad Application Development 的 源代码的作业

2013-03-30

Android应用开发揭秘

经典书籍,建议购买。 详细分开讲解android的各个知识点,非常适合初学者和手头备用查询。

2013-04-12

Filedisk 文件虚拟磁盘

不同于MS发布的Filedisk,不过原理应该一样 http://www.gnu.org/copyleft/gpl.html

2009-02-11

设计模式C++版(中文)

各种设计模式使用C++的代码来实现,学习设计模式的好示例。

2009-02-11

驱动开发教程(第一章)

个人翻译的一篇驱动开发入门的英文资料,可供刚入门的或要入门的驱动开发者看下

2009-02-11

逆向编译技术(中文版)

看雪的月中人翻译 逆向学习较少的书籍 反汇编的良友

2009-06-03

native Api的详细文档

native Api的详细文档,如果要研究windows开机过程或者要写一些开机启动的特殊程序如开机杀毒,有非常大的帮助

2009-05-19

think in patterns (Java 代码)

各种模式使用java 代码来实现,学习设计模式的好示例

2009-02-11

探索PE文件内幕(中文版)

探索PE文件内幕 Peering Inside the PE 作者:Matt Pietrek

2009-02-11

C99 标准C 英文版

ISO的标准,如果有些古怪的C语言的问题可以查查

2009-02-11

Unix 系统设计(中文版)

Unix操作系统的设计原理的详细讲解 Maurice 著

2009-02-11

南京邮电大学的Linux课件

南京邮电大学的Linux课件,因为内容不多,不要资源分了,大家看看。

2009-02-11

Linux 入门 课件

讲课的Linux 忘记哪里下的,入门还是不错的, 还有作业。

2009-02-11

深入分析Linux 内核源码

Linux 内核源码分析 Linux 内核源码分析 Linux 内核源码分析

2009-06-02

开机慢实例分析

Android 5.1手机 开机慢实例分析,带日志和分析过程,个人分析记录,要学的就下。

2017-03-24

Nokia PC Connect API( 诺基亚提供给PC软件接口)3.2

( 诺基亚提供给PC软件接口),如果要开发诺基亚PC工具或者想开发类似的接口的可以参考

2009-02-11

汇编教学课件(中山大学计算机系)

中山大学计算机系的汇编教学的课件,想汇编入门的人可以学习下。

2009-02-11

Kmdit 汇编编译驱动的环境

使用汇编语言编译驱动的环境和工具,非常有意思的东西

2009-02-11

Designing Components with the C++ STL

可惜没有中文的 翻译出来一定有市场,但英文写的很简单易懂

2009-06-02

programming in Object - C 2.0

Object C programming Object C programming Object C programming

2009-06-02

反病毒的工具源码,类似冰刃

使用了很多驱动的技术,可以仔细的学习。来自于看雪网站的许多人的反汇编的结果。

2009-02-11

distinctrow和distinct有什么区别??

发表于 2004-10-12 最后回复 2017-02-14

一个手写的MFC程序,四个基本类,编译没有错,运行时有断言错误,忽略可以正常运行。但希望能解决

发表于 2004-09-21 最后回复 2010-06-13

反汇编遇到stosd和stosw,不知道如何翻译?谢谢指点!

发表于 2008-05-20 最后回复 2008-05-20

C语言结构体的疑问

发表于 2008-05-19 最后回复 2008-05-19

关于Modem的硬件流控

发表于 2007-09-18 最后回复 2007-11-21

居然是单引号字符串.可以编译通过???请帮忙

发表于 2007-04-12 最后回复 2007-04-12

设置最大波特率的问题

发表于 2006-04-24 最后回复 2006-05-26

如何不打开串口,而监视这个串口,解决要多少分给多少

发表于 2006-04-20 最后回复 2006-04-26

请教一个看起来相似的代码,结果不同的问题

发表于 2006-02-07 最后回复 2006-02-07

throw的问题

发表于 2005-12-06 最后回复 2005-12-07

MFC 为什么把构造函数弄成保护的?

发表于 2005-11-16 最后回复 2005-11-16

表修复遇到一致性错误(使用dbcc checktable('jxc_kcxsrjb')) 看大家有什么好的办法 help

发表于 2005-09-09 最后回复 2005-09-09

Dos下分离数据库后还原问题 sql2000

发表于 2005-09-07 最后回复 2005-09-07

我想系统的学习COM,高手请指点?

发表于 2005-05-29 最后回复 2005-06-15

VB中的类处始化能不能用参数?

发表于 2005-06-02 最后回复 2005-06-02

保存点 save tran在什么时候用?

发表于 2005-05-24 最后回复 2005-05-24

几个查询的区别?

发表于 2005-05-10 最后回复 2005-05-10

我就用UML倒一个HelloWorld程序,都不会??欢迎探讨

发表于 2005-04-01 最后回复 2005-04-19

我觉得我发现了VB的Bug了,用数据库可以查出来,用VB就是查不出来??

发表于 2005-04-02 最后回复 2005-04-02

vec.reserve(vec.size());//我的字符串为什么不能翻转??

发表于 2005-03-21 最后回复 2005-03-22

模板基础

发表于 2005-03-21 最后回复 2005-03-21

虚函数问题,问为什么我这个程序子类的函数和父类的虚函数地址是一样的,那编译器如何区分??

发表于 2005-03-18 最后回复 2005-03-20

虚函数问题,问为什么我这个程序子类的函数和父类的虚函数地址是一样的,那编译器如何区分??

发表于 2005-03-18 最后回复 2005-03-20

就一点c++的内容,不知道为什么就出错

发表于 2005-03-16 最后回复 2005-03-16

构造一个字符串类,我的new 和 delete 个数不一样多,但是好像没问题

发表于 2005-03-14 最后回复 2005-03-14

C++ Primer 破书,905页,20章iostream库的问题

发表于 2005-03-11 最后回复 2005-03-11

C++ Primer 的例子 有关文件输入输出的

发表于 2005-03-10 最后回复 2005-03-10

内联函数的问题

发表于 2005-03-01 最后回复 2005-03-08

我知道一个数组要溢出,如何处理

发表于 2005-01-14 最后回复 2005-01-15

求孙鑫VC教程,全集

发表于 2005-01-05 最后回复 2005-01-10

再一本书上的代码,我找不到头文件odmg.h

发表于 2004-12-09 最后回复 2004-12-27

一个得到网卡号的函数,100分求详细解释

发表于 2004-11-12 最后回复 2004-11-21

打开帮助文件的索引项???高手救命

发表于 2004-11-13 最后回复 2004-11-15

我想创建ACCESS数据库

发表于 2004-11-11 最后回复 2004-11-11

ADO控件

发表于 2004-10-17 最后回复 2004-10-26

数据库没人气,在开50分搞定这个问题(ADO控件)

发表于 2004-10-18 最后回复 2004-10-25

全文索引中的加权值和不加权值查询有何区别?加权值大小有什么区别?

发表于 2004-10-13 最后回复 2004-10-20

为了屏蔽计算器,我想做一个程序,找到了句柄,但就是关不掉他

发表于 2004-10-11 最后回复 2004-10-11

一个用MFC手写的MDI窗体,有两个断言错误,忽略后可以运行,请大家帮忙看一下,100分

发表于 2004-09-22 最后回复 2004-09-23

个手写的MFC程序,四个基本类,编译没有错,运行时有内存错误,忽略也不可以正常运行。但希望能解决

发表于 2004-09-21 最后回复 2004-09-21

空空如也

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

TA关注的人 TA的粉丝

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