自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 MediaCodec 初探

    最近分析了一个关于MediaCodec的花屏问题,记录一下文档以备后面使用。     MediaCodec这个类是Android4.1开始引入的,API16。这个类可以在设备上直接访问媒体的解码,一般称为硬解码。     在Android4.3之后,API18,MediaCodec扩展...

2018-12-06 14:48:25 76 0

原创 WLAN 入门(二)

我们都知道其他应用都是使用WifiManager来访问wifi.文件位于 ./frameworks/base/wifi/java/android/net/wifi/WifiManager.java 它是public  类,并且有很多public方法。public 状态属性。 通常是直接打开关...

2018-10-31 10:22:26 182 0

原创 WLAN 入门(一)

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

2018-10-30 20:39:38 160 0

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

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

2018-10-25 20:08:46 164 0

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

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

2018-10-25 13:49:17 301 0

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

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

2016-06-20 16:14:02 3250 0

原创 Android 锁屏探究(2)

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

2015-03-24 10:29:41 497 0

原创 Gallery3d 学习笔记(19)

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

2015-03-20 14:32:02 583 0

原创 Gallery3d 学习笔记(18)

上一节课,我们讲了ActionBar 的左边部分,那么现在我们讲一下ActionBar的右边部分 我们先熟悉一下我们要看的内容,看看再不同的界面下ActionBar是不是有不同的状态? 刚刚进去相册集的时候是不是有拍照按钮?并且右边的菜单是只有一个选择相册? 继续进相册的时候,拍照按钮...

2015-03-19 10:42:34 811 0

原创 Gallery3d 学习笔记(17)

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

2015-03-17 14:56:55 614 0

原创 Gallery3d 学习笔记(16)

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

2015-02-06 15:01:41 759 0

原创 设置屏幕亮度的办法

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

2015-01-23 13:46:40 544 0

原创 Android 锁屏探究

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

2014-04-07 18:09:10 1007 0

原创 Gallery3d 学习笔记(15)

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

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

原创 Gallery3d 学习笔记(14)

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

2013-06-17 09:35:45 1403 0

原创 Gallery3d 学习笔记(13)

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

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

原创 Gallery3d 学习笔记(12)

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

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

原创 Gallery3d 学习笔记(11)

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

2013-06-16 20:58:35 1238 0

原创 Gallery3d 学习笔记(10)

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

2013-06-16 19:52:54 1035 0

原创 Gallery3d 学习笔记(9)

为了更好的了解界面的情况,还是去使用下Gallery3d的界面后再看代码 刚进去是一个相册的缩略图界面,一堆一堆的图片,左上角是个Gallery(PathBar),右上角是个摄像头(ImageButton) 再进入一个相册后,是这个相册的,网格化的缩略图,左上角是个Galler...

2013-06-16 16:15:17 1040 0

原创 Gallery3d 学习笔记(8)

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

2013-06-16 11:03:46 1094 0

原创 Gallery3d 学习笔记(7)

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

2013-06-15 14:49:45 1230 0

原创 Gallery3d 学习笔记(6)

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

2013-06-15 11:18:05 1114 0

原创 Gallery3d 学习笔记(5)

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

2013-06-14 21:45:56 928 0

原创 Gallery3d 学习笔记(4)

发现每次都是要下岗前写博客,真不吉利啊,平时都没有空写。言归正传,上次的讲到RenderView和RootLayer,看起来必须把OpenGL的相关类弄清楚才能理解。 我们知道要使用的OpenGL 是画图的一堆接口(当然包括3D 纹理 渲染很多东西),在用这些的同时,我们的Activit...

2013-06-14 15:56:33 1108 0

原创 Gallery3d 学习笔记(3)

Android 的多媒体数据库文件存在什么地方呢 ?/data/data/com.android.providers.media/databases  只要有权限的手机都可以看到有两个数据库文件, internal.db和external-**.db,分别对应内部存储器数据库文件和外部存储器数据...

2013-06-14 13:55:29 1050 0

原创 Gallery3d 学习笔记(2)

上一次我们只是研究了一下Gallery3d的大致情况,发现了一些问题,就是什么时候发出开始扫描信息的和何时扫描的处理没有找到。    我们不得不扩大研究范围了,开始看在package\provider\mediaprovider,否则我们理解不了上述疑问。    mediapr...

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

原创 Gallery3d 学习笔记(1)

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

2013-06-14 10:23:09 1724 0

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

Andrei Alexandrescu我不想破坏你的情绪,但这篇专栏针对多线程编程中最可怕的问题。如果说——正如前面一篇泛型所说的——写出意外安全(exception-safe)的程序很难,但写意外安全的程序和多线程编程比起来就是小孩子的玩意。 用到多线程的程序是众所周知地难写,难验证,难调试,难...

2004-09-29 16:42:00 1433 0

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

首先看定义 #define BEGIN_MESSAGE_MAP(theClass, baseClass) /          const AFX_MSGMAP* theClass::GetMessageMap() const /                   { return...

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

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

首先看定义 #define DECLARE_MESSAGE_MAP() / private: /          static const AFX_MSGMAP_ENTRY _messageEntries[]; / protected: /          static AF...

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

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

还是先看定义 #define IMPLEMENT_DYNCREATE(class_name, base_class_name) /          CObject* PASCAL class_name::CreateObject() /                   { ret...

2004-07-11 21:41:00 3478 0

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

DECLARE_DYNCREATE(mydoc) 定义为 #define DECLARE_DYNCREATE(class_name) /          DECLARE_DYNAMIC(class_name) /          static CObject* PASCAL Cr...

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

原创 手写MFC的深入浅出

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

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

原创 MFC的RUNTIMECLASS 的探讨

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

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

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