自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Fresco 多图加载之ResizeOptions

引言最近圈子开发工作比较重再加上寒冬已至,所以停了两个月没写,手有点生,好吧,这都是借口,我承认~( ̄▽ ̄~),下面回归正题。一般地在使用Fresco图片的时候,无需担心图片大小的问题,因为通常服务器返回的图片大小不会非常夸张,但当你需要从手机本地图库中加载多图的时候,例如相册选择器,这时你就不得不考虑图片的大小问题了,因为由于android系统分配给每个app的内存是有限的,而用...

2015-12-05 16:26:00 716

转载 Android RecyclerView Adapter 新式用法之SortedListAdapterCallback

引言前几天在同事的提醒下发现V7中有了一个新的工具类SortedListAdapterCallback,配合RecyclerView Adapter和SortedList一起使用更加方便的管理我们在Adapter中的数据,省去我们很多“多余“的工作。使用方法申明一个SortedList类型的数据聚合 SortedList<Object> mDataList...

2015-09-30 02:41:00 297

转载 Android 之夜间模式(多主题)的实现

引言夜间模式其实属于多主题切换的一种,不过是最麻烦的一种。因为在夜间模式下不仅要切换主色调,次要色调等等,还要覆盖一些特殊的颜色,因为在夜间模式下总不能什么都是黑的把,那不得丑死-。-,所以当你夜间模式完成后,你的App对于日后多主题的扩展就可以轻松胜任了。实现思路多数App由于历史原因当对其进行夜间模式的功能改造时,工作量是比较大的,所以在真正开始着手实现前,我们还是应该先明确夜...

2015-08-09 18:40:00 163

转载 Git error- fatal- Needed a single revision

最近在开发中由于项目结构的重构,有一部分代码被抽出来作为了公共库(git submodule),这样公共库可以独立维护,同时其他库调用它也是非常方便的,避免了到处复制代码的痛苦。但我在项目重构后第一次pull更新时发现,更新十分的缓慢,好像是submodule 项目pull不下来,然后失去耐心后取消操作并重新下拉,git就会一直在报 fatal: Needed a single rev...

2015-06-22 12:41:00 9067

转载 如何自定义RecycleView item的间距

引言在以前使用ListView和GridView时,设置item之间的间距还是相对比较简单的,因为它们的基本属性里面Android已经定义好了,可以直接设置属性值即可。但Google为了通用性和灵活性(至少我是这么认为-.-),对于V7包中的RecycleView来说,则需要自己实现ItemDecoration类的getItemOffsets(Rect outRect, View v...

2015-05-25 01:21:00 199

转载 为什么Android AsyncTask的使用要遵循五大原则

引言AsyncTask是一个围绕Handler和Thread而设计的助手类,封装了在工作线程中与UI交互的细节,只需要对应重写几个回调方法即可,并使得代码更加简洁,优雅。但要注意的是AsyncTask并不能是一个通用线程框架,这在Android官方介绍中有提到:AsyncTask is designed to be a helper class around Thread and H...

2015-03-22 21:08:00 98

转载 如何“任性”使用Android的drawText()

Android的canvas上可以画很多基本形状,诸如:圆,矩形,线条等等,其中当属文字即drawText()较难理解和使用(额,这只是就个人感受),下面将慢慢介绍下如何简单使用drawText()。FontMetricsFontMetrics是Paint的一个内部类,主要定义了Paint绘图时的一些关键坐标位置,具体如下图(1)所示:图(1):其中:ascent:该距离是...

2015-03-03 23:06:00 506

转载 如何在Android Studio中使用Gradle发布项目至Jcenter仓库

简述目前非常流行将开源库上传至Jcenter仓库中,使用起来非常方便且易于维护,特别是在Android Studio环境中,只需几步配置就可以轻松实现上传和发布。Library的转换和引用博主的一个开源项目CustomSwipeListview之前是在Ecplise环境下进行开发且把控件代码和Demo写在了一个Project中,所以在发布开源库前首先是将原项目中的Demo代码提取出...

2015-02-23 03:45:00 139

转载 再次探究Android ListView缓存机制

概述虽然现在5.0后Google推出了RecycleView,但在5.0 Lollipop普及前Listview仍会被广泛使用,所以打算再次探究一下Listview的源码,了解一下Listview 的构成及加载机制。探究上图简单梳理了Listview的构成及与其相关类之间的关系,并简要地列出了些重要的方法和内部类。AdapterView从上图可以清晰的看出Listview归根...

2015-01-22 01:08:00 100

转载 HashMap在Android和Java中的不同实现

起因今天在项目中遇到一个很"奇葩"的问题。情况大致是这样的:Android终端和服务器(Spring),完全相同的字符串键值对放入HashMap中竟然顺序不一样,这直接导致了服务器和Android终端用HmacSHA256算法加密出的摘要也不一样,服务器也就无法进行正确的数据验证。然后带着郁闷的心情给程序加断点进行原因寻找,发现原来是HashMap的中服务器和终端双方对于同样的key...

2014-12-05 00:05:00 109

转载 菜鸟程序员自我修养心得

题记一个菜鸟码农,初入职场,涉世未深,但感触颇多,或许这是菜鸟们的通病把,毕竟现实和理想是有差距的。不放弃或许是被繁琐的工作折腾的已精力殆尽,或许是寒冬已来,人自然就懒了,每每回家都很累,念想最多的就是想玩把游戏,休息休息,看一部电影等等,但是我知道不能总这样,因为日复一日,年复一年很可能这就会变成你的一个习惯,要知道习惯这个东西是很可怕的,其他的行业我不知道,但程序员是需要不断...

2014-12-03 22:54:00 130

转载 探究ListView 的缓存机制

概述ListView 是继承AbListView,AbListView是所有列表类控件的基类。ListView的数据加载在ListView数据加载中最关键的一个函数就是makeAndAddView(),这个函数的作用就获得一个ChildView并把该ChildView添加到List中,具体见源码分析:private View makeAndAddView(int position...

2014-12-02 20:36:00 136

转载 看源码之Adapter和AdapterView之间的关系

总述Android中“列表”的实现其实一个典型的MVC模式,其实中AdapterView相当于是View,负责视图的绘制以及视图的事件响应,Adapter相当于是Controller,负责控制数据的显示内容和展现方式,另外项目中的实体类则是代表了Model。AdapterAdapter其实是个接口,并不是一个具体的类。它的主要最用就是作为一个AdapterView和Model间的桥...

2014-12-01 20:14:00 192

转载 探究Android中Listview显示错乱问题

问题最近在项目中遇到过一个很棘手的问题,就是ListView在滑动后就莫名其妙的显示错乱,网上查阅资料后问题很容易的就解决了,但是对于问题产生的原因仍是一知半解,所以不甘心的我定下心来,狠读源码,终于理清了其中的”奥秘“。由来一般的关于Adapter中getView的写法不外乎以下形式:@Overridepublic View getView(int position, Vie...

2014-11-30 16:30:00 195

转载 感性体验 Android 5.0 Lollipop

引言Android5.0大概是在11月下旬开始进行OTA推送,博主手上的这台五太子(Nexus 5)也在前几天收到了Google的推送,博主当然是按耐不住赶紧翻墙升级啦,但无奈的是这个大版本更新包有500M,足足更了好几个小时后才成功(过程中那个忐忑啊,怕出意外-。-),最后总算是有惊无险的更新完成,下面就简单说说Android5.0的实际使用感受。--- ---设计风格这个5....

2014-11-24 00:39:00 119

转载 Java多线程中易混淆的概念

概述最近在看《ThinKing In Java》,看到多线程章节时觉得有一些概念比较容易混淆有必要总结一下,虽然都不是新的东西,不过还是蛮重要,很基本的,在开发或阅读源码中经常会遇到,在这里就简单的做个总结。1.volatilevolatile主要是用来在多线程中同步变量。在一般情况下,为了提升性能,每个线程在运行时都会将主内存中的变量保存一份在自己的内存中作为变量副本,但是这样...

2014-11-19 19:48:00 141

转载 探究Android SQLite3多线程

最近做项目时在多线程读写数据库时抛出了异常,这自然是我对SQlite3有理解不到位的地方,所以事后仔细探究了一番。关于getWriteableDataBase()和getReadableDatabase()的真正作用getWriteableDataBase()其实是相当于getReadableDatabase()的一个子方法,getWriteableDataBase()是只能返回一...

2014-11-14 00:20:00 172

转载 浅谈Android序列化

序列化原因序列化的原因基本可以归纳为以下三种情况:永久性保存对象,保存对象的字节序列到本地文件中;对象在网络中传递;对象在IPC间传递。--- ---序列化方法在Android系统中关于序列化的方法一般有两种,分别是实现Serializable接口和Parcelable接口,其中Serializable接口是来自Java中的序列化接口,而Parcelable是Androi...

2014-10-12 22:57:00 104

转载 Android之Activity生命周期简介

概述有图有真相,所以先上图:上图是从Android官网截下的Activity的生命周期流程图,结构非常清晰,它描述了Activity在其生命周期中所有可能发生的情况以及发生的先后顺序,下面就将结合此图详细介绍一下Activity的生命周期。--- ---Activity四大基本状态Activity生命周期一般分为四个基本状态,分别是活动状态(running),暂停状态(pau...

2014-10-03 03:24:00 244

转载 Java 中类的加载顺序

这其实是去年校招时我遇到的一道阿里巴巴的笔试题(承认有点久远了-。-),嗯,如果我没记错的话,当时是作为Java方向的一道选做大题。当然题意没有这么直白,题目只要求你写出程序运行后所有System.out.println的输出结果,其中程序是题目给的,而各个System.out.println的执行顺序不同会导致最后程序输出的结果也不同。具体的题目我肯定记不清,不过我们可以换个直接的问...

2014-09-30 22:51:00 71

转载 Django如何设置proxy

设置porxy的原因一般情况下我们代理设置是针对与浏览器而言,通常只需在浏览器设置中进行配置,但它只针对浏览器有效,对我们自己编写的程序并任何效果,这时就需要我们在软件编码中加入代理设置。--- ---Django的代理设置使用Python访问网页一般有三种常用的方式,分别是urllib,urllib2和httplib。其中urllib比较简单,功能相对也比较弱。而httplib...

2014-09-30 22:49:00 188

空空如也

空空如也

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

TA关注的人

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