Nothing

I like coding , haha , and I also like joking

SimplePhotoPicker:调用系统相机、相册的轻量框架

# SimplePhotoPicker 一个进入相册,调用相机的**可高度定制化**的框架,持续维护中… 效果图 ———– 那些你所担心但是已经帮你解决的问题 1.Android6.0**隐私权限**请求...

2018-09-13 17:25:50

阅读数 181

评论数 0

Android崩溃日志收集---CrashHandler,给你自残的理由

使用CrashHandler的目的 测试人员过来告诉你,“你写的代码崩溃了!” “what ? ! 我写的代码怎么可能会崩溃?!你复现一下,污蔑我的话信不信自残给你看” “哎,这次怎么好了,什么情况?” 虽然说这种几率性bug可以晚点解决,但是终归是要解决的,但是复现又有点困难,那怎么办?那就只能...

2019-03-29 17:05:38

阅读数 34

评论数 0

进阶之路:Java设计模式---外观模式

外观模式定义: 外部与子系统间进行通信时,需要通过一个统一的外观进行,为子系统的一系列接口提供一个统一的界面。外观模式定义了一个高层接口,这个接口使子系统更易使用。外观模式又称为门面模式,它是一种对象型结构模式。 实现: 客户端发出一条指令:“将大象放进冰箱”; 服务端为了保证代码的单一职...

2019-03-28 14:49:54

阅读数 22

评论数 0

一天或者几天一个小算法---数列排序方式

/** * 数字排序 */ public class Algorithm5 { /** * 冒泡排序 * 自认为是最简单的一个排序方法,只是拿出一个数,大的放后,小的放前就可以了 * 时间复杂度为O(n2) */ public stat...

2019-03-27 14:59:10

阅读数 25

评论数 0

进阶之路:Java设计模式---适配器模式

适配器模式定义: 适配器模式就是把一个类的接口变为另一个类期望的接口,从而让原来两个因接口不匹配而无法一起工作的两个类能在一起工作 适配器模式: 类适配器模式和对象适配器模式 类适配器模式实现: /** * 目标类 */ public interface Target { void ...

2019-03-26 15:51:43

阅读数 27

评论数 0

一天或者几天一个小算法---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项为基础数值,后面所有的数值都由这三个得来,前三...

2019-03-25 17:02:02

阅读数 32

评论数 0

进阶之路:Java设计模式---Builder模式

什么是Builder模式? 将一个复杂对象的构建与它的表示相分离,使得同样的构建过程可以创建不同的对象。一步一步构建一个复杂的对象,它允许用户只通过指定复杂对象的内容和类型就可以构建他们,用户不需要知道内部的具体构建细节。 有什么特点? 优点: 1.良好的封装性,使用建造者模式可以使客户端...

2019-03-25 15:34:36

阅读数 27

评论数 0

进阶之路:Java设计模式---单例模式

package com.example.administrator.javadesignmode.single_mode; public class SingleInstance { private static SingleInstance singleInstance; ...

2019-03-23 16:15:48

阅读数 35

评论数 0

Android 在不确定后台返回json格式时,如何解析数据

前面一篇文章我介绍了Gson的解析的基本方法。但我们在享受Gson解析的高度封装带来的便利时,有时可能会遇到一些特殊情况,比如json数据中的字段key是动态可变的时候,由于Gson是使用静态注解的方式来设置实体对象的,因此我们很难直接对返回的类型来判断。但Gson在解析过程中如果不知道解析的字段...

2019-03-11 16:48:57

阅读数 177

评论数 0

AndroidTimeLine(时间轴)绘制

实现方法 Recyclerview+ItemDecoration 重写ItemDecoration class TimeLineItemDecoration(var context: Context) : RecyclerView.ItemDecoration() { //...

2019-03-07 15:10:37

阅读数 223

评论数 0

RxJava+Retrofit框架中多种操作符解释

转自:http://www.jianshu.com/p/2b0aeb6b6b61 从年前一两个月开始,就开始慢慢接触RxJava+Retrofit,针对以往开发中遇到的情况,慢慢写了一个框架Demo。文章不在进行入门介绍,需要了解的同学,可以查看笔者总结的文章RxJava、Retrofit 分割R...

2018-12-13 11:38:09

阅读数 174

评论数 0

android 两数相除,保留两位及多位小数

/** * valueOne:除数 * valueTwo:被除数 * scale:保留几位小数 */ fun divide(valueOne: Int, valueTwo: Int, scale: Int): Double { ...

2018-12-11 10:50:02

阅读数 310

评论数 0

Retrofit添加拦截器报错:must call proceed() exactly once

这是因为你的OkHttpClient.Builder调用的addNetworkInterceptor方法添加的拦截器,这种方式添加的拦截器里面的Chain只能调用一次proceed方法,如果想调用多次,你的拦截器就要用addInterceptor方法添加,就没问题了 ...

2018-12-07 17:35:16

阅读数 126

评论数 0

GridLayoutManager中setSpanSizeLookup()的基本操作,实现布局多样化

效果图 上面布局格式为1-2-1-2,你可以使用itemtype做多布局,但是还有一种更简单的方法就是使用GridLayoutManager的setSpanSizeLookup()函数 代码如下 适配器和布局文件的代码就不贴出了,只贴出关键代码 private void initVie...

2018-11-15 15:27:04

阅读数 802

评论数 3

android 手机分辨率与DPI对照表

分辨率对应DPI ldpi QVGA (240×320) mdpi HVGA (320×480) hdpi WVGA (480×800),FWVGA (480×854) xhdpi 720P(1280*720) xxhdpi 1080p(1920*1080 ) xxxhdpi 4K(384...

2018-11-09 15:58:49

阅读数 2885

评论数 0

AtomicBoolean的介绍与使用

      AtomicBoolean是java.util.concurrent.atomic包下的原子变量,这个包里面提供...

2018-11-09 11:59:06

阅读数 46

评论数 0

一个小Demo来理解关于IPC(进程间通信)中的aidl

项目地址: Server端代码:Server端代码链接 Client端代码:Client端代码链接 1、IPC的基本要求 IPC(Inter-Process Communication)进程间通信是要在两个相互独立的进程之间进行信息的传递,在Android中每个进程都会被分配一个独立的虚拟...

2018-10-29 15:45:13

阅读数 43

评论数 0

Android canvas.save()与canvas.restore()的使用总结

含义 canvas.save(); 画布将当前的状态保存 canvas.restore(); 画布取出原来所保存的状态 使用 canvas.save();与canvas.restore();一般结合使用,.save()函数在前,.restore()函数在后,用来保证在这两个函数之间所做...

2018-10-10 17:17:36

阅读数 1667

评论数 0

Android饼状图绘制

效果图 代码 https://github.com/269138004/PieChartsView 说明 有时间再补充

2018-10-09 16:10:41

阅读数 213

评论数 0

ModeMVC:在activity中堆代码就叫做MVC吗?

首先,看看这是不是自己 现在Android编程中如果在你没有特别认真设计框架,没有认真考虑面向对象的六大原则对编程重要性的时候,我们一般都是认为自己使用的是MVC的框架模式。但是你使用的真的是MVC吗?还是只是单纯的在activity中堆代码?如果是后一种情况,那么MVC框架的M,V,C这三层到...

2018-09-26 16:51:58

阅读数 73

评论数 0

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