自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 从几段简短的代码探讨WeakReference和SoftReference

看过很多讲java里引用的文章,但大多都是告诉你,弱引用是当java gc发生的时候,就会进行回收,软引用是内存不足的时候进行回收等等。但这样总感觉有点抽象。前几天看到一篇文章,里面的代码引起了我的兴趣。我在原文代码的基础上做了一些改动,这样或许可以对软引用和弱引用有更好的理解。文章原文可以点击这里查看弱引用的相关概念这里就不过多探讨了,网上有很多,我们直接上代码public class W...

2020-01-26 15:50:12 200

原创 【翻译】okhttp的缓存是如何工作的

在网上看到一篇国外的讲okhttp缓存的文章,感觉写的很好,简明扼要。国内虽然也有很多讲okhttp缓存的文章,有的写的很好,有的则写的比较繁琐。所以我还是把这篇文章大致翻译一下,并结合使用过程中的一些情况以及自己的理解,来谈一下okhttp缓存。原来的文章在这里先放一张图,这是不考虑离线情况下的okhttp缓存工作流程图:okhttp的缓存是基于http协议的,也就是,假如服务器返回的h...

2019-11-01 22:44:36 401

原创 在Android Studio上编译自己的Telegram

在国内的人可能对Telegram了解的不多,因为用的多的还是微信QQ。所以,在开始这篇文章之前,我先引用维基百科上的内容介绍一下telegram。历史它在2013年由杜洛夫兄弟正式激活,也就是尼古拉·杜洛夫与保罗·杜洛夫,俄罗斯最大的社交网络服务VKontakte的创始者。Telegram Messenger LLP是独立的非营利公司,设立在柏林,而且与VKontakte毫无关系。尼古拉...

2019-10-20 19:54:30 1401 6

原创 OkHttp 4.X使用小结

OkHttp 4.x出来已经有一段时间了,根据JCenter的上传记录,早在今年五月份,square就上传了4.X的第一个版本,4.0.0-alpha01。主要的区别在于之前是基于JAVA,而4.X往后,都将会是用kotlin来写。可以看得出来,kotlin将会是大势所趋。Google了一下,发现还没人写关于OkHttp4的教程。其实我个人也感觉没什么必要。这次的升级还是很平滑,甚至为了和3.X...

2019-10-20 19:47:30 17110 3

原创 OkSimple :基于okhttp5的更好用的网络请求框架

项目介绍一个对okhttp进行二次封装的网络请求库,简单易用,扩展性强,基于okhttp4.1和kotlin。目前的大部分网络请求框架都是用java写的,而且对okhttp的支持也只支持到okhttp3.x。但oksimple基于okhttp4.1和谷歌官方钦定android开发语言kotlin。所以说面向未来也没什么不对 XD目前实现的功能get,post,postjson等常规请求文...

2019-10-20 19:45:13 1952 1

原创 Android Mqtt重连的一个小问题

MQTT服务器端有很多开源库,但android端大部分用的都是eclipse的paho。paho是很好用的一个mqtt框架,但在重连上有需要注意的地方。假如你在初始化的时候,设置了如下的代码: MqttAndroidClient mqttAndroidClient = new MqttAndroidClient(getApplicationContext(), 服务器地址, 设备ID); Mq...

2019-10-20 19:35:21 2109 1

原创 在Android Studio上编译自己的Telegram

在国内的人可能对Telegram了解的不多,因为用的多的还是微信QQ。所以,在开始这篇文章之前,我先引用维基百科上的内容介绍一下telegram。历史它在2013年由杜洛夫兄弟正式激活,也就是尼古拉·杜洛夫与保罗·杜洛夫,俄罗斯最大的社交网络服务VKontakte的创始者。Telegram Messenger LLP是独立的非营利公司,设立在柏林,而且与VKontakte毫无关系。尼古拉...

2019-10-20 19:31:55 1863 3

原创 从最简单的Android MVP讲起

mvp是一个老生常谈的话题了,网上太多讲MVP的文章了。但有的文章不是结合了rxjva,retrofit等开源项目,就是讲的太过复杂。所以我会写一个最简单的mvp demo。来帮助大家理解mvp的本质。大多数时候,问题都可以拆解为,WHTA,WHY,HOW;什么是MVP,为什么使用MVP,如何使用MVP。WHAT:先说什么是MVP,上面这张图是网上找的,其实这张图已经很明显了,MVP和MV...

2019-10-20 19:30:15 255 1

原创 使用双栈解析小数负数算术表达式的一些想法

最近因为一些原因,我需要写一个简易的计算器,需要支持加减乘除,小数和负数运算。其实思路很简单,无非就是使用双栈解析一串算术表达式的文本。《算法》一书中也有一个简单的demo。但如何快速高效的解析,便成了一个问题。百度了一圈,发现很多文章要先把表达式转成后缀表达式,再实现求值。例如java实现算术表达式求值,但这么做真的有必要吗?只是解析加减乘除需要这么多代码吗?我对此抱有疑问。我的疑问在于,转...

2019-10-20 19:29:01 266 1

原创 一个简单的圆形TextView

一个简单的工具类。主要是为了方便当你需要一个带圆形边框的textview的时候,可以不用写一大堆的drawable。下面是代码public class CircleTextView extends AppCompatTextView { private Paint circlePaint; private Paint backPaint; private Paint t...

2019-10-20 19:25:49 242

原创 80行代码完成自动换行layout

####网上有很多的自动换行的layout了,但看了一圈,感觉很多人都把问题想复杂了,这也就导致了代码的复杂。有些时候你想要的只是一个可以自动换行的layout,可以设置横竖间距,不需要其他一些奇奇怪怪的功能和设置一些奇奇怪怪的属性。那么你可以考虑我写的这个public class AutoLineLayout extends ViewGroup { private int horizon...

2019-10-20 19:20:27 278 1

空空如也

空空如也

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

TA关注的人

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