自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

曲洋的博客

日出东方 唯我不败

  • 博客(15)
  • 问答 (1)
  • 收藏
  • 关注

原创 Android 比ArrayMap更高效的SparseArray

上篇博客介绍了ArrayMap,由于它是基于2个数组,而不像传统的hashMap每添加一个元素都要new一个对象,所以arraymap比较高效,这这次说的SparseMap比arrayMap还高效一些,为什么呢?1 内部也是基于2个数组(kv)2 不用每次new对象3 avoids auto-boxing keys 避免装箱4 但是key只能是int类型那什么时候用呢?当hashMap或arr

2016-12-29 10:45:01 646

原创 android中你所不知道的高效的ArrayMap

昨天闲的蛋疼啊,就看看了集合框架的源码,忽然看到了这么一个玩意儿,arraymap,好奇就百度了一下,大概也了解了一下,今天就一言不合写博客了,知识在于积累啊。 1 看看hashmap是怎么回事//无参数的构造,第一个表示默认的容器大小 public HashMap() { this(DEFAULT_INITIAL_CAPACITY, DEFAULT_LOAD_FACTOR);

2016-12-28 16:35:17 1572

原创 Android设计模式之工厂方法(1)

这些天趁着有时间在看android的设计模式,感受颇深啊,我等下的代码和大神没啥却别,大神之所以牛逼是因为能在合适的场景下使用合适的设计模式从而设计出完美的代码结构,路漫漫其修远兮,吾将上下而求索,来先看图: 错了错了,不是这张图(上错了): 工厂方法模式的核心就在于2个接口(或抽象类),请看上图,一个是Product抽象类,他就表示我们需要的实例的抽象,另一个就是FathorFacto

2016-12-26 11:58:18 352

原创 Android 源码分析之okhttp3(builder二)

上篇博客简单地介绍了一下builder设计模式,其实也很简单,相信聪明的你能很快理解他的精髓,这篇就来说说okhttp3的设计模式,其实也是builder模式,只不过和alertdialog有点小小的区别,这个区别就是在成员变量位置,ok3没有对成员变量进行封装,而alertdialog将成员变量封装到了一个含有内部类的类中了; 下面先看下ok3的代码: OkHtt

2016-12-25 15:51:08 529

原创 android 设计模式之builder(一)

Android中的builder模式非常的常见,应用的也很广泛,不okhttp,alertdialog等等都有使用这种模式,这种模式的好处就是讲操作的细节隐藏了起来,只关注结果;今天我就简单地分析下alertdialog的源码,但是呢,先来写一个关于builder的简单demo,这样理解alertdialog的源码了;package com.example.dialog;import android

2016-12-25 10:32:45 351

原创 Android as你所不知道的debug能力

很多人虽然整天都在用as,但是一旦代码出现问题就无从下手,这时候我就想起来那本《论debug的重要性》的书了,之前接收ali大神的代码我真是头疼,但是大神教我如何debug之后感觉整个世界的不一样了;就用下面的代码来做演示:public class MainActivity extends AppCompatActivity { int a; @Override protect

2016-12-22 23:32:22 2160

原创 Android 5.0特新中ViewAnimationUtils的使用

7.0来了,5.0的特性掌握了吗?下来个图 这样的动画就是5.0特性里面ViewAnimationUtils提供给我们的;先看方法说明 这个方法能做2件事,1是返回一个动画对象,2是讲图片裁剪为一个圆;下面是参数说明: 第一个参数:代表的是你要操作的view,第二个是圆的x方向的中点,第三个是圆的y方向的中点,第四个是这个圆开始时候的半径,第五个是结束时候的半径;下面就是代码了:pub

2016-12-21 15:31:35 4777 1

原创 Android Studio如何解决代码冲突问题

很多人都有这样一个问题, 在pull代码的时候往往会产生git上的代码和本地发送冲突,那么我就用一张图解决这个问题; 我们不用去关系绿色的部分, 只要关系红色的冲突部分就可了;

2016-12-20 11:53:05 1803

原创 Android 去掉listview自带的蓝色背景

<ListView android:id="@+id/lv" android:layout_width="match_parent" android:divider="@null"//去掉分割线 //下面这2个是去掉蓝色背景 android:cacheColorHint="@android:color/transpare

2016-12-19 21:04:58 415

原创 Android rxjava内存泄漏问题

虽然rxjava很好用, 如果产生过多的订阅就会造成内存泄漏问题, 如何解决呢?@Override protected void onDestroy() { super.onDestroy(); //主动解除订阅关系 if (mSubscription != null && !mSubscription.isUnsubscribed()) {

2016-12-16 10:30:33 1678

原创 Android 最简单的rxjava遍历集合写法

废话不多说,直接上代码List<User> list = new ArrayList<>(); for (int i = 0; i < 10; i++) { User user = new User(); user.id = i + ""; list.add(user); } Obse

2016-12-15 17:02:36 6365

原创 Android Rxjava遍历,过滤集合

在android中我们操作最多的就是遍历集合,并将需要的元素过滤出来,下面就让我们一起通过rxjava来完成它吧;以后麻麻再也不用担心我遍历集合了,一次搞定遍历和过滤, 当然作者只是演示rxjava操作符中的一小部分;1 添加依赖 compile 'io.reactivex:rxjava:1.0.14' compile 'io.reactivex:rxandroid:1.0.1'2 把代码撸成

2016-12-15 16:50:08 13784 1

原创 Android okhttputils显示下载进度

//download the new app private void downLoadNewApp(NewVersion.XianzaishiRfBean version) { if (StringUtils.isEmpty(version.getUrl())) { ToastUtils.showToast("新版本的APP url为空");

2016-12-14 15:52:16 3211 2

原创 Android Listview的item的全选反选问题

很多同学都有遇到这样的问题, 想通过某个按钮进行多个条目的全选和反选问题, 出现最多的问题就是childview复用,很让人头疼, 而结局这个问题的关键就在于操作原始数据;1 实体类public class Bean { public boolean isChecked; public String he = "哈哈";}2 全选反选按钮的点击事件 //生成数据

2016-12-14 14:43:02 321

原创 Android 6.0取消httpclient后如何使用volley

您必须先在 build.gradle 文件中声明以下编译时依赖项:android { useLibrary ‘org.apache.http.legacy’ }

2016-12-08 20:44:51 1109

空空如也

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

TA关注的人

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