- 博客(8)
- 收藏
- 关注
原创 老司机来教你单例的正确姿势
老司机来教你单例的正确姿势最佳实践单例之枚举最简单的单例之饿汉式最体现技术的单例之懒汉式内部类实现单例总结参考链接老司机来教你单例的正确姿势Java单例模式可能是最简单也是最常用的设计模式,一个完美的单例需要做到哪些事呢?单例(这不是废话吗)延迟加载线程安全没有性能问题防止序列化产生新对象防止反射攻击可以看到,真正要实现一个完美的单例是很复杂的,那么,让我这个司机带大家看
2016-06-30 23:05:47 884
原创 Android进阶之自定义注解
Java进阶之注解本篇文章内容包括: 注解的概念元注解自定义注解Android自定义编译时注解如果使用过ButterKnife, EventBus, Retrofit, Dagger等框架, 你对注解一定不会陌生. 但是注解背后究竟有什么魔法, 可以做这么不可思议的事情. 什么是注解先来看看Java文档中的定义 An annotation is a form of metadata,
2016-06-23 19:23:43 1061 1
原创 Activity跳转最佳实践
Activity跳转最佳实践学习Android-CleanArchitecture时, 注意到它用了一个Navigator类统一管理Activity跳转, 统一管理的好处相信不用我多说, 让我们一起来学习一个.传统写法跳转不需要参数时:Intent intent = new Intent(this, SecondActivity.class);startActivity(intent);跳转需要
2016-06-08 15:13:29 498
原创 算法学习之不那么简单的排序(1)
也不知道与简单排序对应的应该叫什么, 就叫不那么简单的排序好了.本篇博客主要学习了希尔排序、归并排序and快速排序。注: 这一篇和上一篇简单排序都算是学习白话算法系列的学习笔记吧希尔排序希尔排序是基于插入排序而来, 插入排序的最好时间复杂度是O(n), 当数组基本有序时, 效率是很高的. 而希尔排序, 设定一个增量, 按增量将数组分组.例如数组{1,2,3,4}, 增量是2, 那么数组就可以分为{1
2016-04-23 18:54:13 336
原创 算法学习之简单排序
简单排序简单排序有三种, 冒泡排序,选择排序,插入排序冒泡排序冒泡排序是一种易于实现的排序算法, 以升序为例:有n个数, 需要比较n-1轮, 每轮比较数组中相邻的两个数, 前者大就交换两数. 第一轮时, 最大的数就会如冒泡般移向队尾, 下一轮比较就可以少比较一个数.//冒泡排序void bubbleSort(int arr[], int n){ for (int i = 0; i < n-
2016-04-23 18:48:36 370
原创 Dagger2学习之Hello Dagger
Dagger是Square公司的开源项目, 后来被Google fork下来, 继续开发, 诞生了Dagger2. 这个项目的主要作用是依赖注入. 新手觉得一个东西太难学, 主要原因是一下子暴露在太多难以理解的概念中, 无所适从. 而当你用了一遍 因此这一篇博客仅仅使用最简单的应用方式. 对Dagger2有了个最基本的认识之后, 慢慢深入学习就不那么困难.gradle配置先上使用方式, gradle
2016-04-23 18:45:59 367
原创 是时候学习一波Lambda表达式了
是时候学习一波Lambda表达式了Android N预览版的发布, 支持了一些java 8的新特性, lambda表达式算是最重要的新特性之一. 本篇文章将会探讨及使用Lambda表达式, 跟紧Google粑粑的脚步什么是Lambda首先Lambda并不是新鲜事物, 其为java8最重要的新特性之一. 我们Android开发者开始一直用java7, 直到AndroidN的发布终于能过使用Lambda
2016-04-23 18:40:27 517
原创 多渠道打包总结
使用gradle进行多渠道打包基本多渠道打包进阶适配渠道包使用Ant多渠道打包使用python脚本进行多渠道打包使用gradle进行多渠道打包使用Android studio基本多渠道打包以友盟的为例渠道信息一般在 AndroidManifest.xml中修改以下值:<meta-data android:name="UMENG_CHANNEL" android:value="wandouj
2016-04-14 23:23:56 592
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人