- 博客(13)
- 资源 (3)
- 收藏
- 关注
原创 我对socket 和socket 连接的理解
Socket 就是一个通信工具的抽象。比如进程A和进程B 需要通信,那么A和B都必须各自拥有一个Socket,就像打电话一样,通话的双方都有一个电话机,那么进程A和进程B的通信,就变成进程A的Socket和进程B的Socket相互连接、断开的过程。Socket 中包含了地址、端口号等信息,Socket通信强调的是通信过程,屏蔽了通信细节。我们可以这么理解,Socket 就是通信双方的通信工具,提供
2012-12-25 14:28:11 998
原创 STK应用没有显示
STK应用在源代码中是有源代码的,在android系统启动的过程中这个应用在理论上讲是应该被启动的。但是在没有SIM卡或者RIL层出现问题的时候,我们在应用列表里是无法看到这个应用的图标的。这种使某个应用不在应用列表里显示的功能是通过如下代码实现的。 private static void setAppState(Context context, boolean install, int
2012-12-24 13:32:53 3610
原创 git commit ammend 修改已经提交的注释
对于已经修改提交过的注释,如果需要修改,可以借助 git commit --amend 来进行。 例如 在framework/base 里最新的提交就是 resolving the roaming problem,我现在需要将其改为 resolving the roaming problem for fixing bug 7732 在 framework/base 下 输入 git c
2012-12-24 09:34:23 77446 5
原创 Stk简介和核心类(android4.0 RIL Framework Java 部分)
STK 或者 UTK 就是 Sim Tool Kit (sim卡工具包),定制了一系列与运营商相关的应用(查询天气,话费,彩铃等),可以理解为安装在SIM卡上的应用。目前对用户来说,基本上没有什么实际作用,google 自带了一个stk 应用。运营商将相关应用保存在SIM卡中,stk应用需要从SIM卡中读取相关应用信息,SIM卡也会向stk应用主动上报应用信息。 Stk应用和SIM卡之间的通信
2012-12-14 17:33:35 6078 1
原创 android4.0网络服务状态或者信号量强度上报过程(RIL Framework Java 部分)
网络服务状态或者网络信号量是通过Modem 主动上报信息来实现的,相关类有ServiceState,GsmServiceStateTracker,GSMPhone,TelephonyRegistry等。 1.比如现在所处的网络发生变化,RILReciver 收到上报信息,处理 RIL_UNSOL_RESPONSE_VOICE_NETWORK_STATE_CHANGED 信息。 cas
2012-12-12 16:59:17 6854
原创 android4.0通话管理核心类(RIL Framework Java 部分)
GsmCall,通话,是指通信双方(自己和别人)的通信的过程,一个通话可以有多个通话连接,一个通话连接只能属于一个通话,比如正在等待的通话,正在接通的通话,正在转接的通话等,每一个通话都有自己的状态。 DriverCall ,描述来电信息,如号码,状态等信息,就是AT+CLCC GsmConnection 就是一路通话连接,有两种类型 接收型。接的电话,MT call,需
2012-12-12 15:21:26 1876
原创 android4.0去电过程(RIL Framework Java 部分)
1.DialpadFragment 的 dialButtonPressed(),用户输入号码(不是紧急号码)后,按下该键,dialButtonPressed 方法被调用。 private Intent newDialNumberIntent(String number) { final Intent intent = new Intent(Intent.ACTION_CA
2012-12-11 15:38:43 2221
原创 android4.0来电过程(RIL Framework Java部分)
1.RILReceiver 接收到unsolicited message RIL_UNSOL_CALL_RING,处理该消息 if (mRingRegistrant != null) { mRingRegistrant.notifyRegistrant( new AsyncResult
2012-12-11 13:35:08 3098
原创 数据连接核心类(java层)
1.DataConnectionTracker. DataConnectionTracker 就是一个 Handler ,处理与数据连接相关的各种消息,是数据连接的核心类,也就是发起数据连接以及处理数据连接状态的主体类,主要工作如下: 做数据连接的前期准备工作,如检查apn,DataConnectionAc,等。 初始化DataConnection,DataConnecti
2012-12-10 11:13:22 3566
原创 AsyncChannel 的作用
1. AsyncChannel 是两个不同的Handler 的传递消息通道,这两个Handler 有可能是在同一个进程,也有可能是在不同的进程,如果是在不同的进程则需要借助Binder 的IPC 机制进行通信。 2.Messenger 与handler 相关联,Messenger 将消息发送给对应的Handler去处理,Messenger=new Messenger(handler),如果h
2012-12-07 14:17:37 8179 1
原创 C语言文件的常用操作
1.getchar 和getc 的区别 getchar 对应的输入设备是键盘。 getc 对应的输入设备是某个文件指针 getchar() getc(FILE* fp)// 从文件字节流中读取一个字符2.gets和fgets gets 从标准输入设备(键盘)中读取一个字符串,遇到换行结束,换行符结束,并在末尾添加 "\0". fgets 从文件字节流中读取一
2012-12-06 15:00:54 700
原创 文本文件和二进制文件
C语言中所描述的文件,可以理解为字节流,都是一串"01“(计算机只能识别01)。文件类型有文本文件和二进制文件之分,事实上文件都是一串01,但是文本文件这些01 都能够对应到根据某种字符编码方式翻译的字符(如ASCII码,UTF-8等),二进制文件都是一些0101,这些0101没有与某种特定的字符编码方式相关联,但是也是有一定的翻译规则,这个规则,由具体的文件来决定(如图形文件,音频文件等),比如
2012-12-06 14:02:02 634
原创 关于段错误
1.测试环境:gcc 4.4 2.如果程序访问无法访问的内存地址,或者说不存在的内存地址,就会报 Segmentation fault 如下面的语句 char* p="123";// p说存储的地址不确定,有可能无法写数据。 scanf("%s",p); 就会产生段错误。 比如说数组越界访问(地址有可能不存在) 比如说将整数作为
2012-12-05 15:14:38 588
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人