![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android
宇云3
从程序猿到攻城狮的进化!
展开
-
关于网上解决Android4.x系统设置字体大小导致应用布局混乱引起的问题
从Android4.0系统以后,提供了设置“字体大小”来改变系统字体的选项。当然,这个对于老人机的厂商来说还是一个福音,只不过对于开发者来说,就略有些坑。当用户设置放大、缩小字号的时候,app的布局就全乱了。网上一搜,还是有很多解决方案的。普遍的做法是在Acitivty基类里面重写getResources()方法,如下:@Override public Resources ge原创 2016-07-27 17:21:22 · 1745 阅读 · 5 评论 -
团贷网Android客户端架构演进之路(上)
写在前面刚入职团贷网的时候,Android端App已经历经了两年多时间的迭代和沉淀。无论是从项目技术构成还是开发流程上来说,都非常吻合“短平快”的开发方式,这种模式对于小型团队的快速迭代,是非常舒服的。但随着公司规模的日渐扩大,业务快速发展,业务逻辑愈加复杂,团队成员不断增加,等等这些情况的出现,迫使我们不得不走出原来的舒适区。当我们静下来重新审视过去代码,重新回看整个项目架构和业务逻辑的...原创 2019-04-16 15:32:13 · 612 阅读 · 0 评论 -
打造自己的下拉刷新库(Ultra-Pull-To-Refresh)(二)
在本系列的上一篇文章中,我们为大家分析了整个下拉刷新库的结构,其中最关键的就是我们将Ultra-PTR封装到了PullToRefreshBaseView基类中,为我们给各种view实现下拉刷新提供了便利的接入。那么今天我们继续给大家呈上PullToRefreshRecyclerView的打造过程,继承PullToRefreshBaseView基类轻松地为RecyclerView实现下拉刷新的功能。原创 2017-05-31 18:32:16 · 1116 阅读 · 2 评论 -
打造自己的下拉刷新库(Ultra-Pull-To-Refresh)(一)
上一篇博文打造自己的图片加载缓存库(Picasso OR Glide)发表之后,非常荣幸得到了博客专家拭心的肯定,并被转载到了他的公众号“安卓进化论”,同时也得到了小组同事们的转载,在这也非常感谢他们。其实回过头来看看,实际上自己还是有很多不足和可以改进的地方。故人告诉我们,吾日三省吾身,只有在不断的踩坑中不断的总结,才能提升自己。就好比悟空在被敌人打得半死不活之后,不断地激发自己的潜能,才能进化原创 2017-04-26 17:47:54 · 3876 阅读 · 2 评论 -
Gson&FastJson解析异常Json的处理
这几天因为开发的需求对项目中Json的解析做了一下整理。在整理的过程中遇到比较大的问题,就是后端没按约定返回字段值,以及空字符串(”“、“null”)等情况。某度和某哥了一下,发现遇到这个问题的码友还是挺多的。于是趁热打铁总结了一下解决方案奉献给大家。Gson和FastJson的恩怨情仇FastJson是阿里开源的一个Json解析项目,其内部使用了各种方案使得Json序列化和反序列化的原创 2017-05-05 17:11:20 · 11005 阅读 · 3 评论 -
打造自己的图片加载缓存库(Picasso OR Glide)
好久没写文章了,一个是工作的原因,还一个就是这几个月看了很多文章,一直在补充自己的知识。之前看到一句很喜欢的话——感到快乐就忙东忙西,感到累了就放空自己,这几个月一“快乐”了,就停不下来地看、一直在写代码。期间由于项目的需求,用这里那里学来的东西,写了一套RxJava+Retrofit+OkHttp的网络请求框架;重新整理了项目中下拉刷新的列表,封装了一套UltraPTR+RecyclerView的原创 2017-03-07 16:08:00 · 1932 阅读 · 5 评论 -
监听APP进入后台或切换到前台方案对比
在我们开发的过程中,经常会遇到需要我们判断app进入后台,或者切换到前台的情况。比如我们想判断app切换到前台时,显示一个解锁界面,要求用户输入解锁密码才能继续进行操作;我们想判断app切换到后台,记录一下log;或者当用户切换回前台时,我们想刷新一下页面的数据等等......android里面监听app前后台的方案很多(这还是得归根于安卓提供了丰富的api和强大的架构支撑,呵呵~),比如可以原创 2016-11-05 15:34:04 · 9745 阅读 · 6 评论 -
使用HttpUrlConnection或者HttpClient做https请求时导致的SSLHandshakeException异常
最近发现在做https请求时,会报出SSL握手异常javax.net.ssl.SSLHandshakeException: com.android.org.bouncycastle.jce.exception.ExtCertPathValidatorException: Could not validate certificate signature.仔细看了下,用HttpUrlConne原创 2016-09-19 16:34:26 · 14965 阅读 · 0 评论 -
Android Studio 运行时出现 finished with non-zero exit value 2 终极解决方案
这两天更新完小组的代码,庆幸竟然没有冲突,然后习惯性的clean一下项目,OK没事,好了可以开始运行了。点击运行,突然冒出了个莫名的错Error:Execution failed for task ':app:dexDebug' .com.android.ide.common.process.ProcessException: org.gradle.process.internal.Exe原创 2016-08-23 11:15:14 · 1794 阅读 · 1 评论 -
ScrollView嵌套ListView滑动冲突解决
在一些特殊界面的设计里面,使用ScrollView嵌套ListView的情况还是比较常见的。由于ScrollView和ListView都有对滑动事件的监听和处理,所以两者嵌套肯定会存在滑动冲突的问题。我们知道Android事件是根据“冒泡”机制层层传递的,既从父View到子View层层处理,因此我们思考从ListView的“View父”ScrollView进行冲突处理。从网上查阅资料和对Scr原创 2016-07-18 17:45:41 · 1244 阅读 · 0 评论 -
团贷网Android客户端架构演进之路(下)
从 CI 到 DevOps好啦,说了那么多,我们又回到了CI的话题上面。前面也给大家简单的介绍了一下,CI中文:持续集成,简单的理解就是将本地编译、构建、发布的过程放在远程服务器多次的自动执行。短短一句话,信息量其实很大。里面有编译构建、发布、远程服务器、多次、自动几个关键词。我们逐个来理解一下:编译构建:通过gradle脚本编译构建出目标文件,如jar文件、aar文件、apk文件等发布...原创 2019-04-25 09:38:19 · 317 阅读 · 0 评论