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

原创 学习任务
已经学习待总结:1.性能优化相关总结学习中2.线程知识相关学习和总结待学习:数据结构【正在学习中】java虚拟机opengGl复习学习网络知识 tcp和Https,http,socket,网络加密(已经学习,需要总结)跨进程间通信(AIDL Service(bind),ContentProvider)已经学习RecycleView 源码 :...
2019-01-06 16:50:18
1982
3
原创 androidx PreferenceDialogFragmentCompat 和 DialogPreference的配合应用
最近在升级替换使用androidxDialogPreference 的时候,发现androidx 对DialogPreference进行了解耦,之前的数据持久化和Ui的绑定在DialogPreference中就能实现,而现在需要通过PreferenceDialogFragmentCompat和DialogPreference配合才能使用。说实话对preference的应用在做这个升级之前我...
2019-05-08 19:23:28
4113
原创 关于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
927
2
原创 Android P 刘海屏适配问题
1.今天在项目中遇到刘海屏适配问题,这边总结一下这次学习到的东西1.首先是 windowlayoutInDisplayCutoutMode 属性:用法:WindowManager.LayoutParams lp = window.getAttributes();lp.layoutInDisplayCutoutMode = WindowManager.LayoutParams.LA...
2019-04-15 20:17:41
3319
原创 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
434
原创 【框架】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
237
原创 LeakCanary相关资料
https://www.jianshu.com/p/1e7e9b576391https://www.jianshu.com/p/70b8c87ea877https://blog.youkuaiyun.com/llew2011/article/details/52089842https://blog.youkuaiyun.com/llew2011/article/details/51373243
2019-03-22 14:02:36
119
原创 【数据结构】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
423
原创 【拓扑排序】两种拓扑排序算法
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
899
原创 【数据结构】动态规划,求矩阵的最短距离
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
784
原创 【数据结构】动态规划--经典算法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
308
原创 【设计思想】数据的轻量封装
1.今天在做项目的时候,发现一个Bundle数据,因为异步操作的关系,导致了线程不安全修改而崩溃,看了下源码,Bundle,里面的实现是ArrayMap不是线程安全的,如果要解决这个崩溃,要在调用的地方,加锁处理,但是使用的地方太多,很容易加锁错误于是自己就对Bundle,使用装饰模式做了一层简单的封装,public class SaveBundle{ /** * 读...
2019-02-16 15:11:36
190
原创 【数据结构】回溯法--正则表达式匹配算法
public class Pattern { /** * 正则表达式 */ private char[] mPattern; private boolean result = false; /** * 正则表达时长度 */ int mPatternLength; public Pattern(char[...
2019-02-16 15:00:31
449
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
167
原创 【数据结构】分治法,利用归并排序求反序对的个数
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
339
原创 【数据结构】堆的应用
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
208
原创 【数据结构】树的查找,插入删除
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
347
原创 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
270
原创 【数据结构】二叉树---二叉树的三种遍历方法
/** * 先顺遍历,中,左,右 * @param node */ public static void travelTreeFirst(TreeNode node) { if (node == null) { return; } printNode(node); tr...
2019-01-30 14:22:57
294
原创 【数据结构】二分查找拓展
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
154
原创 【数据结构】查找--二分查找
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
142
原创 【数据结构】排序--快速排序
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
154
原创 【数据结构】排序--归并排序
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
107
原创 【数据结构】排序--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
249
原创 【数据结构】队列--基于数组实现的循环队列
/** * @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
266
原创 【数据结构学习】链表--基于链表的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
285
原创 仿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
133
原创 一个简单的MVVM Demo
public class TestActivity extends FragmentActivity { Lifecycle lifecycle; TestViewModel testViewModel; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { ...
2019-01-06 16:41:07
1229
原创 一个小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
339
原创 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
323
原创 android 启动模式和newIntent
1.android 启动模式主要分为以下四种:1.standard,这是默认的启动模式。用这种启动方式的话,每一次启动一个activity,都会重新创建一个activity ,无论堆栈中是否存在相应的activity.每次创建过后的生命周期 会从oncreate 开始重新执行2.singTop这种启动方式的话,首先会判断启动的activity是否存在与栈顶,如果存在于栈顶的话,这时...
2019-01-02 22:54:41
1045
原创 从ThreadLocal到Android消息机制
我们都知道,android消息机制,大概就是,每个Thread 都有一个 Looper,然后,Looper循环的从MessageQueue 中取出消息,交给handler处理,但是这个这个过程是怎么处理的呢,怎么保证每个线程和线程的绑定,消息的处理机制,消息队列的存取原理是怎么样的呢,今天我们就结合源码看看。1.首先要从一个类,ThreadLocal.我们打开thread的源码会发...
2018-12-15 20:04:41
195
原创 仿GreenDao构建Android room缓存
之前将GreenDao数据库替换成Room数据库后,虽然表的构建和数据库的升级比以往简单了许多,但是也出现了,一个问题,那就是数据不同步问题,因为GreenDao 是有缓存,而Room数据库是没有缓存的1.比如我们同时调用数据查询方法,根据id 获取两个对像,然后,对其中一个bean 进行update操作,那GreenDao和room分别会走一下流程 GeenDao数据获...
2018-12-11 10:07:35
908
原创 自己整合的Android mvp+singlenet小框架
最近看到了一篇关于阿里何洪辉的singlenet框架,然后自己结合了mvp框架自己架构了一个简单的程序框架,接下去我将以登录模块来说明一下我的这个小框架首先是singlenet的框架,这个框架的知识是照搬书上的//首先是request的抽象类,根据http协议的格式设置response内容package net;import java.io.UnsupportedEncodingE
2017-05-07 16:58:17
769
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人