自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 学习任务

已经学习待总结:1.性能优化相关总结学习中2.线程知识相关学习和总结待学习:数据结构【正在学习中】java虚拟机opengGl复习学习网络知识 tcp和Https,http,socket,网络加密(已经学习,需要总结)跨进程间通信(AIDL Service(bind),ContentProvider)已经学习RecycleView 源码 :...

2019-01-06 16:50:18 1772 3

原创 androidx PreferenceDialogFragmentCompat 和 DialogPreference的配合应用

最近在升级替换使用androidxDialogPreference 的时候,发现androidx 对DialogPreference进行了解耦,之前的数据持久化和Ui的绑定在DialogPreference中就能实现,而现在需要通过PreferenceDialogFragmentCompat和DialogPreference配合才能使用。说实话对preference的应用在做这个升级之前我...

2019-05-08 19:23:28 3900

原创 关于google Calendar Instance 的删除问题

1.问题背景:最近遇到一个问题,就是要删除Calendar Event 的Instance,但是在看官方Api,发现 google并没有提供删除Instance的接口,也就是,你只能差而不能删除Instance链接如下:https://developer.android.com/guide/topics/providers/calendar-provider?hl=zh-cn关系图如下:...

2019-04-24 21:44:42 791 2

原创 Android P 刘海屏适配问题

1.今天在项目中遇到刘海屏适配问题,这边总结一下这次学习到的东西1.首先是 windowlayoutInDisplayCutoutMode 属性:用法:WindowManager.LayoutParams lp = window.getAttributes();lp.layoutInDisplayCutoutMode = WindowManager.LayoutParams.LA...

2019-04-15 20:17:41 3062

原创 Aop事件注入

package inject;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;@Target(ElementType....

2019-04-09 20:11:03 398

原创 【框架】EventBus简单实现

1.SubScribe注解@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)public @interface Subscrible { ThreadMode threadMode() default ThreadMode.MAIN;}2.SubScribeMethod封装public cla...

2019-03-25 21:25:26 195

原创 Glide源码资料

https://www.jianshu.com/p/9d8aeaa5a329

2019-03-22 17:29:00 87

原创 LeakCanary相关资料

https://www.jianshu.com/p/1e7e9b576391https://www.jianshu.com/p/70b8c87ea877https://blog.csdn.net/llew2011/article/details/52089842https://blog.csdn.net/llew2011/article/details/51373243

2019-03-22 14:02:36 92

原创 【数据结构】dijkstra算法计算最短路径

package com.example.meitu.data.graph;import android.util.Log;import java.util.LinkedList;/** * @author zpb * Created by meitu on 2019/3/18. * 最短滤镜算法 */public class DijkstraDemoGraph { ...

2019-03-18 21:18:58 379

原创 【拓扑排序】两种拓扑排序算法

public class Graph { /** * 节点数量 */ public int v; public LinkedList<Integer> adj[]; private Graph(int v) { this.v = v; // 初始化顶点 adj = new Link...

2019-02-23 15:34:11 843

原创 【数据结构】动态规划,求矩阵的最短距离

public class DynamicPlan { public static int getMinDis(int[][] matrix, int n) { int[][] state = new int[n][n]; // 初始化,横向 int sum = 0; for (int i = 0; i < n; i++...

2019-02-23 14:18:55 704

原创 【数据结构】动态规划--经典算法0-1背包问题

public class DynamicPlay { public static int pack(int[] item, int n, int totalWeight) { // 申请一个状态数组 boolean[] state = new boolean[totalWeight + 1]; // 哨兵作用 state[0...

2019-02-18 21:05:39 275

原创 【设计思想】数据的轻量封装

1.今天在做项目的时候,发现一个Bundle数据,因为异步操作的关系,导致了线程不安全修改而崩溃,看了下源码,Bundle,里面的实现是ArrayMap不是线程安全的,如果要解决这个崩溃,要在调用的地方,加锁处理,但是使用的地方太多,很容易加锁错误于是自己就对Bundle,使用装饰模式做了一层简单的封装,public class SaveBundle{ /** * 读...

2019-02-16 15:11:36 155

原创 【数据结构】回溯法--正则表达式匹配算法

public class Pattern { /** * 正则表达式 */ private char[] mPattern; private boolean result = false; /** * 正则表达时长度 */ int mPatternLength; public Pattern(char[...

2019-02-16 15:00:31 404 1

原创 【数据结构】回溯法--8皇后问题

public class EightQueen { private int[] result = new int[8]; // 第n行 private void calEightQueen(int row) { if (row == 8) { printResult(result); return; ...

2019-02-16 14:44:58 131

原创 【数据结构】分治法,利用归并排序求反序对的个数

public class ReserveCount { int count = 0; public int calculateCount(int[] a, int n) { merge(a,n); return count; } private void merge(int a[], int n) { merg...

2019-02-16 14:16:57 297

原创 【数据结构】堆的应用

public class Heap { private int n = 0; private int count = 0; int[] a;// 从角标1开始存储 public Heap(int n) { this.n = n; this.count = 0; a = new int[n]; } ...

2019-02-11 13:54:00 163

原创 【数据结构】树的查找,插入删除

public class TreeSearchUtils { public static void boundarySearch(TreeNode<Integer> treeNode, int data) { TreeNode<Integer> p = treeNode; while (p != null) { ...

2019-01-30 23:01:44 303

原创 AnimViewWrapper -- 对view动画的简单包装

public class AnimViewWrapper<T extends View> { T mTarget; public static final int DIRECTION_TOP = 0x01; public static final int DIRECTION_BOTTOM = 0x02; public static final in...

2019-01-30 14:34:15 239

原创 【数据结构】二叉树---二叉树的三种遍历方法

/** * 先顺遍历,中,左,右 * @param node */ public static void travelTreeFirst(TreeNode node) { if (node == null) { return; } printNode(node); tr...

2019-01-30 14:22:57 251

原创 【数据结构】二分查找拓展

public class BSearchUtils { /** * 二分查找 */ public static void boundarySearch(int[] a, int n, int value) { int low = 0; int high = n - 1; while (low <= high...

2019-01-28 20:04:48 117

原创 【数据结构】查找--二分查找

public class SearchUtils { /** * 二分查找 */ public static void boundarySearch(int[] a, int n, int value) { int low = 0; int high = n - 1; while (low <= high)...

2019-01-28 14:05:18 106

原创 【数据结构】排序--快速排序

public static void quiteSort(int[] a, int low, int high) { if (low > high) { return; } int privot = parttion(a, low, high); quiteSort(a, low, priv...

2019-01-25 16:20:02 119

原创 【数据结构】排序--归并排序

public class SortUtil { /** * 归并排序采用递归 * @param a * @param n */ public static void Sort(int[] a, int n) { printData(a); mergeSort(a, 0, n - 1); pr...

2019-01-24 21:26:03 72

原创 【数据结构】排序--3种简单排序

public class SortUtils { /** * 冒泡排序,稳定算法 最好时间复杂度o(1) o(n2) 平均o(n2) * @param a * @param n */ public static void bunbleSort(int[] a, int n) { if (n == 1) { ...

2019-01-24 13:48:26 210

原创 【数据结构】队列--基于数组实现的循环队列

/** * @author zpb 基于数组实现的循环队列 */public class CircleQueue { String[] mQueue; int head = 0; int tail = 0; int mNumber; public CircleQueue(int number) { mQueue = new Str...

2019-01-22 14:10:37 223

原创 【数据结构学习】链表--基于链表的LruCache实现

public class Node<K, T> { K key; public K getKey() { return key; } public void setKey(K key) { this.key = key; } T value; /** * 下一个节点 ...

2019-01-21 18:38:24 254

原创 仿Recycler Adapter一个数据和UI结合小框架

package com.commsource.uiwrapper;import android.view.View;public abstract class BaseUIDataWrapper<T> { public T data; public ViewHolder holder; protected OnUIGestureListener...

2019-01-17 17:19:32 102

原创 一个简单的MVVM Demo

public class TestActivity extends FragmentActivity { Lifecycle lifecycle; TestViewModel testViewModel; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { ...

2019-01-06 16:41:07 1176

原创 一个小Demo了解,Cavan的坐标旋转平移

package com.example.meitu.testdemo;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.Rect;import...

2019-01-02 23:39:11 287

转载 事件分发机制相关资料

https://www.jianshu.com/p/38015afcdb58

2019-01-02 23:32:33 61

原创 Mvp+clean框架代码

1.首先是UseCasepackage com.example.meitu.cleandemo.base;/** * google useCase框架 */public abstract class UseCase<T extends UseCase.Request, Q extends UseCase.Respose> { /*** * ...

2019-01-02 23:28:10 287

原创 android 启动模式和newIntent

1.android 启动模式主要分为以下四种:1.standard,这是默认的启动模式。用这种启动方式的话,每一次启动一个activity,都会重新创建一个activity ,无论堆栈中是否存在相应的activity.每次创建过后的生命周期 会从oncreate 开始重新执行2.singTop这种启动方式的话,首先会判断启动的activity是否存在与栈顶,如果存在于栈顶的话,这时...

2019-01-02 22:54:41 980

原创 从ThreadLocal到Android消息机制

  我们都知道,android消息机制,大概就是,每个Thread 都有一个 Looper,然后,Looper循环的从MessageQueue 中取出消息,交给handler处理,但是这个这个过程是怎么处理的呢,怎么保证每个线程和线程的绑定,消息的处理机制,消息队列的存取原理是怎么样的呢,今天我们就结合源码看看。1.首先要从一个类,ThreadLocal.我们打开thread的源码会发...

2018-12-15 20:04:41 150

原创 仿GreenDao构建Android room缓存

  之前将GreenDao数据库替换成Room数据库后,虽然表的构建和数据库的升级比以往简单了许多,但是也出现了,一个问题,那就是数据不同步问题,因为GreenDao 是有缓存,而Room数据库是没有缓存的1.比如我们同时调用数据查询方法,根据id 获取两个对像,然后,对其中一个bean 进行update操作,那GreenDao和room分别会走一下流程     GeenDao数据获...

2018-12-11 10:07:35 833

原创 自己整合的Android mvp+singlenet小框架

最近看到了一篇关于阿里何洪辉的singlenet框架,然后自己结合了mvp框架自己架构了一个简单的程序框架,接下去我将以登录模块来说明一下我的这个小框架首先是singlenet的框架,这个框架的知识是照搬书上的//首先是request的抽象类,根据http协议的格式设置response内容package net;import java.io.UnsupportedEncodingE

2017-05-07 16:58:17 726

空空如也

空空如也

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

TA关注的人

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