android分析
文章平均质量分 90
鬼羽子
无他,唯手熟耳
展开
-
Android Call 功能在各个frameworks层中的结构整理 (二)
2. GsmCallTracker类,GsmCall类以及GsmConnection类需要理解的若干概念: GsmCall—GsmConnection—GsmCallTracker关系,android的register—notify模型,ringingCall,foregroundCall,backgroundCall 这三个类放在一起进行分析的原因并不是因为它们原创 2012-02-23 16:22:34 · 7460 阅读 · 2 评论 -
RxJava学习经验谈——lift操作
简介Lift操作是响应式编程中最重要的几个能力之一。了解了lift操作,对大多数的operator操作方法都能够理解了。原创 2017-01-21 19:16:18 · 3491 阅读 · 0 评论 -
RxJava学习经验谈——map与flatmap
简介记录完了lift,再来看看另外两个经常被混淆的概念——map与flatmap。map的定义很容易理解,可以将它就是lift的“人性化”的延伸,但是flatmap就比较难以理解了,“扁平化map“是个啥?原创 2017-01-22 16:43:07 · 9507 阅读 · 3 评论 -
Lollipop DevicePolicyManager学习(下)
3. 如何在主账户与被管理者账户之间做数据通信。a) 什么是userID刚才提到,Lollipop用来区分主账户与被管理账户的其实是一个int型数值userID。从UserHandler.class可以看到,这个userID是通过对uid作整除得到的:public static final int PER_USER_RANGE =100000;原创 2015-01-21 15:27:27 · 8239 阅读 · 7 评论 -
Lollipop DevicePolicyManager学习(上)
Android 5.0(lollipop)发布之后,看特性文档增加了不少有趣的东西。最近花了一些时间,研究了下其中Managed Profile的概念,简称MP,记录下来作为一些经验,有需要的同学请参考。 简介Managed Profile,简称被管理者账户。这个概念并不是什么新东西,因为早在4.2版本中,Android就引入了多用户机制来解决平板使用上的问题。而如今5原创 2015-01-16 16:27:02 · 8929 阅读 · 1 评论 -
Android 4.0 framework 数据业务学习总结(1)
简介本条目用于记录本人对Android framework侧数据业务的阶段学习总结。内容包括流程图,代码分析,BUG用例等。第一阶段学习成果本阶段主要注重对数据连接设置管理流程的学习,掌握数据业务的基本流程与构造。同时尝试解决部分简单BUG。数据连接设置管理介绍通过Setting的常规设置页面中的数据连接开关,打开/关闭数据连接业务。数据业务原创 2013-05-28 11:00:13 · 11542 阅读 · 2 评论 -
关于Handler二三事(上)
一直以来,Handler于我而言都是难以形容的大麻烦。姑且不论线程通信一二三,就算是如何利用Handler来实现各项业务间消息传输,我也只能粗浅的说说如何跟踪消息而已。跟它较劲了很久,零零碎碎总结了不少,总算是明白了些大概。把昔日所做的笔记记录下来,权当作经验与教训与各位分享。理解有误的地方,还请多提建议。 我理解的Handler回调先不说Handler,单问回调是什么,引用万原创 2013-02-16 22:04:17 · 10473 阅读 · 13 评论 -
关于Handler二三事(下)
消息的注册到业务的实现从接触呼叫业务的第一天起,我就一直琢磨代码里成群结队的registerXXXX方法跟notifyXXXX方法究竟是个怎么关系。一个消息(Message)从注册到被处理(handleMessage)都经过了哪些步骤?为什么要通过这种设计来完成线程间通信?是什么决定哪些消息在哪些类中被处理?消息上报之后,framework层都完成了哪些工作?诸如此类,一言难尽。原创 2013-02-17 18:10:33 · 7891 阅读 · 2 评论 -
紧急拨号的处理
问题描述紧急号码在过去的几个项目的开发中一直是难下定论的一项问题,原因在于针对不同CP平台,不同制式的数据网络,不同的运营商,都有不同的紧急号码,而且在无SIM卡情况下紧急号码是否能拨出也并无定论。常用的紧急号码中:911是北美大陆通用报警电话。08和112是全世界GSM通信网络共同的标准紧急电话110,119,120,122是国内大陆的匪、火、急救、交通紧原创 2012-12-31 10:23:32 · 12506 阅读 · 4 评论 -
Motion Sensors
Motion Sensors运动传感器In this document在本文档中,你会了解到Using the Accelerometer如何使用加速度传感器Using the Gravity Sensor如何使用重力传感器Using the Gyroscope如何使用陀螺仪Using the Linear Accelerometer如何使用线性加速度传感器Using the翻译 2012-09-28 17:08:21 · 11539 阅读 · 0 评论 -
小议UNSOL_RESPONSE_CALL_STATE_CHANGED与GET_CURRENT_CALLS
在之前的讨论中我们曾经看到,GsmCallTracker所维护的每一路GsmConnection都需要从modem侧及时更新当前通话状态。那么,这个CLCC是如何从framework侧发送的呢? 在ril.java中有方法getCurrentCalls(Messageresult),该方法即是将GET_CURRENT_CALLS的消息打包以socket方式发到cp侧,再转换为AT+C原创 2012-06-27 10:21:07 · 5678 阅读 · 1 评论 -
由项目的需求说开去
项目需求可以说是贯穿整个研发流程的核心。没有界定规范的需求自然也没有执行严格的研发过程。可惜我领悟的太晚,直到最近才意识到它对业务流程理解的重要性。 从android2.3的时代走到如今的4.0,通话业务的需求也随之有所变更。但单就通话业务以及其补充业务(supplementary service)的流程而言,本质上并无太多区别。以单卡项目为例,在2.3时代里我关注的与原创 2012-06-14 15:54:52 · 2643 阅读 · 0 评论 -
Android Call 功能在各个frameworks层中的结构整理 (四)
终于到了CallManager.java。我对它的理解是,这个类是frameworks层在Call业务中面对App层的最后一层封装。通过这个类,我们可以对底层的业务做进一步归纳,实际上也是为PhoneApp提供了Call业务的控制接口(CallManager class provides an abstract layer forPhoneApp to access and control cal原创 2012-04-27 17:58:48 · 9327 阅读 · 2 评论 -
Android Call 功能在各个frameworks层中的结构整理 (三)
接口的意义: 在最初学习JAVA的过程中,我就对接口这个概念始终非常困惑。不同于父类与子类之间的继承关系,接口对实现它的类所做的约束有限,而且很难界定哪些方法需要在接口中实现,而哪些不用。 直到有一天我得到了一份项目通话功能的需求文档。我突然意识到,接口的意义可能更多的是约束人而非代码,而接口的存在其实就是界定哪些功能需要在哪个模块中实现。所以我想,接口其实就是一份原创 2012-03-27 19:52:43 · 4051 阅读 · 15 评论