自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 资源 (5)
  • 收藏
  • 关注

原创 Flutter 知识点(路由与导航)

1 动态路由跳转页面代码 Navigator.push<void>( context, MaterialPageRoute<void>( builder: (BuildContext context) => HomePageB(), ), );返回页面代码 Navigator.pop(context);跳转页面传参数,通过构造方法传参 Navigator.push( co

2022-03-04 16:17:35 2035

原创 EventBus 源码解析系列(如何使用)

EventBus 源码解析系列(如何使用)

2021-12-15 11:24:44 2166

原创 LinkedList 源码解析

Arraylist 的源码解析,请参考ArrayList 源码解析,看完就明白系列<一>ArrayList 源码解析,看完就明白系列<二>平常我们使用LinkedList,很简单,我们根据源码逐一分析下 LinkedList linkedList = new LinkedList(); linkedList.add("1"); linkedList.add("2"); linkedList.get(2); linkedList.getFirst();首先 new LinkedL...

2021-07-20 15:40:14 119

原创 开发一个好的框架 需要必须知道的一些知识点

要想开发一个好的框架,设计模式,数据结构(例如 hashmap,List),锁,注解,线程池,handler,反射,jvm,牢固的java基础 这些知识一定要消化掉,掌握了这些也就走遍天下都不怕了。

2021-07-20 11:29:07 183

原创 解析 setContentView(R.layout.activity_home)流程

我们使用activity,设置布局的时候会用setContentView(R.layout.activity_home),那到底是怎么加载的呢?public class HomeActivity extends AppCompatActivity { @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState);

2021-05-26 19:11:09 909

原创 ArrayList 源码解析,看完就明白系列<二>

上一节介绍了ArrayList 的创建 和add流程,不清楚的可以看一下https://blog.csdn.net/ruanjiandu/article/details/111093162本节介绍remove 的流程 ArrayList<String> listq = new ArrayList<>(); listq.add("1"); listq.add("2"); listq.add("3"); li.

2020-12-17 17:33:22 200

转载 java 线程池知识点,看完就明白系列

这篇文章很好,推荐看看。转载于https://www.cnblogs.com/jay-huaxiao/p/11454416.html

2020-12-16 14:49:30 69

原创 handler机制原理 看完就明白系列

1 主线程中使用handler Handler handler = new Handler(){ @Override public void handleMessage(@NonNull Message msg) { super.handleMessage(msg); } }; Message msg = handler.obtainMessage(); handler....

2020-12-16 09:02:55 95

原创 HashMap 一遍就懂,看完就明白系列

转载于https://blog.csdn.net/qq_40574571/article/details/97612100

2020-12-14 17:32:05 61

原创 View的绘制流程,看完就明白系列

View的绘制流程View的绘制流程:OnMeasure()——>OnLayout()——>OnDraw()第一步:OnMeasure():测量视图大小。从顶层父View到子View递归调用measure方法,measure方法又回调OnMeasure。第二步:OnLayout():确定View位置,进行页面布局。从顶层父View向子View的递归调用view.layout方法的过程,即父View根据上一步measure子View所得到的布局大小和布局参数,将子View放在合适的位置

2020-12-14 17:13:04 648

原创 Okhttp 责任链解析 看完就明白系列

拦截器是okhttp的一个重要的核心功能,在分析各个拦截器功能的同时又会牵扯出okhttp的缓存机制、连接机制。1 自定义一个拦截器需要实现Interceptor接口首先我们继承Interceptor实现intercept(Chain)方法,完成我们自己的拦截逻辑,即根据需要进行1、2、3、4、5步,不管是自定义拦截器还是后面介绍的okhttp默认的拦截器大概都是这个模板实现,定义完拦截器后,我们在构造OkhttpChient时就可以通过addInterceptor(Interceptor)或add

2020-12-14 15:45:20 292

原创 okhttp 流程解析,看完就明白系列

同步请求// 构建okHttpClient,相当于请求的客户端,Builder设计模式 OkHttpClient okHttpClient = new OkHttpClient.Builder().readTimeout(5, TimeUnit.SECONDS).build(); // 构建一个请求体,同样也是Builder设计模式 Request request = new Request.Builder().url("http://www.baidu.com")

2020-12-14 14:33:28 387

原创 ArrayList 源码解析,看完就明白系列<一>

Arraylist ,是我们平常使用非常频繁的一个集合,我们从最常用的方式 开始解析ArrayList<String> arrlist1 = new ArrayList();arrlist1.add("1");arrlist1.add("2"); ... ... ...以此增加11个元素 ... ...arrlist1.add("10");arrlist1.add("11");ArrayList<String>

2020-12-13 14:45:42 172 1

原创 java << 、>>理解

java 中 左移符号<<,右移符号 简单解释。例如 int i = 10; int j = i << 1;i = 10 : 十进制 是10,二进制是 1010i << 1: 左移1位,二进制变为 10100,转换位十进制 则是 20结论,j = 20,也就是 左移1位,相当于 乘以2,以此类推,<< 2 相当于乘以 4例如 int i = 20; int j = i >>1;i = 20 : 十进制 ...

2020-12-13 11:31:31 13605 1

原创 java序列化,反序列化

序列化,反序列化:序列化是指把一个Java对象变成二进制内容,本质上就是一个byte[]数组。 为什么要把Java对象序列化呢?因为序列化后可以把byte[]保存到文件中,或者把byte[]通过网络传输到远程,这样,就相当于把Java对象存储到文件或者通过网络传输出去了。 有序列化,就有反序列化,即把一个二进制内容(也就是byte[]数组)变回Java对象。有了反序列化,保存到文件中的byte[]数组又可以“变回”Java对象,或者从网络上读取byte[]并把它“变回”Java对象。序列化和反序列.

2020-12-13 10:54:34 100

原创 (最新)天津各片区,各小区,各学校 对应关系,持续更新

★河西区★ 片区 小学名称 对应小区 备注 河西一片 ★闽侯路小学 西楼北里、敬重里、信昌大楼、福至里、宝德里、存诚里、无锡道大楼、浦口东里、积庆里、广田里、安德里、三义大厦、祺寿里、安辛庄、南浦大厦、久仰里、吉万里...

2020-12-09 15:57:20 6323 2

原创 java 常用的单例模式 及区别

常用的单例模式饿汉模式 特点:在类加载时就完成了初始化,所以类加载比较慢,但获取对象但速度快,并且避免了多线程同步问题 public class Singleton { private static Singleton instance = new Singleton(); private Singleton (){ } public static Singleton getInstance() { return instance; }

2020-12-03 15:29:39 145

原创 android zxing 生成二维码去除白边,宽距

android zxing 自带的生成二维码不会根据设置的宽高去显示二维码,内容越长,白边距会越大,所以整理了个demo,希望能帮助到遇到同样问题的同学。github地址:demo地址

2020-10-23 15:25:59 1263

原创 android ViewModel Obsever 被多次回调?

ViewModel 极大的方便了我们的开发,但是 activity被回收在重新创建,由于VIewModel的生命周期机制,Obser的回调会被多次执行,显而易见不是我们想看到的,但是站在巨人的肩膀上,处理方式也很简单,使用谷歌大神的方案,SingleLiveEvent 代替MutableLiveData即可。SingleLiveEvent 具体代码:public class SingleLiveEvent<T> extends MutableLiveData<T> {...

2020-08-21 11:37:53 2455 1

原创 android EditText 设置android:gravity=right获取焦点时光标不在最后处理方法

android EditText 设置android:gravity="right|center_vertical",获取焦点时 光标不在最后? 复制下面代码即可<com....LastInputEditText android:id="@+id/presale_et" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@nul.

2020-06-09 15:03:47 429

原创 BottomNavigationView 去掉菜单长按 弹出菜单文字吐司

废话少说,直接上代码 override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(getResLayoutId()) var menuView = bottom_navigation.getChildAt(0)//举个例子,第一个tab的拦截,其它的同理 menuView.findViewById...

2020-05-20 10:21:03 3097 13

原创 android studio 升级到3.3.2 采坑记录

android studio 升级到3.3.2 采坑记录android studio 升级到3.3.2 采坑记录做为一个喜欢新(qiang)鲜(po)事(zheng)物的码农,明知道升级as 很可能项目跑不起来,但依然没忍住点了update,升级完后果然不出所料。。。。第一个坑(包括所有moudle)AndroidManifest.xml 不能包含minSdkVersion 15,建议直...

2019-03-14 13:25:25 859

原创 Android webview 微信h5支付无法调起?

最近做一个webview 加载h5商城的需求,感觉太简单了,load一个url就ok了,可是到支付的时候,竟然报商户参数格式不正确,请联系商户,查看文档,原来需要在webview 加载的时候需要加入请求头 Referer。简单,分分钟加上了:如下 @Override public boolean shouldOverrideUrlLoading(WebView ...

2018-07-25 16:42:26 2865

原创 android scrollTo(x,y)和scrollBy(x,y) 的区别

 1概念 scrollTo(x,y) :view 相对于初始位置滚动的距离, x  相对于横屏的距离,正数则向左移动的距离,负值则向右移动的距离 。y  正值向上移动的距离,负值向下移动的距离。  scrollBy(x,y):view 相对于当前位置滚动的距离,x  相对于横屏的距离,正数则向左移动的距离,负值则向右移动的距离 。y  正值向上移动的距离,负值向下移动的距离。  2 相同点移动的都...

2018-03-15 16:45:24 347

原创 view事件分发机制简单总结

view 事件执行顺序   view.dispatchTouchEvent -&gt; View.setOnTouchListener-&gt;View.onTouchEvent1 当  view 可点击,onTouchListenr != null 并且 View.setOnTouchListener 返回true 三个条件都满足时,则view.dispatchTouchEvent 的事件被消费...

2018-03-08 11:43:14 137

原创 给状态栏设置渐变颜色

1 状态栏设置纯颜色,很方便,直接获取状态栏,设置颜色即可代码:if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { Window window = ((Activity)context).getWindow(); window.addFlags(WindowManager.LayoutParams.FLAG_

2017-12-25 13:30:21 2356 1

原创 android studio 编译so文件入门(ndk配置及demo)2

上一节简单介绍了ndk的安装及demo运行,这次记录下demo的结构及作用1 cpp目录及cmakeLists.txt cp目录,是写c++源码的文件目录,创建demo后,会自带native-lib.cpp,这是一个c++返回字符串的示例include include extern “C” jstring Java_com_buybal_www_ndkdemo2_MainActivity_st

2017-04-18 14:05:07 285

原创 android studio 编译so文件入门(ndk配置及demo)1

前言:本次文章只能算ndk开发最初级的了。话不多说,进入主题 1 配置ndk,准备开发环境,android studio 2.2以上 2 下载ndk及cmake 如图: 3 下载完就算配置完成了 4 新建ndkdemo 如图: 5 demo新建完成后,是这样滴,如图 6 运行即可,ndkdemo就出来了,具体demo的结构,下节分析。如有问题请留言。

2017-04-18 12:00:16 334

原创 android activity启动优化方法

最近做一个项目,用的viewpage+fragment 模式,由于加载的fragment比较多,加上布局复杂,每次跳转activity的时候,总是会卡顿几秒钟,当然性能好的手机,情况会好很多,经过排查以及实验,记录下方法。一般初始化都会在oncreate()方法中,首先找出哪些控件的初始化比较复杂,提取出来,activity在onresum,fragement 在可见的情况下初始化复杂的控件,那问题

2017-03-01 17:22:19 1055

原创 android 动画被父布局遮盖问题解决

项目需要一个动画效果,点击按钮后,需要一个小太阳从某个位置,抛物线形势从底部位移出去,做的过程中,发现动画位移出父布局就被遮盖掉,经过各种查找,好多都是复制动画图层,最终发现,只要在根布局配置两个属性就可以。android:clipChildren="false"android:clipToPadding="false"都设置为false,需要在动画父布局之上,所有父布局至根布局

2017-02-20 14:12:13 3840

转载 Android 属性动画(Property Animation) 完全解析 (下)

转载自:http://blog.csdn.net/lmj623565791/article/details/38092093上一篇Android 属性动画(Property Animation) 完全解析 (上)已经基本展示了属性动画的核心用法:ObjectAnimator实现动画,ValueAnimator实现动画,AnimatorSet的使用等~当然了属性动画还有一部分的知识点,也能做出很不错的

2017-02-08 11:35:28 292

转载 Android 属性动画(Property Animation) 完全解析 (上)

转载自:http://blog.csdn.net/lmj623565791/article/details/38067475 1、概述Android提供了几种动画类型:View Animation 、Drawable Animation 、Property Animation 。View Animation相当简单,不过只能支持简单的缩放、平移、旋转、透明度基本的动画,且有一定的局限性。比如:你希

2017-02-08 11:27:06 178

转载 Android 属性动画(Property Animation) 完全解析 (上)

转载自:http://blog.csdn.net/lmj623565791/article/details/380674751、概述Android提供了几种动画类型:View Animation 、Drawable Animation 、Property Animation 。View Animation相当简单,不过只能支持简单的缩放、平移、旋转、透明度基本的动画,且有一定的局限性。比如

2017-02-08 11:24:10 290

原创 初识自定义view<一>

看着很多app上炫炫的效果,甚是羡慕,所以今天开始学习自定义view,自定义view刚开始看比较乱,一步一步了解其原理,就很快入门了,先从简单的开始说起。           1 自定义view首先要继承view,重写onmeasure()(非必须),ondraw(Canvas canvas)方法。            2 ondraw(Canvas canvas)    这个方法作用就

2016-11-11 14:43:42 367

原创 Android studio多渠道打包

最近有个EcLipse项目,需要O单,意思就是换皮换图标换包名,以及申请的第三方key,O单第一个的时候,复制一份工程,修改包名OK,然而陆续的要换十几个,并且以后还要加功能,必须同步加上,厉害了我的哥,如果一套套复制,效率低的非得猝死,幸亏还有你(android studio),多渠道打包,完美解决了我的问题,废话有点多,进入正题,如何多渠道打包。   1  把eclipse 项目导

2016-10-20 16:16:06 269

XRecyclerView 支持不满一屏也可上拉加载更多

感谢XRecyclerView的无私奉献,原文地址https://github.com/XRecyclerView/XRecyclerView,因为业务需求,需要不满一屏时也可以上拉加载更多,所以改了下源码,有需要的可以试试,有问题,感谢指出

2019-06-11

android DL动态插件demo

集成开源DL动态插件lib,简单实现调起插件,对于初研究者有一定作用

2016-05-13

expandablelistviewDemo

android expandablelistviewDemo 实现下拉刷新,上拉加载更多,需要的可以下载看看

2016-02-25

android使用okhttp与服务端网络通信demo

该资源使用场景是android 端使用okhttp与服务端进行网络,资源包括android 端demo,以及服务端demo,只需demo导入工程,修改为自己的服务器地址即可运行

2016-01-27

android videoview 视频播放器

实现功能:1 采用videoview 播放网络获取的视频 2 seekbar进度调显示当前播放进度 3 显示总时间和当前播放时间 4 暂停和播放按钮

2015-05-06

空空如也

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

TA关注的人

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