- 博客(9)
- 收藏
- 关注
原创 Android崩溃日志收集---CrashHandler,给你自残的理由
使用CrashHandler的目的 测试人员过来告诉你,“你写的代码崩溃了!” “what ? ! 我写的代码怎么可能会崩溃?!你复现一下,污蔑我的话信不信自残给你看” “哎,这次怎么好了,什么情况?” 虽然说这种几率性bug可以晚点解决,但是终归是要解决的,但是复现又有点困难,那怎么办?那就只能使用CrashHandler了 先看如何实现CrashHandler public class Cra...
2019-03-29 17:05:38 5827
原创 进阶之路:Java设计模式---外观模式
外观模式定义: 外部与子系统间进行通信时,需要通过一个统一的外观进行,为子系统的一系列接口提供一个统一的界面。外观模式定义了一个高层接口,这个接口使子系统更易使用。外观模式又称为门面模式,它是一种对象型结构模式。 实现: 客户端发出一条指令:“将大象放进冰箱”; 服务端为了保证代码的单一职责原则,分别定义了三步操作: 1.打开冰箱门; 2.将大象勾引进冰箱; 3.关闭冰箱门; 在不使用外观模式的情...
2019-03-28 14:49:54 142
原创 一天或者几天一个小算法---数列排序方式
/** * 数字排序 */ public class Algorithm5 { /** * 冒泡排序 * 自认为是最简单的一个排序方法,只是拿出一个数,大的放后,小的放前就可以了 * 时间复杂度为O(n2) */ public static int [] sortOfBubble(int [] valueArray){ ...
2019-03-27 14:59:10 182
原创 进阶之路:Java设计模式---适配器模式
适配器模式定义: 适配器模式就是把一个类的接口变为另一个类期望的接口,从而让原来两个因接口不匹配而无法一起工作的两个类能在一起工作 适配器模式: 类适配器模式和对象适配器模式 类适配器模式实现: /** * 目标类 */ public interface Target { void operationOne(); void operationTwo(); } /** *...
2019-03-26 15:51:43 130
原创 一天或者几天一个小算法---Fibonacci(菲波那切)数列
题目 输入n,求出Fibonacci数列第n项的数值 思路 1.Fibonacci数列是什么 F(0) = 0; F(1) = 1; F(n) = F(n-1) + F(n-2) 2.实现开始 Fibonacci数列的第0、1、2项为基础数值,后面所有的数值都由这三个得来,前三个数的值可以判断得出,后续的数值可以使用循环或者递归实现。 public static long getFibonacc...
2019-03-25 17:02:02 211
原创 进阶之路:Java设计模式---Builder模式
什么是Builder模式? 将一个复杂对象的构建与它的表示相分离,使得同样的构建过程可以创建不同的对象。一步一步构建一个复杂的对象,它允许用户只通过指定复杂对象的内容和类型就可以构建他们,用户不需要知道内部的具体构建细节。 有什么特点? 优点: 1.良好的封装性,使用建造者模式可以使客户端不必知道产品内部组成的细节 2.建造者独立,容易扩展 3.在对象的创建过程中会使用到系统中的一些其他对象,这些...
2019-03-25 15:34:36 168
原创 进阶之路:Java设计模式---单例模式
package com.example.administrator.javadesignmode.single_mode; public class SingleInstance { private static SingleInstance singleInstance; private SingleInstance(){} /** * 饿汉式 ...
2019-03-23 16:15:48 137
转载 Android 在不确定后台返回json格式时,如何解析数据
前面一篇文章我介绍了Gson的解析的基本方法。但我们在享受Gson解析的高度封装带来的便利时,有时可能会遇到一些特殊情况,比如json数据中的字段key是动态可变的时候,由于Gson是使用静态注解的方式来设置实体对象的,因此我们很难直接对返回的类型来判断。但Gson在解析过程中如果不知道解析的字段,就会将所有变量存储在一个Map中,我们只要实例化这个map就能动态地取出key和value了。 先给...
2019-03-11 16:48:57 2421
原创 AndroidTimeLine(时间轴)绘制
实现方法 Recyclerview+ItemDecoration 重写ItemDecoration class TimeLineItemDecoration(var context: Context) : RecyclerView.ItemDecoration() { //上下左右的偏移量 var topOffset : Int = dp2px(context , 30) ...
2019-03-07 15:10:37 4209 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人