- 博客(54)
- 资源 (3)
- 收藏
- 关注
转载 Android 实现不同样式风格的 SpannableString -- CharSequence
通过Spannable对象设置textview的样式通过Spannable对象我们可以设置textview的各种样式,其功能十分强大。通过SpannableString和它的setSpan(Object what, int start, int end, int flags)便可以对textview设置想要的效果了,这里的what就是效果名,start和end是设置这个样式针对的是textvi
2018-01-09 11:37:33
1335
转载 Android 在TextView 中显示图片的4种方式
我们知道,TextView控件一般是用来显示文本的,而图片一般是用ImageView控件来显示。那TextView能否显示图片呢?答案是肯定的!下面列出常见的4种方式。 XML文件中指定属性值这种方式应该是最常用的了,在TextView的左上右下显示图片,可用 android:drawableLeft android:drawableTop android:dr
2018-01-09 11:24:08
39819
原创 Android 5.0系统 style 默认窗口控件颜色值设置
Android5.0 系统更新了support-v7-appcompat 到 V21,除了增加ToolBar、recyclerview、cardview等控件,同时对改变APP样式下了不小的功夫,写法也和以前不一样了,这里简单介绍一下 style 配色相关信息: #FFFFFF #C1C1C1
2017-12-18 10:42:31
2753
转载 [ubuntu入门手册] - 使用alias自定义命令
[ubuntu入门手册] - 使用alias自定义命令引言这篇文章介绍linux下的alias(别名)功能;我们在使用终端的时候,经常要切换到一些很长的目录,或者用命令开启和关闭一些服务一组软件等,使用命令行一行一行的去敲命令,去进入一些冗长的目录效率非常低,这个时候我们就可以用到alias,它能将一个cd长目录的过程自定义成单个或几个字母的组合,定义了alias后,我们只需要输入这个别名
2017-11-20 16:51:42
830
转载 Android home键和back键区别
Back键Android的程序无需刻意的去退出,当你一按下手机的back键的时候,系统会默认调用程序栈中最上层Activity的Destroy()方法来销毁当前Activity,当此Activity又被其它Activity启动起来的时候,会重新调用OnCreate()方法进行创建,当栈中所有Activity都弹出结束后,应用也就随之结束了.如果说程序中存在service之类的,则可以在恰当的位
2017-11-06 16:27:28
2818
转载 Android M 原生Contacts — 界面和数据库
下面的讲解基于AndroidM整体认识 联系人应用其主要的功能就是管理手机中存储的联系人信息,为了更好的管理信息数据,我们就引入了数据库,所以对于联系人的整体认识,我们就可以将其看成是数据库,联系人的整个业务逻辑都会围绕数据库展开。源码路径和类android/packages/apps/Dialerandroid/packages/apps/Contactsandroid/
2017-11-01 14:12:38
646
原创 Android ListView 之 Item 定位显示
1、ListView 定位到指定 item 的位置listView.setSelection(position);这个方法的作用就是将第position个item显示在listView的最上面一项,假如有一个ListView控件,其一次只能显示10个item,但现在有20个数据项,设置好adapter以后,默认是第一个数据项显示在最上面,如果我现在调用setSelectio
2017-09-22 13:08:52
2821
原创 Android 常用颜色值及半透明效果配置
一、Android 颜色透明度配置:格式:android:background="#XXxxxxxx"(颜色可以写在color中)说明:半透明颜色值不同于平时使用的颜色,半透明颜色值共8位,前2位是透明度,后6位是颜色。也就是说透明度和颜色结合就可以写出各种颜色的透明度。下面是透明度说明表,供大家参考。不透明100%FF 95%F
2017-09-13 19:01:59
4427
转载 RecyclerView的滚动事件分析
列表的滚动一般分为两种:手指按下 -> 手指拖拽列表移动 -> 手指停止拖拽 -> 抬起手指手指按下 -> 手指快速拖拽后抬起手指 -> 列表继续滚动 -> 停止滚动从上面可以看出,滚动状态分为:|--静止|--滚动 |--被迫拖拽移动 |--自己滚动上面的过程的状态变化如下:静止 -> 被迫拖拽移动 -> 静止静止
2017-09-13 09:52:17
470
转载 关于ubuntu中终端的计算机名称修改
ubuntu 中终端$之前的计算机名称太长了,本来终端窗口就不大,仅仅是计算机名称就占用了很长的一部分,感觉很不爽,从网上看到可以修改,总共有两种方法如下: 第一种:使用hostname 命令进行修改 , 命令格式: hostname -$sudo hostname linux 输入root密码进行授权,修改完后,关
2017-08-16 12:39:38
1421
1
转载 Android Telephony分析(五)--- TelephonyRegistry 详解
原文出处:http://blog.csdn.net/linyongan/article/details/52126969本文紧接着上一篇文章Android Telephony分析(四)--- TelephonyManager 详解 的1.4小节。从TelephonyRegistry的大部分方法中: 可以看出TelephonyRegistry主要的功能是上报消息,有
2017-08-04 18:09:35
569
转载 Android Telephony分析(三)--- RILJ 详解
原文出处:http://blog.csdn.net/linyongan/article/details/52066306前言本文主要讲解RILJ工作原理,以便更好地分析代码,分析业务的流程。 这里说的RILJ指的是RIL.Java (frameworks\opt\telephony\src\java\com\Android\internal\telephony) , RIL
2017-08-04 17:37:35
802
转载 Android Telephony分析(二)--- RegistrantList详解
原文出处:http://blog.csdn.net/linyongan/article/details/52066306本文主要讲解 RegistrantList 的原理,以及如何快速分析RegistrantList相关的代码流程。 在Telephony模块中,在RIL、Tracker(ServiceStateTracker、CallTracker、DcTracker)、Phone(Pho
2017-08-04 17:24:51
493
转载 Android Telephony分析(一)--- Phone 详解
本文出处:http://blog.csdn.net/linyongan/article/details/519948171. Android N 中 Phone 的改变Android 6.0时,Phone的继承关系: 在Android N中,Phone的继承关系: 变化1: GSMPhone和CDMAPhone合并成了GsmCdmaPhone,合并之后,某些
2017-08-03 16:13:59
946
转载 Android 相关面试知识点整理
前言本文是根据柴泽建_Jack前辈的《Android面试知识点总结》思路来进行撰写的,真的是十分感谢。Java 相关1. 基本类型和引用类型是什么?每种基本类型都占多少位多少字节?String是基本类型还是引用类型?基本类型有byte, short, int, long, float, double, boolean, char引用类型有 对象(包括String)、数组
2017-08-01 17:21:45
594
转载 Android N 拨号流程分析
文章出处:http://blog.csdn.net/xiaoxsen/article/details/73888758最近一直在赶项目,博客有段时间没更新文章了,今天来看一下Android 7.0的拨号流程分析,先看看拨号的主界面: DialtactsActivity
2017-07-31 17:29:10
1174
转载 Java开发中的23种设计模式详解
设计模式(Design Patterns) ——可复用面向对象软件的基础设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化
2017-07-20 16:55:22
334
转载 一个经典例子让你彻彻底底理解java回调机制
所谓的回调函数就是:在A类中定义了一个方法,这个方法中用到了一个接口和该接口中的抽象方法,但是抽象方法没有具体的实现,需要B类去实现,B类实现该方法后,它本身不会去调用该方法,而是传递给A类,供A类去调用,这种机制就称为回调。
2017-07-20 14:46:59
305
原创 Android N TelephonyProvider及数据库初始化
作为 Phone 进程的核心 ContentProvider,TelephonyProvider 主要提供了 siminfo 和 apn 相关信息的数据库操作。
2017-07-07 18:12:12
6979
原创 Android N SIM卡 SubscriptionInfo 添加与维护
前面我们说到SIM卡状态变化会由 ICCCardProxy 发出广播,通知接收者进行各自逻辑处理。SubInfoRecordUpdater 就是通过接收SIM卡状态变化广播来实现 SubscriptionInfo 的添加与维护。此外,还有两个关键类 SubscriptionManager 和 SubscriptionController,它们通过各种接口来向外提供 SubInfo 信息的查询和修改.
2017-06-27 12:25:06
5276
原创 Android N SIM 卡信息加载流程
在上篇文章 PhoneAPP 启动关系类初始化中,我们提到监听处理SIM卡状态的两个关键类 UiccController 和 IccCardProxy,那么他们与SIM卡信息究竟是如何交互的呢?在UiccController 的 Android 源码中有这样一个 SIM卡相关类图,这里我们先整体上说下这几个类。
2017-06-20 15:23:47
8543
2
原创 Android N PhoneAPP 启动关系类初始化
本文以 Android 7.0 为源码,对PhoneAPP 启动及 相关 Telephony 类的加载进行简单介绍
2017-06-15 19:33:46
2337
转载 UML类图几种关系的总结
转自:http://blog.csdn.net/tianhai110/article/details/6339565在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization), 关联(Association), 聚合(Aggregation), 组合(Composition), 依赖(Dependency)
2017-06-14 10:59:03
270
转载 Android 系统稳定性 - ANR 解析
出处: http://rayleeya.iteye.com/blog/1955652 如果你是一个Android应用程序开发人员,你的人生中不可避免的三件事情是:死亡、缴税和ANR。这么说是夸张了,但是由于Android本身的设计,以及应用程序和系统在开发过程中的缺陷,经常会在测试过程中遇到各种各样的ANR问题。在功能性的测试中还少一些,主要是在压力测试中(例如Monkey测试
2017-06-08 19:31:03
1124
转载 Android 异步消息处理机制 让你深入理解 Looper、Handler、Message三者关系
出处:http://blog.csdn.net/lmj623565791/article/details/38377229 ,本文出自【张鸿洋的博客】很多人面试肯定都被问到过,请问Android中的Looper , Handler , Message有什么关系?本篇博客目的首先为大家从源码角度介绍3者关系,然后给出一个容易记忆的结论。1、 概述Handler 、 Looper 、Mes
2017-06-08 16:27:50
255
转载 Android Studio 开发调试简介
本文是以源码中development/tools/idegen/README作为指导文档.环境: Ubuntu 14.10,openJdk 1.7,Android Studio 1.0.2,android-5.0.1_r1源码由于AS是基于IntelliJ IDEA开发的,所以本文也适用于IntelliJ IDEA 一、修改Android Studio(以下简称AS)的内存配置
2017-06-08 15:37:32
294
转载 Android Fragment 你应该知道的一切
转载出处:http://blog.csdn.net/lmj623565791/article/details/42628537,本文出自:【张鸿洋的博客】很久以前写过两篇Fragment的介绍,主要就是介绍其功能:Android Fragment 真正的完全解析(上)和Android Fragment 真正的完全解析(下) 有兴趣的可以凑合看下。之前的博客属于怎么使用Fragment,
2017-06-08 15:01:38
251
转载 Android Fragment 真正的完全解析(下)
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37992017上篇博客中已经介绍了Fragment产生原因,以及一些基本的用法和各种API,如果你还不了解,请看:Android Fragment 真正的完全解析(上)。本篇将介绍上篇博客提到的:如何管理Fragment回退栈,Fragment如何与Activity交互,F
2017-06-08 15:00:55
252
转载 Android Fragment 真正的完全解析(上)
转载出处:http://blog.csdn.net/lmj623565791/article/details/37970961自从Fragment出现,曾经有段时间,感觉大家谈什么都能跟Fragment谈上关系,做什么都要问下Fragment能实现不~~~哈哈,是不是有点过~~~本篇博客力求为大家说明Fragment如何产生,什么是Fragment,Fragment生命周期,如何静态和动态
2017-06-08 14:56:03
220
原创 Android 本地时间/时区自动更新 -- NITZ
NITZ - Network Identity and Time Zone,网络标识和时区,是一种用于自动配置本地时间和日期的机制,同时也通过无线网向移动设备提供运营商信息。NITZ经常被用来自动更新移动电话的系统时钟,Android原有的更新机制就是采用NITZ方式,这是一种运营商的可选服务。其基本原理简单的来说,就是UI根据 Modem主动上报的时间信息,更新终端系统的时间及时区。
2017-05-25 16:48:36
13173
转载 关于Java的反射机制,你需要理解这些..
反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。【翻译于 官方文档】本篇将从以下几个方面讲述反射的知识:class 的使用方法的反射构造函数的反射成员变量的反射一、什么是class类在面向对象的世界里,万物皆对象
2017-04-14 17:38:21
205
转载 Android Service演义
转自:https://my.oschina.net/youranhongcha/blog/710046摘要: 本文基于Android 5.1代码,介绍了Android Service的运作机理。按理说,网上此类文章已经很多了,本不需我再赘述。但每个人理解技术的方式多少会有所不同,我多写一篇自己理解的service,也未尝不可吧。Android Service演义(本文以
2017-04-12 23:23:19
300
转载 OnPreferenceChangeListener与OnPreferenceClickListener的分析
最近学习Android中PreferenceScreen的时候,遇到两种监听器OnPreferenceChangeListener和OnPreferenceClickListener,OnPreferenceClickListener的意思好理解,但是OnPreferenceChangeListener就不好懂了,所以就写了个Demo分析了一下,代码如下: 1 package com.
2017-04-12 23:19:12
689
转载 BroadcastReceiver多次unregisterReceiver 导致 Receiver not registered问题
注销广播接受器的时候出现该错误:java.lang.IllegalArgumentException: Receiver not registered: com.xxx.popuwindow.member.MemberBaseCard$1@41624e70 at android.app.LoadedApk.forgetReceiverDispatcher(LoadedApk.jav
2017-04-11 15:31:58
2532
原创 Android恢复出厂设置保存文件标志位到 persist 分区
工作过程时常遇到恢复出厂设置需要保留之前设置的某些标志位的问题,如某些关闭4G能力的手机,实际上只是从网络模式上做了限制,我们可以通过暗码来控制其开关,同时又希望恢复出厂设置能够保留之前设置状态。这就可以通过在 persist 分区新建或删除标识文件来实现。
2017-04-07 16:35:21
9481
转载 Android Broadcast广播机制分析
基于Android 6.0的源码剖析, 分析android广播的发送与接收流程。一、概述广播(Broadcast)机制用于进程/线程间通信,广播分为广播发送和广播接收两个过程,其中广播接收者BroadcastReceiver便是Android四大组件之一。BroadcastReceiver分为两类:静态广播接收者:通过AndroidManifest.xml的 标签来申明的B
2017-04-06 18:35:10
1824
转载 品茗论道说广播(Broadcast内部机制讲解)
1 概述 我们在编写Android程序时,常常会用到广播(Broadcast)机制。从易用性的角度来说,使用广播是非常简单的。不过,这个不是本文关心的重点,我们希望探索得再深入一点儿。我想,许多人也不想仅仅停留在使用广播的阶段,而是希望了解一些广播机制的内部机理。如果是这样的话,请容我斟一杯红茶,慢慢道来。 简单地说,Android广播机制的主要工作是为了实现一
2017-04-06 15:49:01
622
转载 详解Android中AsyncTask的使用
在Android中实现异步任务机制有两种方式,Handler和AsyncTask。Handler模式需要为每一个任务创建一个新的线程,任务完成后通过Handler实例向UI线程发送消息,完成界面的更新,这种方式对于整个过程的控制比较精细,但也是有缺点的,例如代码相对臃肿,在多个任务同时执行时,不易对线程进行精确的控制。关于Handler的相关知识,前面也有所介绍,不清楚的朋友们可以参照一下。
2017-03-24 11:11:26
200
转载 Android Spinner控件详解
Spinner提供了从一个数据集合中快速选择一项值的办法。默认情况下Spinner显示的是当前选择的值,点击Spinner会弹出一个包含所有可选值的dropdown菜单,从该菜单中可以为Spinner选择一个新值。上图显示的是Spinner常见的样式。这篇文章中我将讨论1.Spinner的基本用法 2.设置Spinner的Adapter (arrayadapter 和自定义BaseAdap
2017-03-21 18:09:29
9698
转载 关于android:configChanges的属性
一般在AndroidManifest.xml文件中都没有使用到android:configChanges="keyboardHidden|orientation"配置,当然还是很有用的。就是如果配置了这个属性,当我们横竖屏切换的时候会直接调用onCreate方法中的onConfigurationChanged方法,而不会重新执行onCreate方法,那当然如果不配置这个属性的话就会重新调用on
2016-09-06 11:02:06
344
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人