- 博客(63)
- 资源 (3)
- 收藏
- 关注
原创 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
1795
原创 龙芯mips64el 微信客户端 && ubuntu 微信客户端
龙芯mips64el 微信客户端 && ubuntu 微信客户端前言下载地址前言由于龙芯使用mips (3A5000之前)架构,所以无法安装win,只能使用linux系统,并且由于架构的原因,无法使用x86的linux软件,也就无法使用wine 版本的微信。但是有一个在linux下我很喜欢的微信项目,只可惜暂停维护了,并且也没有mips64el的版本,所以我就想着,我能不能接着维护一下。所以就有了此结果下载地址具体使用说明也在项目,相信你既然都已经使用linux了,肯定知道该咋用
2021-12-05 16:03:49
5063
5
原创 Android Context们之间的关系
Android Context们之间的关系Context的继承关系ApplicationContextActivity ContextService Context此文章内容参考自刘望舒此文章 Android深入理解ContextContext的继承关系ApplicationContextpublic Application makeApplication(boolean forceDefaultAppClass, Instrumentation instrumentation)
2021-05-08 18:14:53
309
原创 学习RN 遇到的日常
在引入react-navigation 导航时,如何去掉导航标题查看官方文档没有找到好的方法,但是看到可以给title设置样式。所以直接width和height 设置为0即可。function App() { return ( <NavigationContainer> <Stack.Navigator initialRouteName="CargoDetailTest"> <Stack.Screen name="Home" comp
2020-06-09 19:46:06
233
原创 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
917
原创 关于es cpu安装黑苹果,并实现变频
关于es cpu安装黑苹果的难点安装注意事项解决能不能安装的问题解决好不好用的问题(es cpu 变频问题)#前言首先我的电脑为笔记本,cpu为4代的es 不显cpu。在windows中显示的cpu型号为0000。如果你的电脑为其他代数的escpu,也可以参考这篇文章。但是需要将里面用到的值更改为自己的cpu的另外此教程只记录es cpu。和其他cpu的安装黑苹果的不同点安装注意事项解...
2020-04-22 11:02:21
16044
1
原创 Android小疑问解答:为什么ScrollView嵌套ListView高度不正确
Android小疑问解答:为什么ScrollView嵌套ListView高度不正确前言代码布局的测绘过程总结前言最近为了研究滑动冲突,所以就将ScrollView内部放了ListView。ListView高度设置为750dp。结果一运行,什么贵,为什么我的listview高度就剩这么点了?说好的750dp呢?这糊鬼呢?这是ScrollView的原因?但是ScrollView内部放其他控件,...
2019-07-25 11:29:12
579
1
原创 Android小技巧:实现View的拖拽
前言实现View的拖拽,其实原理很简单。无非就是获取手指的位移信息,然后view根据手指的位移信息,移动对应的位置。首先是获取手机的位移信息就可以根据需求不同分为两种拖拽view本身,view实现移动。则设置view的setOnTouchListener。在activity中随意滑动,view都会反应出动作。则重写activity onTouchEvent方法。而移动的方法嘛,也有几...
2019-07-22 09:38:20
6409
原创 读书笔记——《Android 开发艺术探索》View的工作原理阅读笔记
View的工作原理阅读笔记初识ViewRoot和DecorViewDecorView的结构初识ViewRoot和DecorViewViewRoot:联系windowManager和Decorview的纽带,View的三大流程均通过ViewRoot完成DecorView:是Activity的顶级view。内部通常包含一个LinearLayout.在ActivityThread的Appli...
2019-07-18 11:21:23
325
原创 读书笔记——《Android 开发艺术探索》Activity工作过程阅读笔记
《Android 开发艺术探索》Activity工作过程阅读笔记startActivity有很多种重载方法,但是最后都是调用了startActivityForResult方法。这点大家可以在activity源码中得到验证。这里我们就来看一下startActivityForResult的源码。 public void startActivityForResult(Intent intent...
2019-07-08 22:08:26
296
原创 读书笔记——《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
506
原创 okhttp3源码初探
okhttp3源码初探简介GET请求使用源码阅读发起请求eventListener的由来真正的网络请求简介okhttp3 是目前android平台最流行的网络访问框架,而目前大火的retrofit底层封装的也是OKHttp。所以可以这么说,okhttp是我们做android 开发的过程中绕不过的一座大山。但是由于okhttp实在太易用了,几句代码就可以完成网络请求的发起,导致我们很少去了解o...
2019-07-02 00:15:01
588
原创 android的ArrayList和LinkedList的应用场景和源码分析
android的ArrayList和LinkedList的应用场景和源码分析简介结论源码分析构造函数ArrayListLinkedListadd方法ArrayListLinkedListadd(int index, E object)方法ArrayListLinkedList简介ArrayList和LinkedList都是AbstractList的子类,都实现了List接口。而且都是日常开发中...
2019-06-26 10:11:00
1310
原创 android的hashmap 原理以及源码探究
android的hashmap 原理以及源码探究前言前言HashMap, 是我们在android 程序中最常用的map。HashMap和arrayList 承担了我们在程序中临时存储大量数据的需求。尤其是hashmap,不但能存储大量的数据,而且其查找某个值的性能另我们记忆深刻.并且hashmap不像数组一样需要大量的连续空间来实现数据的快速写入和读取。可以这样说,hashmap拥有了数组的...
2019-06-20 22:03:47
2474
1
原创 IntentService和HandlerThread的使用以及源码阅读
AsyncTask源码阅读简介使用源码分析简介IntentService是一种特殊的service,一般用来执行一些耗时任务,作用类似于Thread,但是相对于普通的thread,service的系统优先级更高,不容易被杀死。所以IntentService准确来说,适合用来执行一些,比较重要的后台任务。而HandlerThread则是继承thread的,一种特殊的thread,一般用来搭配I...
2019-06-06 22:08:03
490
原创 android多线程之AsyncTask源码
AsyncTask源码阅读简介使用源码阅读简介AsyncTask是一个轻量级的异步任务类,它可以在线程池中执行后台任务,然后把执行的进度和结果传递给主线程并且在主线程中更新UI。需要注意的是AsyncTask 不可重复执行。AsyncTask的构造和运行都需要在主线程中处理。不适合执行特别耗时的任务在目前的版本中,如果不特别处理,所有的AsyncTask将采用串行执行。使用这...
2019-06-04 00:02:29
275
1
原创 mysql5.7设置允许外部访问
前言mysql 默认只允许本地的localhost访问。网上有一堆更改为允许外部访问的教程,但是由于mysql版本的原因,无一例外的都失败了。最后在一篇文章发现了缺失的一个操作。所以现在记录一下步骤 mysql -u root -p 登录数据库 use mysql; 选择基础信息数据库 select User,authentication_string,Host ...
2019-05-28 16:38:01
19212
2
转载 Android相关文章汇总
任玉刚 动画入门Android属性动画深入分析:让你成为动画牛人徐宜生 插值器和估值器模拟自然动画的精髓——TimeInterpolator与TypeEvaluator
2019-05-22 23:11:47
189
原创 Android小技巧:Spinner默认值设置为空
Android小技巧:Spinner默认值设置为空前言android系统给我们提供了很好用的spinner控件,而且也满足了我们大部分的需求。但是在实际应用的过程中,我们经常发现有这样的需求,就是spinner默认值为空,只有用户选择了某项值之后,才会显示具体的某个值。但是原谅我太菜,我没有在spinner找到设置默认值为空的方法。所以 这里就手撸了一个简单的方法。思路我们通过查看spin...
2019-05-17 14:26:51
7674
5
原创 EventBus1.0 源码解析
EventBus1.0 源码解析前言EventBus的使用下载地址导入工程使用EventBus源码解析注册前言提起EventBus,大概只要会android的人,就算没有用过也会听过。是android端有名的组件之间互相通信的框架,并且使用起来及其简单,只要10分钟就能快速上手。但是你们在使用的时候有木有好奇,它究竟是怎么实现事件的传递的。不管你们有木有,反正我是有。所以我决定来看一下Eve...
2019-04-23 18:08:51
286
原创 关于mac电脑使用usb无线网卡 WirelessUtility软件无法打开的问题
问题出现的现象我给自己的台式机装了mac系统。使用了某宝购入的十元无线网卡。经过后期查看型号为0x7601。按照网上教程安装了kext驱动和WirelessUtility软件以后。却发现WirelessUtility软件打开没有界面,并且一会儿就闪退解决办法使用一次输入以下命令cd /Applications/open ./Mediatek\ Wireless\ Utility/...
2019-04-22 13:53:58
11243
原创 观Android事件分发源码有感
观Android事件分发源码有感前言事件分发ActivityPhoneWindow和DecorView前言已经在工作android码农朋友一定都知道一件事,那么就是到一个公司无论是作为吉祥物还是作为公司的android架构师,面试的时候逃不掉的一个问题就是“Android 的事件分发机制”。并且在实际的抄袭网上代码的过程中,我们经常也会遇到各种事件冲突的问题。一般我们都是网上搜索一番,cv一些...
2019-04-18 16:05:24
399
原创 观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
317
5
原创 微信小程序,使用本地图片作为背景
微信小程序中由于限制原因,不能直接给view设置本地的图片。所以有以下几种解决方法1.使用网络图片2.使用base64格式3.使用image来装载本地的图片,然后作为 界面背景前面两种都很简单,下面我们重点来讲讲第三种。一般大家的苦恼都是这么把imageview放到界面的最下面。那么下面直接上代码。wxml<view class="root"> <image cl...
2019-01-11 21:19:28
25467
8
原创 一种简单的地图聚合算法
百度地图的聚合算法这段百度算法的描述来自博客:https://blog.youkuaiyun.com/javine/article/details/51195014总结如下:百度地图把整个地球是按照一个平面来展开,把整个地球按照平面来展开之后,我们就能算出这个地球平面的宽度,也就是世界宽度。计算公式是这样的:256*(zoom^2) == worldWidth其中zoom就是地图的层级,我们缩放地图...
2019-01-04 17:48:34
11666
2
原创 关于Android线程和线程池的那些事
前言目前常用的线程有:Thread 最基础线程执行方式AsyncTask 封装了线程池和Handler,为了方便开发者在子进程中更新UIHandlerThreadIntentService 内部采用HandlerThread执行任务,本质是一个Service,但是表现的更像Thread。因为Thread在后台容易被杀死,所以常用来在后台运行。AsyncTask使用方法 c...
2018-12-19 16:07:38
518
1
原创 从零编写一个一键生成mvp的android studio插件
实现的效果首先展示一下运行的效果这里只展示了自动新建mvp架构,后面还有自动插入dragger2没有加入,不过效果也差不多开发环境工欲善其事必先利其器,如果要开发一个软件,那么我们首先需要了解的这个软件的开发工具。平常我们开发android 使用都是android studio ,但是很遗憾,android studio 由于太过于定制化导致无法用于插件的开发。而这时候我们就需要andr...
2018-12-14 16:11:56
1901
1
原创 适用于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
367
原创 安卓弹性滑动的几种实现方式
安卓弹性滑动的几种实现方式 使用Scroller实现弹性滑动的源码如下 Scroller scroller=new Scroller(mContext); private void smoothScroolBy(int destx, int desty) { int scrollX=getScrollx(); ...
2018-10-18 17:34:00
646
原创 获取某个view的高度或者宽度
获取某个view的高度或者宽度 方法一在activity的onWindoFocusChanged中获取宽高.此方法会被调用多次.在activity得到焦点或者失去焦点的时候均会调用.代码如下 @Override public void onWindowFocusChanged(boolean hasFocus) { ...
2018-10-15 13:23:00
496
原创 View 点击事件的分发机制
View 点击事件的分发机制 这里面的代码以及文字来自 任玉刚的 <<android开发艺术探索>> 此处仅作为个人笔记使用点击事件的传递规则 /** * 用来进行事件的分发,如果事件能够传递给当前view,则此方法一定会被调用,返回结果受onTouchEvent * 和下级的dispatchTou...
2018-10-10 14:41:00
195
原创 零基础快速搭建rxjava框架
零基础快速搭建rxjava框架 基本概念定义RxJava 是一个 基于事件流、实现异步操作的库原理角色作用类比被观察者(Observable)产生事件顾客观察者(Observer)接收事件,并给出响应动作厨房订阅(Subscribe)连接 被观察者 & 观察者服务员事件(Event)...
2018-08-29 09:21:00
291
原创 关于java中的this::
关于java中的this:: 今天在阅读其他人的源码的时候发现了这样一句话 Observable.zip(mLoginObservable, mBannerObservable, mArticleObservable, this::createResponseMap)最后的一个this::createResponseMap是什么鬼,臣妾看不...
2018-08-21 11:13:00
1341
原创 Dragger2学习笔记
Dragger2学习笔记 dragger2-android使用这个的意义使用Dagger2开发Android的话,有一个困难就是android的一些框架类,如Activity和Fragment等,他们的实例化由操作系统完成,如果要想让Dagger2也能很好地注入这些对象,你不得不在生命周期里添加以下代码完成注入过程。public class ...
2018-08-14 13:47:00
1023
原创 Coordinator学习笔记(模仿百度地图的效果)
BottomSheetBehavior这是什么?官方文档是An interaction behavior plugin for a child view ofCoordinatorLayoutto make it work as a bottom sheet.用我的渣英语翻译过来就是这是一个让一个属于CoordinatorLayout的子view的交互行为变的和b...
2018-08-06 17:04:00
271
原创 关于实现android状态栏沉浸的几种方法
方法一转载自:https://blog.youkuaiyun.com/zephyr_g/article/details/53489320步骤一:首先,我们先在values下的style中加入如下代码: <!-- Base application theme. --> <style name="AppTheme" parent="Theme.AppCom...
2018-06-15 10:14:00
111
原创 关于vivo 8.0和miui新系统android studio调试出现“包解析错误”的bug的解决办法
最近在工作中遇到了调试的时候将app安装到vivo 手机上,出现了包解析错误的问题。一般来说这种问题只会出现在手机版本 小于 app所要求的最低版本的手机上。但是此vivo手机的版本是8.0,很显然不是这个问题。于是我将这个项目使用签名打出release包,复制到手机sd卡上,同时将app-debug.apk也复制到手机sd卡上。然后手机去文件管理器安装,结果release版本可以正...
2018-06-14 17:02:00
404
原创 android 生命周期
在activity刚开始被创建的时候当弹出一个dialog的时候,生命周期没有任何变化,仍然和之前相同,因为该dialog属于该activity当跳到其他界面的时候,触发了onPause和onStop再次跳转回刚才界面的时候,会触发onStart,onResume,和onPostResume当按下主页键的时候,触发onPause和onStop,所走的生命周...
2018-05-02 13:18:00
114
原创 【Android】隐藏底部虚拟按键
Google的官方文档是:https://developer.android.com/training/system-ui/navigation.html#behind示例代码1 View decorView = getWindow().getDecorView();2 // Hide both the navigation bar and the status ba...
2017-02-19 15:28:00
747
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人