android
文章平均质量分 82
lanlengran蓝冷然
这个作者很懒,什么都没留下…
展开
-
Android LottieAnimationView 源码分析(仅包含加载和缓存机制)
使用mLottieAnimationView = rootView.findViewById(R.id.lottie_anim_layout);//此处的animRes 为R.raw 文化mLottieAnimationView.setAnimation(animRes);mLottieAnimationView.loop(true);mLottieAnimationView.playAnimation();原创 2022-04-13 10:39:20 · 1619 阅读 · 0 评论 -
Android Context们之间的关系
Android Context们之间的关系Context的继承关系ApplicationContextActivity ContextService Context此文章内容参考自刘望舒此文章 Android深入理解ContextContext的继承关系ApplicationContextpublic Application makeApplication(boolean forceDefaultAppClass, Instrumentation instrumentation)原创 2021-05-08 18:14:53 · 276 阅读 · 0 评论 -
android 实现一个滚动文本
效果图实现方法懒得写了,哪天有空就补上。直接上代码首先是一个自定义layout,继承自FrameLayoutpublic class AnimationTextLayout extends FrameLayout { private static final String TAG = "AnimationTextLayout"; private List<String> tipList; private List<Integer> displayLi原创 2020-05-27 14:57:51 · 888 阅读 · 0 评论 -
android的ArrayList和LinkedList的应用场景和源码分析
android的ArrayList和LinkedList的应用场景和源码分析简介结论源码分析构造函数ArrayListLinkedListadd方法ArrayListLinkedListadd(int index, E object)方法ArrayListLinkedList简介ArrayList和LinkedList都是AbstractList的子类,都实现了List接口。而且都是日常开发中...原创 2019-06-26 10:11:00 · 1217 阅读 · 0 评论 -
android的hashmap 原理以及源码探究
android的hashmap 原理以及源码探究前言前言HashMap, 是我们在android 程序中最常用的map。HashMap和arrayList 承担了我们在程序中临时存储大量数据的需求。尤其是hashmap,不但能存储大量的数据,而且其查找某个值的性能另我们记忆深刻.并且hashmap不像数组一样需要大量的连续空间来实现数据的快速写入和读取。可以这样说,hashmap拥有了数组的...原创 2019-06-20 22:03:47 · 2428 阅读 · 1 评论 -
读书笔记——《Android 开发艺术探索》Activity工作过程阅读笔记
《Android 开发艺术探索》Activity工作过程阅读笔记startActivity有很多种重载方法,但是最后都是调用了startActivityForResult方法。这点大家可以在activity源码中得到验证。这里我们就来看一下startActivityForResult的源码。 public void startActivityForResult(Intent intent...原创 2019-07-08 22:08:26 · 265 阅读 · 0 评论 -
读书笔记——《Android 开发艺术探索》Binder机制阅读笔记
《Android 开发艺术探索》Binder机制阅读笔记项目代码java代码部分activityService实体类(BOOK)AIDL实体类(Book.aidl)接口类(AidlTestInterface.aidl)binder解析aidl自动生成的类概况项目代码java代码部分activitypublic class AidlTestActivity extends AppCompat...原创 2019-07-04 16:17:23 · 475 阅读 · 0 评论 -
读书笔记——《Android 开发艺术探索》View的工作原理阅读笔记
View的工作原理阅读笔记初识ViewRoot和DecorViewDecorView的结构初识ViewRoot和DecorViewViewRoot:联系windowManager和Decorview的纽带,View的三大流程均通过ViewRoot完成DecorView:是Activity的顶级view。内部通常包含一个LinearLayout.在ActivityThread的Appli...原创 2019-07-18 11:21:23 · 297 阅读 · 0 评论 -
Android小疑问解答:为什么ScrollView嵌套ListView高度不正确
Android小疑问解答:为什么ScrollView嵌套ListView高度不正确前言代码布局的测绘过程总结前言最近为了研究滑动冲突,所以就将ScrollView内部放了ListView。ListView高度设置为750dp。结果一运行,什么贵,为什么我的listview高度就剩这么点了?说好的750dp呢?这糊鬼呢?这是ScrollView的原因?但是ScrollView内部放其他控件,...原创 2019-07-25 11:29:12 · 541 阅读 · 1 评论 -
Android小技巧:实现View的拖拽
前言实现View的拖拽,其实原理很简单。无非就是获取手指的位移信息,然后view根据手指的位移信息,移动对应的位置。首先是获取手机的位移信息就可以根据需求不同分为两种拖拽view本身,view实现移动。则设置view的setOnTouchListener。在activity中随意滑动,view都会反应出动作。则重写activity onTouchEvent方法。而移动的方法嘛,也有几...原创 2019-07-22 09:38:20 · 6298 阅读 · 0 评论 -
android多线程之AsyncTask源码
AsyncTask源码阅读简介使用源码阅读简介AsyncTask是一个轻量级的异步任务类,它可以在线程池中执行后台任务,然后把执行的进度和结果传递给主线程并且在主线程中更新UI。需要注意的是AsyncTask 不可重复执行。AsyncTask的构造和运行都需要在主线程中处理。不适合执行特别耗时的任务在目前的版本中,如果不特别处理,所有的AsyncTask将采用串行执行。使用这...原创 2019-06-04 00:02:29 · 257 阅读 · 1 评论 -
IntentService和HandlerThread的使用以及源码阅读
AsyncTask源码阅读简介使用源码分析简介IntentService是一种特殊的service,一般用来执行一些耗时任务,作用类似于Thread,但是相对于普通的thread,service的系统优先级更高,不容易被杀死。所以IntentService准确来说,适合用来执行一些,比较重要的后台任务。而HandlerThread则是继承thread的,一种特殊的thread,一般用来搭配I...原创 2019-06-06 22:08:03 · 466 阅读 · 0 评论 -
适用于Xutils3 的android-butterknife-zelezny 自动生成插件
由于没有适用Android Studio3.0 的Xutils3.0 的自动注入插件。导致每次写程序都要写一堆,所以决定自己写一个自动注入插件(lanlengran-xutils-zelezny)。该插件是基于android-butterknife-zelezny 修改而来。感谢原作者的开源代码,给我们节省了太多的时间。安装方法1.选择 File —> Settings -----&g...原创 2018-12-11 18:08:13 · 348 阅读 · 0 评论 -
关于Android线程和线程池的那些事
前言目前常用的线程有:Thread 最基础线程执行方式AsyncTask 封装了线程池和Handler,为了方便开发者在子进程中更新UIHandlerThreadIntentService 内部采用HandlerThread执行任务,本质是一个Service,但是表现的更像Thread。因为Thread在后台容易被杀死,所以常用来在后台运行。AsyncTask使用方法 c...原创 2018-12-19 16:07:38 · 492 阅读 · 1 评论 -
一种简单的地图聚合算法
百度地图的聚合算法这段百度算法的描述来自博客:https://blog.csdn.net/javine/article/details/51195014总结如下:百度地图把整个地球是按照一个平面来展开,把整个地球按照平面来展开之后,我们就能算出这个地球平面的宽度,也就是世界宽度。计算公式是这样的:256*(zoom^2) == worldWidth其中zoom就是地图的层级,我们缩放地图...原创 2019-01-04 17:48:34 · 11374 阅读 · 2 评论 -
观Android Handler源码有感
观Android Handler源码有感闲来无事,所以一观Android Handler源码入口(Activity)MainActivitypublic class MainActivity extends AppCompatActivity { private static final String TAG = "MainActivity"; private Handle...原创 2019-03-29 18:05:12 · 301 阅读 · 5 评论 -
观Android事件分发源码有感
观Android事件分发源码有感前言事件分发ActivityPhoneWindow和DecorView前言已经在工作android码农朋友一定都知道一件事,那么就是到一个公司无论是作为吉祥物还是作为公司的android架构师,面试的时候逃不掉的一个问题就是“Android 的事件分发机制”。并且在实际的抄袭网上代码的过程中,我们经常也会遇到各种事件冲突的问题。一般我们都是网上搜索一番,cv一些...原创 2019-04-18 16:05:24 · 377 阅读 · 0 评论 -
EventBus1.0 源码解析
EventBus1.0 源码解析前言EventBus的使用下载地址导入工程使用EventBus源码解析注册前言提起EventBus,大概只要会android的人,就算没有用过也会听过。是android端有名的组件之间互相通信的框架,并且使用起来及其简单,只要10分钟就能快速上手。但是你们在使用的时候有木有好奇,它究竟是怎么实现事件的传递的。不管你们有木有,反正我是有。所以我决定来看一下Eve...原创 2019-04-23 18:08:51 · 255 阅读 · 0 评论 -
Android小技巧:Spinner默认值设置为空
Android小技巧:Spinner默认值设置为空前言android系统给我们提供了很好用的spinner控件,而且也满足了我们大部分的需求。但是在实际应用的过程中,我们经常发现有这样的需求,就是spinner默认值为空,只有用户选择了某项值之后,才会显示具体的某个值。但是原谅我太菜,我没有在spinner找到设置默认值为空的方法。所以 这里就手撸了一个简单的方法。思路我们通过查看spin...原创 2019-05-17 14:26:51 · 7540 阅读 · 5 评论 -
Android相关文章汇总
任玉刚 动画入门Android属性动画深入分析:让你成为动画牛人徐宜生 插值器和估值器模拟自然动画的精髓——TimeInterpolator与TypeEvaluator转载 2019-05-22 23:11:47 · 164 阅读 · 0 评论 -
okhttp3源码初探
okhttp3源码初探简介GET请求使用源码阅读发起请求eventListener的由来真正的网络请求简介okhttp3 是目前android平台最流行的网络访问框架,而目前大火的retrofit底层封装的也是OKHttp。所以可以这么说,okhttp是我们做android 开发的过程中绕不过的一座大山。但是由于okhttp实在太易用了,几句代码就可以完成网络请求的发起,导致我们很少去了解o...原创 2019-07-02 00:15:01 · 559 阅读 · 0 评论 -
从零编写一个一键生成mvp的android studio插件
实现的效果首先展示一下运行的效果这里只展示了自动新建mvp架构,后面还有自动插入dragger2没有加入,不过效果也差不多开发环境工欲善其事必先利其器,如果要开发一个软件,那么我们首先需要了解的这个软件的开发工具。平常我们开发android 使用都是android studio ,但是很遗憾,android studio 由于太过于定制化导致无法用于插件的开发。而这时候我们就需要andr...原创 2018-12-14 16:11:56 · 1833 阅读 · 2 评论