自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(26)
  • 资源 (5)
  • 收藏
  • 关注

原创 android7.1 location service

android 7.1 location service

2017-03-20 20:46:45 854

原创 C语言宏定义技巧——多次包含头文件内容不同

1、  头文件定义如下:/* declears in “funcs.h” */FUNC_1(ID_FUN1_001)FUNC_1(ID_FUN1_002)FUNC_2(ID_FUN2_001)FUNC_2(ID_FUN2_002) 2、  多次包含头文件#define FUNC_1(opt) opt,#define FUNC_2(opt)enum aaa {

2014-09-29 21:21:16 1998

原创 C语言宏定义技巧——头文件多次包含

1、  头文件定义如下:/* declears in “funcs.h” */FUNC_1(ID_FUN1_001)FUNC_1(ID_FUN1_002)FUNC_2(ID_FUN2_001)FUNC_2(ID_FUN2_002) 2、  多次包含头文件#define FUNC_1(opt) opt,#define FUNC_2(opt)enum aaa {

2014-09-29 21:16:34 551

原创 MediaPlayer本地播放流程解析(三)

这一篇文章接着之前的prepare,讲play的流程前面的流程省略,直接从AwesomePlayer的Play()开始讲。status_t AwesomePlayer::play() { …… return play_l();}status_t AwesomePlayer::play_l() { …… if (mAudioSource != NUL

2014-09-22 23:49:51 4729 1

原创 TimedEventQueue分析

AwesomePlayer里面定义了一个TimedEventQueue,通过向它发事件消息,来驱动player的运转。定义在AwesomePlayer.h里面,如下:TimedEventQueue mQueue;TimedEventQueue中维护了一个队列,外面通过调用其提供的方法postEvent, postEventWithDelay等等来向队列添加事件,在执行完mQueue.s

2014-08-21 15:52:54 2502

原创 MediaPlayer本地播放流程解析(二)

上一篇MediaPlayer本地播放流程解析(一)讲了MediaPlayer的setDataSource流程,本篇将接着讲MediaPlayer的prepare流程。Prepare前面的流程一直到AwesomePlayer,和setDataSource都基本上一样,这里直接略掉。下面将从AwesomePlayer开始。status_t AwesomePlayer::prepare() {

2014-08-20 19:54:43 3265

原创 MediaPlayer本地播放流程解析(一)

应用场景:MediaPlayer mediaPlayer = new MediaPlayer();mediaPlayer.setOnCompletionListener(new OnCompletionListener() { @Override public void onCompletion(MediaPlayer mp) { mediaPlayer.release(); m

2014-08-18 22:35:38 22432 4

原创 handler looper和messageQueue

一、使用方法。Looper用来处理消息循环,在创建过程中会初始化MessageQueue。Handler在其它线程发消息给当前线程MessageQueue用来存放消息 Looper对象在哪个线程创建,Handler的handleMessage方法就在哪个线程执行 在创建activity时,android系统本身会为activity创建Looper。final Han

2014-08-13 20:03:29 1073

转载 Android--hw_get_module解析

我们知道,google为了保护硬件厂商的信息,在Android中添加了一层,也就是大名鼎鼎的HAL层。在看HAL的编写方法的过程中,会发现整个模块貌似没有一个入口。一般说来模块都要有个入口,比如应用程序有main函数,可以为加载器进行加载执行,dll文件有dllmain,而对于我们自己写的动态链接库,我们可以对库中导出的任何符号进行调用。    问题来了,Android

2014-07-17 16:18:13 992

原创 android binder 机制三(匿名Service)

什么是匿名Service?凡是没有到ServiceManager上注册的Service,都是匿名Service。还是拿上一篇的例子来举例,看代码:status_t MediaPlayer::setDataSource(int fd, int64_t offset, int64_t length){ status_t err = UNKNOWN_ERROR; const s

2014-07-15 23:29:02 3287 2

原创 android binder 机制二(client和普通server)

本文介绍android binder通信中,普通server进程如何工作,已经client和普通server之间如何通信

2014-07-14 17:06:19 4376

原创 android binder 机制 (ServiceManager)

Binder机制作为一种IPC通信机制,在android系统中扮演了非常重要的角色,因此我也花了一些时间来研究它,按照我的理解,下面我将从4个方面来讲一下Binder,如有不对的地方,还希望大家多多指教。下面的例子都将以MediaServer来讲。一、ServiceManagerServiceManager在Binder系统中相当与DNS,Server会先在这里注册,然后Client会在这

2014-07-13 13:20:25 5868 1

原创 JNI学习三(Local references & Global references 以及JNI内存泄露)

Local Reference 和 Global ReferenceJNI支持三种类型的opaquereference:local references, global references和weak globalreferences Local reference 只在本线程的nativemethod中有效,native method返回到Java层时将自动释放。一般是JNI自动创建

2014-07-09 15:26:52 10484 2

原创 JNI学习二(数据类型)

JNI之数据类型JNI层基本数据类型:         jboolean, jbyte, jchar, jshort, jint,jlong, jfloat, jdouble JNIEXPORTjstring JNICALLJava_Prompt_getLine(JNIEnv*env, jobject this, jstring prompt);其中:JNIEnv 为J

2014-07-09 08:42:56 746

原创 JNI学习一(入门篇)

JNI之特性JNI特性:1、  native code 底层操作,更加高效2、  打破了java的平台无关性,可移植性需要自己解决3、  Java面向对象语言的封装性被破坏了,Java类中任何方法和属性对JNI都是可见的,包括private4、  从java环境到native code的上下文切换耗时、低效5、  JNI编程,操作不当,可能引起内存泄露 JNI之qu

2014-07-08 16:27:27 692

原创 android keydown touch事件传递

1、  onKeyDown事件 Android系统最先触发按键上绑定的事件监听器,然后才触发该组件提供的事件回调方法,最后传播到该组件所在的Activity public class MyButton extends Button {           publicMyButton(Context context, AttributeSet set) {         

2014-07-03 18:11:45 3451

原创 mysql-5.6.19-win32 安装配置

1、下载地址:2、配置:

2014-06-24 14:44:38 2357

转载 android onTouch()与onTouchEvent()的区别

1.onTouch方法:onTouch方法是View的 OnTouchListener借口中定义的方法。当一个View绑定了OnTouchLister后,当有touch事件触发时,就会调用onTouch方法。(当把手放到View上后,onTouch方法被一遍一遍地被调用)2.onTouchEvent方法:onTouchEvent方法是override 的Activity

2014-06-23 14:46:00 593

原创 undefined reference to 'dlopen'

LOCAL_SHARED_LIBRARIES += \libdlLOCAL_LDLIBS += \-lpthread \-ldl \

2014-05-23 10:09:38 2446 2

原创 宏函数及其用法

1、在一个预处理器宏中的参数前面使用一个#,预处理器会把这个参数转换为一个字符数组,如:#define P(A) printf(“%s : %d”, #A,(A))Int a=1,b=2;P(a+b);则会输出:a+b : 32、 “##”是一种分割连接方式,它的作用是先分割,然后进行强制连接。例如:#define A1(name, type)  type name

2014-05-23 09:45:42 1541

转载 Android - 文件读写操作 总结

在android中的文件放在不同位置,它们的读取方式也有一些不同。本文对android中对资源文件的读取、数据区文件的读取、SD卡文件的读取及RandomAccessFile的方式和方法进行了整理。供参考。一、资源文件的读取:      1) 从resource的raw中读取文件数据:[java] view plaincopy

2014-05-05 09:45:43 633

原创 一个关于结构体的问题

typedef struct tagNODE{      char *a;      int b;} NODE; NODE iNode; 定义一个这样的结构体变量后,偶就很郁闷了,因为不知道iNode.a是否申请过内存,使用的时候总是提心吊胆的,我按照如下的方法来使用这个变量: switch(message){      case MSG_CREAT

2009-04-20 21:40:00 135

原创 我项目中触摸屏MSG_UP消息不可靠

    最近发现我当前的项目中触摸屏MSG_UP消息有时候收不到,导致我的应用模块运行不对了,于是想了一个办法补救一下。 static int waitCnt = -1; case MSG_CREATE:{      fnGUI_SetTimer(hWnd, TIMERID, TIME_MS(100));      waitCnt = -1;}break; 

2009-04-20 21:25:00 234

原创 不用if-else实现英文字符大小写转换

char  str[100] = "hello";int index; for(index = 0; str[index]; index++){     str[index] &= 0xDF; // 转化为大写字符     str[index] |=   0x20;  // 转化为小写字符}

2008-11-01 09:45:00 327

原创 C++ 一些数据类型的转换

1、CString   to   char* :   CString   cStr   =   "Hello,world!";     char*   zStr   =   (char*)(LPCTSTR)cStr;   2、CString   to   LPCSTR     将CString转换成LPCSTR,需要获得CString的长度,例如:     CString   cStr   =  

2008-04-04 09:39:00 494

原创 strcpy(), memcpy(), Write(), Read().

strcpy(char *dest, char *src)  从src 复制到dest, 复制的字符串以/0结束memcpy(char *dest, char *src, int nCount) 从src复制nCount个bytes的内容到destCFile类的Write(const void* lpBuf, UINT nCount), Read(void* lpBuf, UINT n

2008-04-03 16:02:00 647

3gpp 36331

The present document specifies the Radio Resource Control protocol for the radio interface between UE and E-UTRAN as well as for the radio interface between RN and E-UTRAN

2017-12-20

android jni详解

详细描述jni编程的各个方面,包括jni的基本使用方法、数据类型、方法、global reference和local reference、内存泄露等等

2014-07-23

微机原理 接口 教案

湖南大学的微机原理教案,介绍微机原理和接口技术

2009-03-14

Huffman 编码及其解码

用C语言实现了哈夫曼编码和解码,对一个文件进行编码和解码

2008-11-02

VC实现的中国象棋游戏

采用置换表 + alpha-beta剪枝技术 进行博弈树的搜索 仿QQ游戏中国象棋界面,直接就可以运行

2008-10-22

空空如也

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

TA关注的人

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