Dagger2教程六之Component的组织方法(原)

为了介绍Dagger2的使用,我们搭建了一个Demo来逐步分析,大家可以在这里下载源码(这个源码与之前的五个小节源码不同)(https://github.com/dushaofeng/DaggerDemo2.git)。         上一节我们介绍了《Dagger2教程五之单例模式》,这一节我们来介绍Component的组织方法。         所谓Component组织方法,也就是我们工...
阅读(136) 评论(0)

Dagger2教程五之单例模式(原)

为了介绍Dagger2的使用,我们搭建了一个Demo来逐步分析,大家可以在这里下载源码(https://github.com/dushaofeng/DaggerDemo.git)。         上一节我们介绍了《Dagger2教程四之多构造方法的情况》,这一节我们来介绍Dagger2中的单例模式的使用。         Dagger2中有一个极其具有迷惑性的注释"@Singleton",字...
阅读(115) 评论(0)

Dagger2教程四之多构造方法的情况(原)

为了介绍Dagger2的使用,我们搭建了一个Demo来逐步分析,大家可以在这里下载源码(https://github.com/dushaofeng/DaggerDemo.git)。         上一节我们介绍了《Dagger2教程二之基础使用》这一节我们来讨论如果注入类的构造方法中的参数不同或者注入类包含多个构造方法时的情况处理。 一、包含可变参数的构造方法的情况...
阅读(78) 评论(0)

Dagger2教程三之构造方法带参数的情况(原)

为了介绍Dagger2的使用,我们搭建了一个Demo来逐步分析,大家可以在这里下载源码(https://github.com/dushaofeng/DaggerDemo.git)。         前面一节《Dagger2教程二之基础使用篇》介绍了Dagger2最简单的使用场景,但是在结尾我们遇到两个困难,即如何在不修改注入类代码的情况下实现注入?如何解决注入类构造方法需要参数的情况?...
阅读(150) 评论(0)

Dagger2教程二之基础使用(原)

为了介绍Dagger2的使用,我们搭建了一个Demo来逐步分析,大家可以在这里下载源码(https://github.com/dushaofeng/DaggerDemo.git)。         上一节我们介绍了《Dagger2教程一之配置篇》,这一节我们来介绍Dagger2的具体使用方法。 一、原始方式         我们先来看一下如果不使用Dagger的情况,我们在Activ...
阅读(60) 评论(0)

Dagger2教程一之配置(原)

既然打开了这篇文章,那么关于为什么使用Dagger2或者Dagger2的作用就不再多说,我们直接来动手配置Dagger2。         我们只介绍AndroidStudio的配置方法,至于依旧使用Eclipse的同学,请绕道。         我们打开模块的(不是全工程的)build.gradle文件,其内容大致是这个样子: apply plugin: 'com.andr...
阅读(60) 评论(0)

Android Studio引入Library后运行报"Resources$NotFoundException"的解决办法(原)

【前提条件】         Eclipse导出的Library工程,其中的src目录被编译为jar,然后将此Library合入AndroidStudio中,编译(build)可以通过,但是运行(run)报错,报错信息:         android.content.res.Resources$NotFoundException: Resource ID #0x7f030003 【主要特征...
阅读(377) 评论(0)

Android手机使用Fiddler方法介绍(原)

本节主要介绍如何利用Fiddler工具抓取Android发送的HTTP和HTTPS的报文...
阅读(1655) 评论(0)

高通平台ModemBindingPolicyHandler和ModemBindingPolicyHandler作用(原)

做高通平台双卡项目的时候,高通在Telephony模块中添加了ModemBindingPolicyHandler和ModemStackController两个对象,今天我们来看一下他们的作用。由于这两个对象都是高通自己添加的,因此不方便贴出太多的源码,我们简要看一下其作用和原理。         高通之所以在AP侧添加这两个对象,是和其双卡的协议栈结构相关的。         我们知道虽然双卡...
阅读(1061) 评论(0)

Android运营商名称显示之PLMN与SPN显示规则(原)

前面的两节分别介绍了PLMN和SPN的读取方法,那么在锁屏、状态栏、通知栏这些地方的运营商名称究竟是来自于PLMN呢?还是来自于SPN呢?         在3GPP中规定的运营商名称显示规则如下:         1、名称可以为SPN或PLMN         2、如果没有SPN文件,那么就显示PLMN         3、若有SPN,并且注册的PLMN是HPLMN或者注册的PLMN在S...
阅读(3748) 评论(2)

Android运营商名称显示之SPN的读取(原)

SPN(Service Provider Name)就是当前发行SIM卡的运营商的名称,可以从以下两个路径获取:         1、从SIM文件系统读取         2、从配置文件读取         我们本节就来分析该字串的读取过程。 一、从SIM读取SPN过程         一般来说,SIM上保存有当前SIM的发行运营商名称,也就是SPN,该字串可以存储在SI...
阅读(4034) 评论(0)

Android运营商名称显示之PLMN的读取(原)

Plmn的全称是Public Land Mobile Network(公共陆地移动网络),而在运营商显示方面主要是指当前SIM所驻留的网络,比如当中国移动的SIM(46000)如果漫游到联通的网络(46001),那么虽然当前的SIM是中国移动,但是他的Plmn就应该是中国联通。         也就是说,Plmn的名称与当前驻留的网络相关。         那么Plmn的来源是什么呢?...
阅读(4305) 评论(2)

Android运营商名称显示(原)

Android运营商名称的显示对用户来讲可能很少人注意到,但是对Telecomm的开发者来说,却有着不少的学问,虽然3GPP里面已经有明确的显示规则,但是在项目开发中却总能遇到各种特殊的运营商需求。在接下来的几节中我们就来对这个小小的字串显示进行分析。         Android平台的运营商名称主要显示在以下几个位置: 1、锁屏时的状态栏,如图:      2、解锁后的下拉通知栏,...
阅读(2529) 评论(0)

Qualcomm平台qcril初始化及消息处理流程(原)

本节主要来介绍Qcril的初始化流程以及消息在Qcril中如何传递。 Android平台不同厂商的AP侧可以相同,但是Modem侧肯定会有很大的差异,RILC要解决一个问题就是适配不同厂商的Modem,为了达到兼容性要求,Android在AP与Modem之间搭建了RILC的框架,由不同的Modem厂商将自己的协议连接到AP侧。对于高通平台来说,他的RILC就是QCRIL。...
阅读(5017) 评论(1)

Android短信发送流程之多收件人发送(原)

前面的《Android短信发送流程之长短信发送》中介绍了长短信对于普通短信的区别,而对于多收件人的情况,在SmsMessageSender的queueMessage()方法中我们了解到,发送之前,将多收件人的短信进行拆分,放入"content://sms/queued"队列中,在接下来的流程中,将会在SmsReceiverService中通过sendFirstQueuedMessage()方法取出...
阅读(1221) 评论(0)

Android短信发送流程之长短信发送(原)

从前面《Android短信发送流程之普通短信发送》流程看到,长短信与普通短信的流程从SmsManager的sendMultipartTextMessage()方法开始区分,现在我们来看长短信的流程: @SmsManager.java public void sendMultipartTextMessage( String destinationAddress, Str...
阅读(1532) 评论(0)

Android短信发送流程之普通短信发送(原)

我们先来看最简单的流程入手分析,即收件人只有一个,而且不是长短信的情况。 一、地址有效性检测         当点击发送按钮时,触发onClick事件: @ComposeMessageActivity.java public void onClick(View v) { if ((v == mSendButtonSms...
阅读(2163) 评论(0)

Android短信发送流程(原)

在之前的《Android短信接收过程源码分析》一文中我们介绍了Android平台短信接收流程,本节我们来梳理短信发送流程。         本文的代码来自于Android L源码。         短信发送流程中,需要完成以下几件事务:             1、有效性检测             2、短彩信分离             3、长短新分离             4、权...
阅读(891) 评论(0)

数据业务建立流程之发起网络连接过程(原)

经过前面这些过程,网络连接所需要的条件就全部准备就绪,接下来就是等待网络接入。         我们把网络接入过程简单分为三个阶段:         触发阶段             ----该阶段是由各种不同事件触发的,比如SIM载入完毕、PS域Attach成功、通话结束、APN改变等,该阶段的最终都是要调用setupDataOnConnectableApns()方法;...
阅读(3389) 评论(4)

数据业务建立流程之APN参数的激活(原)

APN参数在前面《数据业务建立流程之常规APN参数的创建》一文中已经都被创建完毕并存入mAllApnSettings的数组中,但是这些APN参数默认都是没有被Enable的,只有当APN被Enable之后,该APN才可以被使用,下面我们就来看如何将一个APN参数激活。         APN的Enable是通过TelephonyNetworkFactory中的needNetworkFor()方法...
阅读(2532) 评论(0)
63条 共4页1 2 3 4 下一页 尾页
    个人资料
    • 访问:258289次
    • 积分:3162
    • 等级:
    • 排名:第10161名
    • 原创:63篇
    • 转载:0篇
    • 译文:0篇
    • 评论:95条
    最新评论