自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 Android界面开发心得

一、设置点击圆形背景 <?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true"> &l...

2019-10-30 20:53:52 447

原创 Event Bus 3.0中索引Subscriber Index使用指南

最近项目要用Event Bus,之前只是在网上看Event Bus的源码解析,并没有真正在项目中使用到。最近项目中决定使用EventBus,百度了一下使用方法。其中EventBus 3.0的使用方法费了很多时间,才搞定。EventBus 3.0为了解决在事件处理时使用反射带来的性能问题,引入注解方式实现事件的处理。通过添加索引功能即可使用注解的功能。在Android Studio中添加索引...

2019-08-10 14:59:15 595

原创 kotlin学习笔记一

一、判空和类型相关运算符1.1、概念 分? 和?.和 ?: 和!!和 as?1.2、可空运算符? 1、在类型后面标识可为空 eg:fun constractStr(str:String?)1.3、判空运算符?. 1、只有对象非空的时候才执行?.后的对象函数 eg:s?.length s非空执行s.l...

2019-08-03 11:10:49 122

原创 2018年Android面试题汇总四(持续更新中)

十二、ThreadLocal12.1、四大方法:set、get、remove和initialValue。   1、initialValue在第一次调用get或set时执行,只执行一次,初始化内部类Values中Oject数组。   2、JDK5.0开始支持泛型   3、内部ThreadLocal.ThreadLocalMap用来存储key键ThreadLocal和Value值变量副本12.2、如何...

2018-06-22 21:24:54 3238

原创 线程使用心得

JDK1.6有了allowCoreThreadTimeout,可以满足异步任务执行队列的下列需求:1、用一个线程池执行任务2、用一个有界队列,缓存未执行的任务3、没有任务执行时,停掉线程池中的线程原理:allowCoreThreadTimeout允许线程数低于corePoolSize,线程就会因为空闲而终止。实现技术:就是将corePoolSize和maximu

2018-06-22 14:50:39 112

原创 2018年Android面试题汇总三(持续更新中)

六、自定义View如何提供获取View属性的接口a、attrs.xml定义declare-styelableb、构造方法中用TypedArray获取值c、xml使用,加apk/res-auto七、art和Dalvik对比(绿色表示面试出现概率很大)7.1、即时编译技术(Just In Time JIT)与预编译技术(Ahead Of Time AOT) 1、JIT(Just In Time)即时编...

2018-06-21 21:50:57 1156

原创 2018年Android面试题汇总二(持续更新中)

继上一篇空发议论,这一篇开始把我面试时候的总结分享出来。一、ANR的情况和避免由Activity Manager和WindowManager监视,下列情况:1、主线程5s内没有影响输入事件2、BroadCastReceiver在10s内没有执行完毕3、Service主线程耗时操作超过15s解决方案案:网络通信、数据库和高耗时的计算放在子线程中,用handler.sendMessage、r...

2018-06-19 17:07:38 649

原创 2018年Android面试题汇总一(持续更新中)

       随着Android从业人员的增多,当下Android面试不再局限几年前ListView如何使用,Android生命周期等入门级知识,而是逐渐形成一套体系,从多角度考察应聘者。虽然很多知识在平时工作中用不到,但是以此提升Android应聘门槛,也是众多公司乐于采用的形式。       要面试上好的公司,特别是BAT这种公司,刷题是必不可少的。作为一名6年的Android开发者,以前我认...

2018-06-15 00:11:08 1412

原创 Android的布局技术

4.0之前有5种,AbsoluteLayout,RelativeLayout、LinearLayout、FrameLayout和TableLayout,4.0之后增加GridLayout。TableLayout是LinearLayout的子类,GridLayout经典案例是计算器。RelativeLayout:优点是控件可任意摆放,缺点是要不断设置参考系。适用于最外层布局LinearLay

2017-05-27 17:54:36 224

原创 View的canVerticalScroll函数研究和应用

(1)computeVerticalScrollOffset():已经向下滚动的距离,为0时表示已处于顶部。(2)computeVerticalScrollRange():整体的高度,注意是整体,包括在显示区域之外的。(3)computeVerticalScrollExtent():显示区域的高度。图示如下:对比图示很

2017-04-28 15:13:02 1321

原创 setOnTouchListener中的onTouch返回false

setOnTouchListener中的onTouch返回false,就是不消费这次touch动作,往下分发

2017-04-28 15:08:18 638

原创 悬浮停靠

目前网上最靠谱的悬浮停靠是StickyNavLayout这个工程,这个工程能实现悬浮停靠。但是缺点在于局限于ListView,ScrollView和GridView。对于WebView等滚动处理就不好。最近在项目中研究了ScrollView,基于ScrollView写了一个悬浮停靠的控件,准备写个github工程。

2017-04-25 21:19:28 247

原创 WebView处理重定向下载

含有重定向的下载地址,用WebView的setDownloadListener可以直接获取重定向的地址,进行下载处理。也可以自己写函数解析出重定向地址

2017-04-25 21:17:08 291

原创 设计模式学习的一些好的文章

一个程序的构成就是数据结构、设计模式。选择正确的数据结构和好的设计模式是编写优秀代码的前提1、作者自身对各种设计模式的理解,写的比较好http://fangjian0423.github.io/2017/03/26/design-pattern/2、设计模式的启发篇http://www.importnew.com/12649.html

2017-04-19 21:46:46 256

原创 类的equals和hashCode

定义一个int型成员变量 mHashCode;1、类初始中传入hashcode的值2、在equals(Object obj)中if (obj == null || getClass ()!= obj.getClass()) {return false;} if (obj.mHashCode ==  mHashCode) {    return true;}

2017-04-19 21:05:46 155

原创 Android线程池使用心得

JDK1.6有了allowCoreThreadTimeout,可以满足异步任务执行队列的下列需求:1、用一个线程池执行任务2、用一个有界队列,缓存未执行的任务3、没有任务执行时,停掉线程池中的线程原理:allowCoreThreadTimeout允许线程数低于corePoolSize,线程就会因为空闲而终止。实现技术:就是将corePoolSize和maximu

2017-04-18 11:49:30 235

原创 View的Draw方法流程

最近学习了View的Draw方法,这里做个总结。Draw方法分6步完成View的绘制。1、绘制背景background2、如果有颜色变淡,那么锁定原来的画布canvas,canvas.save3、绘制View自身的内容4、绘制子View5、如果2步有颜色变淡操作,恢复原来锁定的画布canvas,canvas.restore6、绘制滚动条等装饰

2017-04-13 11:40:37 876

原创 Android Studio中使用自定义Android.jar缺少方法的一种解决方案

最近在Android Studio项目中ListView的scrollListBy方法,这个方法在SDK 19及其以上版本才有的,而项目使用的自定义Android.jar中的ListView并不包含这个方法。如果为了使用这个方法,而重新编译Android.jar,代价太大。一种比较简便的解决方案是,找到SDK 19的Android.jar,解压,找到ListView.class,尽管这个文

2017-04-12 23:27:05 992

转载 android-Ultra-Pull-To-Refresh 源码解析

项目地址:https://github.com/liaohuqiu/android-Ultra-Pull-To-Refresh1. 功能介绍下拉刷新,几乎是每个 Android 应用都会需要的功能。 android-Ultra-Pull-To-Refresh (以下简称 UltraPTR )便是一个强大的 Andriod 下拉刷新框架。主要特点:(1).继承于 Vi

2017-04-11 20:19:25 319

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除