自定义博客皮肤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)
  • 收藏
  • 关注

原创 MediaCodec 初探

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

2018-12-06 14:48:25 610

原创 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 386

原创 WLAN 入门(一)

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

2018-10-30 20:39:38 305

原创 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 537

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

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

2018-10-25 13:49:17 1008

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

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

2016-06-20 16:14:02 4354

原创 Android 锁屏探究(2)

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

2015-03-24 10:29:41 582

原创 Gallery3d 学习笔记(19)

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

2015-03-20 14:32:02 688

原创 Gallery3d 学习笔记(18)

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

2015-03-19 10:42:34 996

原创 Gallery3d 学习笔记(17)

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

2015-03-17 14:56:55 731

原创 Gallery3d 学习笔记(16)

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

2015-02-06 15:01:41 897

原创 设置屏幕亮度的办法

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 720

原创 Android 锁屏探究

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

2014-04-07 18:09:10 1121

原创 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 1388 3

原创 Gallery3d 学习笔记(14)

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

2013-06-17 09:35:45 1548

原创 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 2198 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 2850 2

原创 Gallery3d 学习笔记(11)

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

2013-06-16 20:58:35 1358

原创 Gallery3d 学习笔记(10)

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

2013-06-16 19:52:54 1112

原创 Gallery3d 学习笔记(9)

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

2013-06-16 16:15:17 1195

原创 Gallery3d 学习笔记(8)

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

2013-06-16 11:03:46 1198

原创 Gallery3d 学习笔记(7)

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

2013-06-15 14:49:45 1376

原创 Gallery3d 学习笔记(6)

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

2013-06-15 11:18:05 1278

原创 Gallery3d 学习笔记(5)

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

2013-06-14 21:45:56 1009

原创 Gallery3d 学习笔记(4)

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

2013-06-14 15:56:33 1220

原创 Gallery3d 学习笔记(3)

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

2013-06-14 13:55:29 1136

原创 Gallery3d 学习笔记(2)

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

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

原创 Gallery3d 学习笔记(1)

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

2013-06-14 10:23:09 1893

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

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

2004-09-29 16:42:00 1543

原创 手写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 11735 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 4744 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 3686

原创 手写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 6022 12

原创 手写MFC的深入浅出

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

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

原创 MFC的RUNTIMECLASS 的探讨

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

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

wpa_supplant_android51

wpa_supplicant

2018-11-14

开机慢实例分析

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

2017-03-24

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

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

2013-04-14

Begin iPad Application Development

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

2013-03-30

flash 解码的代码

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

2009-07-07

SQLiteSpy 工具

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

2009-06-10

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

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

2009-06-03

逆向编译技术(中文版)

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

2009-06-03

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

深入分析Linux 内核源码

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

2009-06-02

native Api的详细文档

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

2009-05-19

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

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

2009-02-11

Kmdit 汇编编译驱动的环境

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

2009-02-11

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

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

2009-02-11

南京邮电大学的Linux课件

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

2009-02-11

驱动开发教程(第一章)

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

2009-02-11

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

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

2009-02-11

Tcl/Tk Engineering Manual

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

2009-02-11

C编译器的源码(LCC 42)

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

2009-02-11

Linux 入门 课件

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

2009-02-11

Filedisk 文件虚拟磁盘

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

2009-02-11

IRP_FILE 源码

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

2009-02-11

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

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

2009-02-11

Unix 系统设计(中文版)

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

2009-02-11

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

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

2009-02-11

驱动编写与调试 write driver and debug

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

2009-02-11

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

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

2009-02-11

C99 标准C 英文版

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

2009-02-11

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

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

2009-02-11

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

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

2009-02-11

空空如也

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

TA关注的人

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