- 博客(82)
- 资源 (6)
- 收藏
- 关注
原创 TelephonyManager的使用及其监听通讯状态的原理
TelephonyManager是android提供给应用层的接口,这个类可以提供和设置大量与通讯模块相关的信息,比如:SIM卡状态,SIM卡信息,网络制式,网络状态,信号强度,通话状态,小区信息等等,只要是涉及到通讯模块的信息,我们都可以先查看这个接口是否提供。 此外,TelephonyManager还提供了接口让应用层可以监听某些状态,比如:数据连接状态,信号强度,网络状态的变化。一...
2018-07-17 12:10:55
6331
原创 IMS的注册流程分析
IMS的基础常识: https://www.cnblogs.com/moon-lights/p/7018789.html http://www.360doc.com/content/15/0624/06/9966538_480253246.shtml http://www.txrjy.com/thread-879446-1-1.html本次的IMS注册流程分析基于MT6580_O平台。关...
2018-07-16 23:26:41
22940
2
原创 Hanlder的使用及其Looper,MessageQueue原理
Handler是Android中的消息处理机制,多用于线程之间传递消息。一.使用方法 final Handler mHandler = new Handler(){ @Override public void handleMessage(Message msg) { ...
2018-07-15 23:05:15
605
原创 驻网小结
ELT工具的使用 各个窗口的信息: PS Integrated:各个层次的信息总和,包括OTA Messages ,System Trace。 OTA Messages:只包含网络层的打印信息(RRC,MM,CM以及系统广播)。 System Trace:主要包括AT的打印信息。根据OSI的分层模型筛选各个层次的信息:View ->PS Modules OTA Messag...
2018-07-15 17:43:28
7955
2
原创 LayoutInflater加载布局
LayoutInflater用于把XML布局文件实例化成view对象树。XML布局文件:<?xml version="1.0" encoding="utf-8"?><android.support.design.widget.CoordinatorLayout xmlns:android=&am
2018-07-15 17:41:51
355
原创 Uri与UriMatcher
一.URI简介概念:统一资源标识符(Uniform Resource Identifier) 组成部分: 1.访问资源的命名机制(scheme) 2.存放资源的主机名(authority) 3.资源自身的名称,由路径表示(path)格式:scheme:// authority//path,其中authority中又包括了host和port两部分。cont...
2018-07-15 17:41:31
4520
原创 ContentProvider的使用及源码
ContentProvider是什么 ContentProvider是android四大组件之一。它为Android数据的存储和获取抽象了统一的接口,并通过Binder实现了进程间的通讯。对于Android中任何形式存在的数据,比如视频,音频,图片,通讯录,数据库等,如果想共享这些数据给其他应用或者同一个应用间共享,都可以通过ContentProvider来实现。ContentProvide...
2018-07-15 17:41:08
321
原创 SharedPreferences的使用和源码分析
SharedPreferences是Andorid中的一个轻量级的数据存储方式。一般用来存储一些简单的数据类型,比如int,String,Boolean。SharedPreferences的内部使用ArrayMap键值对的形式来临时存储数据,最终ArrayMap的数据会通过IO流写入到XML文件中,这个XML文件在手机中的位置是: /data/data/shared_prefs/一.Sha...
2018-06-26 12:29:41
2253
原创 序列化之Serializable与Parcelable
序列化:把数据结构或者对象转换成二进制串的过程。 反序列化:把二进制串转换成数据结构或者对象的过程。 二进制串:序列化所生成的二进制串指的是存储在内存中的一块数据。二进制串在Java里面所指的是byte[]。应用场景:数据库,XML等文件存储,套接字序列化的实现:java提供了Serializable接口android提供了Parcelable接口Serializable...
2018-06-22 16:15:06
588
原创 Git原理以及常用命令
序列化:把数据结构或者对象转换成二进制串的过程。 反序列化:把二进制串转换成数据结构或者对象的过程。 二进制串:序列化所生成的二进制串指的是存储在内存中的一块数据。二进制串在Java里面所指的是byte[]。应用场景:数据库,XML等文件存储,套接字序列化的实现:java提供了Serializable接口android提供了Parcelable接口Serializable...
2018-06-15 15:24:39
726
原创 java集合
java集合主要有两类:Collection和Map。Collection接口主要有三个派生接口:Queue,List,Set,这三个派生接口又派生出很多实现类,总体来说,java集合的种类有这四个Queue,List,Set,Map。以下是这它们的关系图:Collection集合 Iterable接口定义了iterator()方法,Queue,List,Set接口的实现类均实现了...
2018-06-11 21:44:49
236
原创 java基础知识
一.基本数据类型 基本元素类型 大小 最小值 最大值 包装器类型 默认值 boolean - - - Boolean false byte 8 bit -2^(8-1) 2^(8-1)-1 Byte 0 char 16 bit Unicode 0 Unicode 2^16-1 Char...
2018-06-10 11:34:05
275
原创 BroadcastReceiver
一.广播的使用 (一)广播的注册 (1)静态注册 (2)动态注册 (二)广播的发送 (1)按照广播发送的类型分类 有序广播,无序广播,粘性广播 (2)按照广播所处的进程分类 前台广播,后台广播 (三)广播的Debug二.源码中广播的实现方式 (一)广播的注册 ...
2018-04-25 15:12:12
643
原创 数据吞吐率
UE Capability :手机终端能力,表明了了手机的数据处理能力(下载和上传能达到的最高速率),是由手机用的通信芯片决定。Modem log中查看UE Category :3G,4G80058, 11565, 2517, 14:21:37:075 2017/03/07, MOD_ERRC_RCM, , TRACE_PEER, [MS->NW] UECapabilityInfor...
2018-04-10 19:45:25
3010
1
原创 路由配置信息的获取
路由配置信息的获取有多种方式,wifi,mobile data,Tethering,VPN。这里主要分析由mobile data获取路由配置信息的过程。 结合ConnectivityService类,其大致的类图与流程图如下: 从打开数据开关到获取到路由配置信息的时序图如下: 本篇博客只介绍DcTracker,DataConnection,GsmCdmaPhone,RIL层的AT指令...
2018-04-10 19:01:32
6219
原创 ServiceStateTracker网络状态的处理
ServiceStateTracker.java主要处理一些与网络相关的状态和数据,它通过注册监听RIL层来获取网络状态的变化,注册监听UiccController 来获取SIM卡的变化情况及SIM卡数据,之后通知其他类网络状态的变更情况。这部分网络状态主要包括: 1.CS,PS域的注册情况。 2.漫游情况。 3.运营商名字。 4.网络模式。 5.信号格变化。 6.时区,注册小区的情况...
2018-04-08 20:37:16
7061
原创 spn-conf.xml 与运营商名字显示
一.运营商spn的配置正常运营商: 配置spn-conf.xm。 格式:<spnOverride numeric="52001" spn="AIS"/>虚拟运营商: 没有自己的实体网络,通过租用正常运营商的网络来提供网络服务。虚拟运营商的SIM卡与正常运营商的SIM的区别是:虚拟运营商会在SIM卡中的某支文件中定义某个栏位,以表示自己是虚拟运营商,根据增加...
2018-04-06 18:48:53
3416
原创 Wireshark分析数据包
Wireshark分析数据包一.协议TCP/IP协议栈:应用层,运输层,网络层,数据链路层 1.应用层协议 文件传输类:HTTP、FTP、TFTP; 远程登录类:Telnet; 电子邮件类:SMTP; 网络管理类:SNMP; 域名解析类:DNS; 2.运输层协议 SSL:运输层数据加密协议 Tcp:传输控制协议,可靠传输(三次握手,四次断开)
2017-11-22 17:52:23
1711
原创 短信相关的AT指令以及信令
此次的短信AT指令和信令从以下几个方面介绍:一 . 短信AT指令的格式 二 . 短信AT指令的使用(超级终端) 三 . 短信AT指令在log中的查看 四 . 短信modem相关信令 五 . 超级终端的使用(hyper_terminal) 六 . 其他短信AT指令 七 . CMC ERROR 错误码一 . 短信AT指令的格式短信的编码方式有两种:text模式,pdu模式。因此短信的AT指令
2017-11-16 17:40:58
10416
原创 ConnectivityService框架初识
Android中提供的数据业务方式有几种:移动数据网络,WIFI,热点,网线等。这些数据业务本身可以独立使用,但是同一时刻,只能使用其中的一种数据业务方式。管理这些数据业务方式的使用由ConnectivityService,NetworkFactory,NetworkAgent,NetworkMonitor等来完成,ConnectivityService处于核心调度位置。ConnectivitySe
2017-11-16 11:17:36
17523
1
原创 StateMachine状态机初识
StateMachine状态机的介绍中,以下的这篇博客讲得已经很全面了。 http://www.cnblogs.com/bastard/archive/2012/06/05/2536258.html为了更加方便的理解,个人简单的画了一张时序图:具体的使用:要实现自己的StateMachine并让它跑起来,需要做以下几个工作: 一 . 实现自己的State子类。 StateMachine已经帮我
2017-11-14 16:08:44
3602
原创 AsyncChannel的工作机制
AsyncChannel为两个不同的handler之间建立消息通道。本来两个handler之间也可以通过其handler机制互相发送接收message消息来通信,但是AsyncChannel封装了更多功能,考虑了同步异步操作,同进程或者不同进程间通信的问题,使得某些场景下的消息传递更加方便。AsyncChannel主要用在ConnectivityService框架中,涉及了wifi,mobile d
2017-11-14 12:00:21
3926
原创 APN基础常识
一.APN的简介APN的完整说明在3GPP规范TS23.003 Clause 9中进行了详细定义。 MCCMNC的定义在3GPP规范TS23.003 Clause 2的IMSI定义中。APN在GPRS骨干网中用来标识要使用的外部PDN(Packet data network,分组数据网,即常说的Internet),在GPRS网络中代表外部数据网络的总称。APN由以下两部分组成:A...
2017-11-13 17:47:43
56538
3
原创 SIM卡不识或者掉卡简单分析
1. 识卡大体过程2.不识卡问题不识卡的主要原因: ①Modem发生错误,异常或者重启。 ②没有收到卡回的ATR ③有收到卡回的ATR,但是后面跟卡通信出现异常 ④SIM卡热插拔配置不正确引起的不识卡 ⑤某些特殊的卡与MTK平台兼容的问题分析步骤: 查看modem是否正常工作。 在radio log中查找ESIMS关键字,查看当前SIM卡状态。通过ESI
2017-11-13 17:04:32
5666
2
原创 UICC框架初识
一.UICC概念UICC:Universal Integrated Circuit Card,通用集成电路卡。主要用于存储用户信息、鉴权密钥、短消、付费方式等信息。俗称电话卡,SIM卡。二.UICC种类UICC引入了多应用平台的概念,实现了多个逻辑应用(即逻辑模块)同时运行的多通道机制。一个UICC可同时包含多种不同的逻辑模块,根据当前终端所支持的无线接入网络的类型,来选择使用相应的逻辑模块。UIC
2017-11-13 16:48:25
2617
原创 android之MIME
一.概念: 多功能Internet 邮件扩充服务(Multipurpose Internet Mail Extensions),它是一种多用途网际邮件扩充协议,在1992年最早应用于电子邮件系统,但后来也应用到浏览器。MIME类型就是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及
2016-04-22 21:19:10
5926
原创 android设计模式的使用之适配器模式
一.适配器模式适配器模式的描述:将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。那么一个适配的过程包括了以下的这四个部分:使用者Client。目标接口Target被适配者Adaptee适配器Adapter适用场景:1. 目前的接口Target不符合我们的需求。比如我们还需要Adap
2016-04-21 22:25:35
428
原创 android布局之重心Gravity
重心Gravity的属性主要有两类:一个是android:gravity,另一个是android:layout_gravity。它们在使用上区别如下:android:gravity:一般用在布局中,设置的是控件自身里面的内容位置。 1.当需要设置多个gravity属性时,可以用符号”|”隔开。比如: android:gravity="center_vertica
2016-04-21 14:16:47
1456
原创 andorid布局之权重layout_weight
layout_weight这个属性主要用在线性布局中LinearLayout。表示此控件在此LinearLayout内所在的空间比例,一般叫做权重。layout_weight的公式:控件的宽度(高度)=控件的width(height)值+(该控件的weight值/所有控件的weight的和)×额外的空间额外的空间=手机的宽度(高度)-所有控件的宽度(高度)在计算Linear
2016-04-21 11:34:28
543
转载 接口和抽象类什么时候使用才合适?
转自:http://jackleechina.iteye.com/blog/1555467理解抽象类 abstract class和interface在Java语言中都是用来进行抽象类(本文 中的抽象类并非从abstract class翻译而来,它表示的是一个抽象体,而abstract class为Java语言中用于定义抽象类的一种方法, 请读者注意区分)定义的,那么什么是抽象类
2016-04-19 12:30:41
515
原创 android设计模式的使用之观察者模式
在分析android源码前,先来了解观察者模式的定义与使用。一.简介1.定义:对象间的一种一对多的依赖关系,以便一个对象的状态发生变化时,所有依赖于它的对象都得到通知并自动刷新。2.角色:观察者(Observer),被观察者(Observable) 观察者:(Observer)将自己注册到被观察对象(Subject)中,被观察对象将观察者存放在一个容器(Contai
2016-04-18 21:05:39
675
原创 android之LoaderManager原理分析
一. LoaderManager的使用 LoaderManager用于异步加载数据,当然,它异步的实现依赖于AsyncTask的原理。如果不深究它的实现原理,这个LoaderManager的使用还是很简单的。我们只需要实现LoaderCallbacks类,然后调用getLoaderManager().initLoader()就可以了,执行加载数据的语句写在LoaderCallbac
2016-04-18 20:21:09
7083
原创 android之AsyncTask原理分析
通过名字就可以知道,AsyncTask主要用于处理android中的异步任务。但是通过源码,我们可以看到它的实现其实还是依赖于Handler的异步消息处理机制。现在我们先来学习它的使用方式,然后再研究源码。一.AsyncTask的基本用法:AsyncTask是一个抽象类,在之类继承它时,必须指定三个泛型参数,这三个参数的用途如下:1. 在执行AsyncTask时需要传入的参数,可用
2016-04-18 20:05:12
3312
原创 android之Sim Tool Kit流程分析
一.简介 STK 或者 UTK 就是 Sim Tool Kit (sim卡工具包),定制了一系列与运营商相关的应用(查询天气,话费,彩铃等),可以理解为安装在SIM卡上的应用。运营商将相关应用信息保存在SIM卡中,STK应用需要从SIM卡中读取相关应用信息,SIM卡也会向STK应用主动上报应用信息。 我们知道SIM卡是插在Modem中的,要读取SIM卡的内容,就必须要
2016-04-18 19:41:50
7306
转载 2G,3G与4G技术相关技术介绍
一. 通讯技术的分类第一代移动电话技术:模拟技术,常见于”大哥大”。第二代移动电话技术(2G):GSM,CDMA第三代移动电话技术(3G):CDMA2000,WCDMA,TD-SCDMA第四代移动电话技术(4G):LTE二. 2G技术GSM:当前应用最为广泛的移动电话标准。2015年,全球诸多GSM网络运营商,已经将2017年确定为关闭GSM网络的年份。之所
2016-04-18 18:04:30
16713
原创 android手机的分区相关
1.安卓手机和平板一般包括以下标准内部分区: /boot /system /recovery /data /cache /misc另外还与SD卡分区: /sdcard /sd-ext============================================================
2016-04-18 18:01:15
4709
原创 andorid中APN与SPN相关的设置相关
APN:一,简介 APN全称是Access Point Name,是手机上网必须要配置的一个参数,用来决定手机是通过哪一种接入方式来访问网络。 接入方式: 在国外,接入方式有很多,比如:gprs;hscsd;WAP;edge等等。国内的接入方式目前一般只有gprs。而gprs在运营商那里被人为的划分为几种。 国内分类:
2016-04-18 17:46:20
8438
转载 java中hashCode方法与equals方法的用法总结
总的来说,Java中的集合(Collection)有两类,一类是List,再有一类是Set。前者集合内的元素是有序的,元素可以重复;后者元素无序,但元素不可重复。首先,想要明白hashCode的作用,必须要先知道Java中的集合。 总的来说,Java中的集合(Collection)有两类,一类是List,再有一类是Set。 前者集合内的元素是有序的,元素可以重复;后者元
2016-03-06 15:13:15
356
转载 有关android分区
安卓手机和平板一般包括以下标准内部分区: /boot /system /recovery /data /cache /misc另外还与SD卡分区: /sdcard /sd-ext=================================================分割线===============
2015-09-28 14:23:13
938
原创 File文件读取与输入输出流
一.输入输出流 抽象类:InputStream,OutputStream,Reader,Writer。 其子类分别是: InputStream AudioInputStream, ByteArrayInputStream, FileInputStream, FilterInputStream, ObjectInpu
2015-08-01 18:29:08
12468
1
Looper,MessageQueue,Handler分析之ActivityThread.java
2014-10-11
开机消费提示语小实例
2014-04-12
自带各种插件的eclipse网站
2012-05-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人