- 博客(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 474
原创 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 643
原创 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 148
原创 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 3261
原创 线程使用心得
JDK1.6有了allowCoreThreadTimeout,可以满足异步任务执行队列的下列需求:1、用一个线程池执行任务2、用一个有界队列,缓存未执行的任务3、没有任务执行时,停掉线程池中的线程原理:allowCoreThreadTimeout允许线程数低于corePoolSize,线程就会因为空闲而终止。实现技术:就是将corePoolSize和maximu
2018-06-22 14:50:39 136
原创 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 1182
原创 2018年Android面试题汇总二(持续更新中)
继上一篇空发议论,这一篇开始把我面试时候的总结分享出来。一、ANR的情况和避免由Activity Manager和WindowManager监视,下列情况:1、主线程5s内没有影响输入事件2、BroadCastReceiver在10s内没有执行完毕3、Service主线程耗时操作超过15s解决方案案:网络通信、数据库和高耗时的计算放在子线程中,用handler.sendMessage、r...
2018-06-19 17:07:38 674
原创 2018年Android面试题汇总一(持续更新中)
随着Android从业人员的增多,当下Android面试不再局限几年前ListView如何使用,Android生命周期等入门级知识,而是逐渐形成一套体系,从多角度考察应聘者。虽然很多知识在平时工作中用不到,但是以此提升Android应聘门槛,也是众多公司乐于采用的形式。 要面试上好的公司,特别是BAT这种公司,刷题是必不可少的。作为一名6年的Android开发者,以前我认...
2018-06-15 00:11:08 1470
原创 Android的布局技术
4.0之前有5种,AbsoluteLayout,RelativeLayout、LinearLayout、FrameLayout和TableLayout,4.0之后增加GridLayout。TableLayout是LinearLayout的子类,GridLayout经典案例是计算器。RelativeLayout:优点是控件可任意摆放,缺点是要不断设置参考系。适用于最外层布局LinearLay
2017-05-27 17:54:36 254
原创 View的canVerticalScroll函数研究和应用
(1)computeVerticalScrollOffset():已经向下滚动的距离,为0时表示已处于顶部。(2)computeVerticalScrollRange():整体的高度,注意是整体,包括在显示区域之外的。(3)computeVerticalScrollExtent():显示区域的高度。图示如下:对比图示很
2017-04-28 15:13:02 1573
原创 setOnTouchListener中的onTouch返回false
setOnTouchListener中的onTouch返回false,就是不消费这次touch动作,往下分发
2017-04-28 15:08:18 663
原创 悬浮停靠
目前网上最靠谱的悬浮停靠是StickyNavLayout这个工程,这个工程能实现悬浮停靠。但是缺点在于局限于ListView,ScrollView和GridView。对于WebView等滚动处理就不好。最近在项目中研究了ScrollView,基于ScrollView写了一个悬浮停靠的控件,准备写个github工程。
2017-04-25 21:19:28 271
原创 WebView处理重定向下载
含有重定向的下载地址,用WebView的setDownloadListener可以直接获取重定向的地址,进行下载处理。也可以自己写函数解析出重定向地址
2017-04-25 21:17:08 322
原创 设计模式学习的一些好的文章
一个程序的构成就是数据结构、设计模式。选择正确的数据结构和好的设计模式是编写优秀代码的前提1、作者自身对各种设计模式的理解,写的比较好http://fangjian0423.github.io/2017/03/26/design-pattern/2、设计模式的启发篇http://www.importnew.com/12649.html
2017-04-19 21:46:46 280
原创 类的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 177
原创 Android线程池使用心得
JDK1.6有了allowCoreThreadTimeout,可以满足异步任务执行队列的下列需求:1、用一个线程池执行任务2、用一个有界队列,缓存未执行的任务3、没有任务执行时,停掉线程池中的线程原理:allowCoreThreadTimeout允许线程数低于corePoolSize,线程就会因为空闲而终止。实现技术:就是将corePoolSize和maximu
2017-04-18 11:49:30 253
原创 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 923
原创 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 1039
转载 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 342
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人