
Android
MDove
爱生活爱Android
展开
-
深入浅出ASM
前言ASM作为一个声名在外的字节码编制工具,无数“传奇”框架都基于此展现了花里胡哨的魔法。最近在工作中发现需要加强这部分能力,不然很多技术方案总是很麻烦…但是仅靠ASM实际也无法“无所欲为”,因为说到底它也只是一个方便的改写class的工具。想要使其发挥战斗力,还需要配合诸如:Gradle的transform api、注解等角色的支持。因此接下来的一段时间内,我会尽可能的把自己在这方面的实战内容输出出来。正文这一篇咱们主要聊ASM的一些用法,核心聚焦于ASM。所以关于字节码的部分就不展开了,有相原创 2020-12-06 14:48:58 · 500 阅读 · 0 评论 -
android中ViewPager这才是标准用法
前言创作过程:2020年5月22下午4点左右开始写,晚上9点55写下尾声。晚上11点-12点补充第五、第六部分。有段时间没写文章了,这次不是因为懒…而是的确很忙,最近在重构项目里的一个重要模块。搞起来真的酸爽,为了策应其他组的模块化,重构的时候也进行了我们的模块化处理,混乱的依赖也是x了狗了…今天的文章内容是关于ViewPager的,很多同学可能会吐槽:怎么还写这种“低级”的内容!为什么?因为绝大多数的同学都用错了,当然这主要的原因是搜索引擎推出来的文章大多都是错的!正文一、错误用法不原创 2020-05-24 10:29:31 · 573 阅读 · 0 评论 -
Android从零开搞系列:动画系列(2)属性动画
属性动画从初级使用到高级应用+插值器+估值器教程原创 2017-01-12 22:55:57 · 441 阅读 · 0 评论 -
Android杂谈(26)北京的面试之旅
面试经验,非大公司原创 2017-07-24 17:13:57 · 701 阅读 · 0 评论 -
全新一次的安卓面试
记一次酣畅淋漓,收获颇丰的面试经历原创 2017-09-01 08:24:58 · 605 阅读 · 0 评论 -
从Service中理解进程间通信Messenger / AIDL(上)代码套路
进程间通讯 Messenger AIDL原创 2017-09-11 13:35:23 · 307 阅读 · 0 评论 -
ItemDecoration实现固定悬浮式Item的思路
关于ItemDecoration的作用。在很久之前,我一直把ItemDecoration定义在仅仅是画Item的分隔线。使用ItemDecoration实现悬浮Item的效果。原创 2017-10-08 21:06:24 · 944 阅读 · 0 评论 -
Android锁屏实践
转载请注意:http://blog.youkuaiyun.com/wjzj000/article/details/78443710本菜开源的一个自己写的Demo,希望能给Androider们有所帮助,水平有限,见谅见谅…https://github.com/zhiaixinyang/PersonalCollect (拆解GitHub上的优秀框架于一体,全部拆离不含任何额外的库导入)https://github.原创 2017-11-12 13:15:16 · 474 阅读 · 0 评论 -
记2017莫名其妙的美团校招安卓岗
2017年美团校招安卓面试原创 2017-10-21 20:22:02 · 2400 阅读 · 0 评论 -
Android杂谈(27)锁屏实践
android锁屏实践原创 2017-11-04 13:23:13 · 779 阅读 · 0 评论 -
Android杂谈(28)观公司项目RecyclerView封装有感
RecyclerView的另类封装原创 2017-11-04 15:16:28 · 398 阅读 · 0 评论 -
Android杂谈(25)Handler机制梳理
从源码的角度去梳理Handler机制原创 2017-07-13 17:54:27 · 393 阅读 · 0 评论 -
Android杂谈(23)Service+BroadcastReceiver+数据库+HttpURLConnection实现断点续传(上)
转载请注意:http://blog.youkuaiyun.com/wjzj000/article/details/61426570本菜开源的一个自己写的Demo,希望能给Androider们有所帮助,水平有限,见谅见谅… https://github.com/zhiaixinyang/PersonalCollect (拆解GitHub上的优秀框架于一体,全部拆离不含任何额外的库导入) https://g原创 2017-06-24 10:53:59 · 569 阅读 · 0 评论 -
Android杂谈(24)Service+BroadcastReceiver+数据库+HttpURLConnection实现断点续传(下)
转载请注意:http://blog.youkuaiyun.com/wjzj000/article/details/73658491本菜开源的一个自己写的Demo,希望能给Androider们有所帮助,水平有限,见谅见谅… https://github.com/zhiaixinyang/PersonalCollect (拆解GitHub上的优秀框架于一体,全部拆离不含任何额外的库导入) https://g原创 2017-06-24 14:48:00 · 458 阅读 · 0 评论 -
Android杂谈(7)搞一搞Fragment+官方API底部导航制作
Fragment梳理官方API底部导航制作原创 2016-07-11 12:09:24 · 583 阅读 · 0 评论 -
Android从零开搞系列:自定义View(11)使用ViewPager打造轮播广告条
基于ViewPager非常好理解的自动无限轮播的广告栏原创 2017-04-17 19:27:38 · 608 阅读 · 0 评论 -
Android从零开搞系列:自定义View(13)新消息小圆点效果
源码分析:新消息小圆点效果。BadgeView原创 2017-05-10 21:52:23 · 2805 阅读 · 0 评论 -
Android从零开搞系列:自定义View(12)贝塞尔曲线的应用
转载请注意:http://blog.youkuaiyun.com/wjzj000/article/details/70215014本菜开源的一个自己写的Demo,希望能给Androider们有所帮助,水平有限,见谅见谅… https://github.com/zhiaixinyang/PersonalCollect (拆解GitHub上的优秀框架于一体,全部拆离不含任何额外的库导入) https://g原创 2017-04-23 15:53:15 · 417 阅读 · 0 评论 -
Android杂谈(21)补坑+Path动画
DrawerLayout可变化箭头源码分析,以及Path动画教程。原创 2017-03-01 17:20:22 · 629 阅读 · 0 评论 -
Android从零开搞系列:自定义View(15)仿天天美剧拖动卡片的效果(下)
转载请注意:http://blog.youkuaiyun.com/wjzj000/article/details/73432852本菜开源的一个自己写的Demo,希望能给Androider们有所帮助,水平有限,见谅见谅… https://github.com/zhiaixinyang/PersonalCollect (拆解GitHub上的优秀框架于一体,全部拆离不含任何额外的库导入) https://g原创 2017-06-18 22:01:20 · 1140 阅读 · 0 评论 -
Android从零开搞系列:自定义View(14)仿天天美剧拖动卡片的效果(上)
转载请注意:http://blog.youkuaiyun.com/wjzj000/article/details/71597903本菜开源的一个自己写的Demo,希望能给Androider们有所帮助,水平有限,见谅见谅… https://github.com/zhiaixinyang/PersonalCollect (拆解GitHub上的优秀框架于一体,全部拆离不含任何额外的库导入) https://g原创 2017-06-18 15:50:50 · 2136 阅读 · 0 评论 -
Android杂谈(8)关于自定义View的一些实践+遮罩理解
转载请注意:http://blog.youkuaiyun.com/wjzj000/article/details/52038664我和一帮应届生同学维护了一个公众号:IT面试填坑小分队。旨在帮助应届生从学生过度到开发者,并且每周树立学习目标,一同进步! 本菜开源的一个自己写的Demo,希望能给Androider们有所帮助,水平有限,见谅见谅… https://github.com/zhiaix...原创 2016-07-26 19:09:14 · 1980 阅读 · 0 评论 -
Android从零开搞系列:自定义View(16)自定义验证码输入框效果
一个自定义验证码输入框的库原创 2017-07-12 11:31:34 · 629 阅读 · 0 评论 -
从属性动画看自定义View(1)
本菜开源的一个自己写的Demo,希望能给Androider们有所帮助,水平有限,见谅见谅… https://github.com/zhiaixinyang/PersonalCollect (拆解GitHub上的优秀框架于一体,全部拆离不含任何额外的库导入) https://github.com/zhiaixinyang/MyFirstApp(Retrofit+RxJava+MVP)写在前面好原创 2017-09-24 21:47:09 · 441 阅读 · 0 评论 -
Android杂记(1)小技巧()()
各种Android知识小结原创 2016-03-20 16:13:39 · 611 阅读 · 0 评论 -
出来混迟早要还的,技术债Dagger2:基础篇
前言年前架构组的大佬们,分享了一个内容:如何让App Bundle支持Dagger2。PS:关于App Bundle暂时不是本篇内容要讲的会议就如何在App Bundle中高效的使用Dagger2展开了激烈的讨论,xxx表示应加强团队技术建设,规范Dagger2的使用…我tm都没用过Dagger2,我是谁?我在哪?我都在听些什么?正文一、为什么需要依赖注入个人觉得,开始一个新技术...原创 2019-02-11 12:51:41 · 329 阅读 · 0 评论 -
技术债Dagger2:Android篇(上)正经实战讲解@Component、@Module
前言因为工作需求,所以最近补了补之前没了解过的Dagger2的内容,基础篇已经发布。接下来就是Dagger2在Android中的应用了。当然,和我一样刚接触Dagger2的朋友,可以先看一下之前的基础文章:出来混迟早要还的,技术债Dagger2:基础篇正文这篇文章的Demo实在是太好了。所以我就厚颜无耻的把他的代码拿过来用…这是一个外国哥们的文章,我猜他应该不会怪我的,哈哈…原文地址:...原创 2019-03-25 11:06:56 · 476 阅读 · 0 评论 -
Thread长Thread短,别聊线程了,看看协程吧
前言对于Java的小伙伴来说,线程可以说是一个又爱又恨的家伙。线程可以带给我们不阻碍主线程的后台操作,但随之而来的线程安全、线程消耗等问题又是我们不得不处理的问题。对于Java开发来说,合理使用线程池可以帮我们处理随意开启线程的消耗。此外RxJava库的出现,也帮助我们更好的去线程进行切换。所以一直以来线程占据了我的日常开发…直到,我接触了协程…正文咱们先来看一段Wiki上关于协程(Co...原创 2019-05-11 21:50:42 · 385 阅读 · 0 评论 -
思想交融,Android中的函数式编程(1):DiffUtil体验
前言随着业务的急剧扩张,一些架构上的调整也随之破土动工。从最初的MVC,管他是唱、跳、Rap,还是打篮球。通通写在Activity里;再到MVP阶段的业务与View分离;然后就是现在的MVVM。关于MVVM的内容,可以在我之前的文章中看到:一点点入坑JetPack:ViewModel篇一点点入坑JetPack:Lifecycle篇一点点入坑JetPack:LiveData篇一点点入...原创 2019-07-02 10:51:57 · 296 阅读 · 0 评论 -
Room踩坑:理解Room的正确升库
前言最近在用Room时候,由于很大意,错误的升级数据库。导致灰度期间出现了不少crash。这篇文章就来纪念一下自己的“年少无知”吧。这篇文章翻译于Google的官方博客(自备梯子),是我踩坑后搜到的,贴出来希望大家避免掉坑里吧~正文删除了一些原文中的“废话”,直接上处理代码。有兴趣看更多细节的小伙伴,可以直接看原文。前置条件,我们现在的app版本中已经建了这样的数据库:@Da...原创 2019-07-14 10:38:46 · 12435 阅读 · 4 评论 -
一篇文章带你真正搞定:android事件分发
前言事件分发是一个老生常谈的话题,既然是一个“冷饭”,那为什么今天又开始“炒冷饭”了呢?说白了,还是自己高估了对事件分发的理解。这里抛出几个问题:1、对一个View进行setOnTouchListener操作,并且onTouch()返回true,为啥它的onTouchEvent()不会被响应? -> 答案在:方法展开2部分。2、一个View的onTouchEvent()返回了tru...原创 2019-08-04 23:36:18 · 208 阅读 · 0 评论 -
一文带你彻底捋清楚:插值器、估值器
前言最近想学的东西有点多…(潜台词:一个也没学~哈哈)待我学成之后,再出来“装逼”…今天整一篇“科普”向的文章,也是我自己一直傻傻分不清的内容:插值器、估值器。正文一、插值器Interpolator什么是插值器?根据时间流失的百分比 计算当前属性改变的百分比。使用场景:实现非线性运动的动画效果非线性运动:动画改变的速率不是一成不变的,如加速 & 减速运动都属于非线性运动...原创 2019-08-25 10:35:06 · 1000 阅读 · 0 评论 -
ViewPager的notifyDataSetChanged()没有效果?来从源码上解决这个问题
前言最近发现自己有很多颇为基础的内容“不会写”了,就比如今天写的内容:ViewPager。最近有小伙伴,在后台私信一些技术细节,大家真的好勤奋~~因为工作的原因,有些私信回复的不是很及时,多多包涵。996伤不起啊!正文平时我们很容易遇到这样的需求:页面底部很多Tab,可以点击或者活动切换不同的页面…估计话还没有说完,有朋友就会脱口而出:ViewPager+ Fragment实现。说起...原创 2019-09-18 10:44:06 · 932 阅读 · 0 评论 -
5分钟过一遍Android事件分发(笔记风)
前言前几篇文章咱们从源码的层面分析了事件分发机制…不过感觉有些时候还是需要记一些笔记般的内容,简单快捷的回忆对应的内容。正文布局嵌套层级:ViewGroupA中嵌套ViewGroupB,然后ViewGroupB嵌套ViewGroupC,ViewGroupC中包含ViewD。基于此,咱们分情况记录一些情况:一、C的onInterceptTouchEvent()返回true,onTouchE...原创 2019-09-28 21:26:01 · 264 阅读 · 0 评论 -
JetPack生命周期管理神器之:Lifecycle
前言因为业务的原因,自己也开始了JetPack之旅。不得不承认,用上之后:真香。JetPack以官方的方案,解决了很多我们头疼的问题。JetPack作为一整套的解决方案,不是一篇文章很够解释清楚的。正如官方所说:Android Jetpack 组件是库的集合,这些库是为协同工作而构建的,不过也可以单独采用,同时利用 Kotlin 语言功能帮助您提高工作效率。可全部使用,也可混合搭配!所...原创 2019-02-03 14:38:00 · 419 阅读 · 0 评论 -
Gradle项目配置优化
写在前面不知不觉自己已经在北京呆了半年的时间,自己所在的实习公司也已经工作了四个月的时间。时间真的好快,自己马上就要失去学生这个身份了…这次周期计划是关于Gradle的内容,为什么有这个计划,是因为这段时间公司把项目整体升级到了3.0,借用升级的计划,Leader增加了很多的配置信息以及Gradle,让这个项目的依赖管理更有条理性。 因此基于这个背景就有了这篇博客的想法。开始...原创 2018-04-11 22:46:46 · 402 阅读 · 0 评论 -
2018届android校招面试总结:百度,大疆,乐视,知乎
写在前面四月面临了人生第一次比较重大的变化:现在的公司因为融资不利,收回了我的正式offer。很伤…这差不多一个月的时候,开始了自己的面试之旅。有导师/朋友给内推的,也有自投的….面试记录我是一个双非本科的大四狗,一直在搞安卓,自学一年多的时间,然后有半年多的实习经历…安卓真好玩,就是肚子有点饿~ 接下来,按时间的顺序的记一记我这一个月以来所经历的面试。百度:社招(导师内...原创 2018-05-04 18:28:30 · 1761 阅读 · 0 评论 -
ArrayList源码分析
写在前面最近因为拥抱变换,所以开始无奈的面试之路。因为在集合的源码分析上,出了些问题,所以这段时间,好好重新理一理常用的集合源码。(版本基于JDK1.7)ArrayList毫无疑问,提到常用集合。ArrayList势必是第一个被搬出来的,因此我们就先拿它开刀了。add(E e)1、初始化ArrayList的初始化,只有在第一次add的时候进行new数据,数组默认...原创 2018-04-28 18:00:19 · 148 阅读 · 0 评论 -
从高频笔/面试题思考Android学习/进阶路线(Java篇)
写在前面标题谈进阶,属实有一些夸大。 我一直在思考什么样的文章才是一篇好文章,我的定义是首先要有人看,其次重要的是内部有价值。所以针对于这个出发点,我决定从大家比较关注的面试题入手,然后尝试从中分析对Android进阶路线的帮助。 虽然我只是一个应届生,但是我善于总结别人的经验,不要脸的去向别人请教。我实习的公司有蚂蚁金服技术专家,360浏览器技术负责人…在与他们的请教(后来他...原创 2018-07-24 14:48:07 · 205 阅读 · 0 评论 -
[动态代理三部曲:中] - 从动态代理,看Class文件结构定义
前言这篇内容是上一篇[动态代理三部曲:上] - 动态代理是如何”坑掉了”我4500块钱的补充,进一步分析篇。 建议二者结合食用,醇香绵软,入口即化。好了,不扯淡了,开始…正文2、Class 文件的格式 这里为啥是2开头呢?因为上篇文章是1这部分内容不知道各位小伙伴是怎么感觉的。最开始学习的时候,我是一头雾水,不知道如何下手。当一步步结合反射、JVM内存模型,...原创 2018-08-19 23:42:06 · 304 阅读 · 0 评论