自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(87)
  • 资源 (2)
  • 收藏
  • 关注

原创 OkHttp原理复习

OkHttp原理解析OkHttp 3.10.0版本,最新OkHttp为:4.0.1逻辑与3版本并没有太大变化,但是改为kotlin实现。OkHttp介绍OkHttp是当下Android使用最频繁的网络请求框架,由Square公司开源。Google在Android4.4以后开始将源码中的HttpURLConnection底层实现替换为OKHttp,同时现在流行的Retrofit框架底层同样是使用OKHttp的。优点: 支持Spdy、Http1.X、Http2、Quic以及WebSoc

2020-12-23 14:43:34 209

原创 十大排序复习(下篇)

6.堆排序许多应用程序都需要处理有序的元素,但不一定要求他们全部有序,或者不一定要一次就将他们排序,很多时候,我们每次只需要操作数据中的最大元素(最小元素),那么有一种基于二叉堆的数据结构可以提供支持。所谓二叉堆,是一个完全二叉树的结构,同时满足堆的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。在一个二叉堆中,根节点总是最大(或者最小)节点。,这就是一个典型的二叉堆。堆排序算法就是抓住了这一特点,每次都取堆顶的元素,然后将剩余的元素重新调整为最大(最小)堆,依次类推,最终得到排序的序列

2020-12-16 15:49:00 157

原创 排序算法复习(上篇)

排序算法概述排序就是将一组对象按照某种逻辑顺序重新排列的过程。比如,订单按照日期排序的——这种排序很可能使用了某种排序算法。在计算时代早期,大家普遍认为30% 的计算周期都用在了排序上。如果今天这个比例降低了,可能的原因之一是如今的排序算法更加高效,而并非排序的重要性降低了。现在计算机的广泛使用使得数据无处不在,而整理数据的第一步通常就是进行排序。几乎所有的计算机系统都实现了各种排序算法以供系统和用户使用。即使你只是使用标准库中的排序函数,学习排序算法仍然有三大实际意义: IT从业人员必备技能

2020-12-13 10:25:14 224

原创 九宫格抽奖实现

2.睡了一觉第二天我觉得不合适太消耗内存了,性能了怎么办呢,我就用移动布局的办法实现了一个。3.到了周六日没事了,我说在改改吧,后来我用动画实现了一拨。当然下面肯定也是几个texview没有自定义,因为消耗性能。我在网上找了半天都是直接自定义画的,要么性能卡的,要么大家可以自己看看都不太行,package com.aquarius.customview;import andr...

2019-11-22 16:28:13 371

原创 Android 动画

Android 动画View Animation(视图动画)概述:视图动画,也叫 Tween (补间)动画可以在一个视图容器内执行一系列简单变换(位置、大小、旋转、透明度)。 譬如,如果你有一个 TextView 对象,您可以移动、旋转、缩放、透明度设置其文本,当然,如果它有一个背景图像,背景图像会随着文本变化。补间动画通过 XML 或 Android 代码定义,建议使用 XML ...

2019-10-18 16:28:21 143

原创 公告栏目纵向滚动

ViewFlipper是这安卓自带一个主键来实现这个效果,下面是实现方式public class UPMarqueeView extends ViewFlipper { private Context mContext; private boolean isSetAnimDuration = false; private int interval = 3000; ...

2019-10-09 18:00:29 196

原创 公告栏目纵向滚动

ViewFlipper是这安卓自带一个主键来实现这个效果,下面是实现方式public class UPMarqueeView extends ViewFlipper { private Context mContext; private boolean isSetAnimDuration = false; private int interval = 3000; /**...

2019-09-29 14:12:00 117

原创 Android的自定义视图

概述安卓开发进阶的必经之路为什么要自定义视图自定义视图的基本方法自定义查看的最基本的三个方法分别是:onMeasure(),onLayout(),onDraw(); 查看在活动中显示出来,要经历测量,布局和绘制三个步骤,分别对应三个动作:测量,布局和平局。 测量:onMeasure()决定查看的大小; 布局:onLayout()决定查看在一个ViewGroup中的...

2019-06-13 17:47:04 718

原创 Android自定义View

Android自定义View概述Android开发进阶的必经之路为什么要自定义View自定义View的基本方法自定义View的最基本的三个方法分别是: onMeasure()、onLayout()、onDraw();View在Activity中显示出来,要经历测量、布局和绘制三个步骤,分别对应三个动作:measure、layout和draw。测量:onMeasure()决定View的大小;...

2019-06-12 09:31:00 85

原创 Binder几个问题

1.什么binder?2.为什么要选择binder?3.binder工作原理?4.aidl原理是什么?、5.Binder机制 在Android中的具体实现原理?6.ams跟binder关系?7.插件话跟binder关系?AIDL用法: 定义一个AIDL文件类似于定义接口类型,这个AIDL文件将在本地和远端都要使用到interface IMyAidlInterface { void b...

2019-05-28 15:23:00 480

原创 注解

注解的定义Java 注解用于为 Java 代码提供元数据。作为元数据,注解不直接影响你的代码执行,但也有一些类型的注解实际上可以用于这一目的。Java 注解是从 Java5 开始添加到 Java 的。注解即标签如果把代码想象成一个具有生命的个体,注解就是给这些代码的某些个体打标签如何自定义注解 注解通过 @interface关键字进行定义。 public @interf...

2019-05-13 14:23:46 189

原创 注解知识

注解的定义Java 注解用于为 Java 代码提供元数据。作为元数据,注解不直接影响你的代码执行,但也有一些类型的注解实际上可以用于这一目的。Java 注解是从 Java5 开始添加到 Java 的。注解即标签如果把代码想象成一个具有生命的个体,注解就是给这些代码的某些个体打标签如何自定义注解注解通过 @interface关键字进行定义。public @interface Test {}它的形...

2019-05-13 14:15:00 145

原创 java基础一些算法(第三篇)

展开全部的时候展开所有。这个效果大家有什么想法。1.一种方法是直接自定义Textview来写。2.第二种是直接自定义view来写,但是太麻烦3.算好字体一行显示几个五行的时候加展开全部,点击的时候我们在把Tesxtview设置setLine很多行4.当时候我我想过这几种都感觉麻烦,估计小伙伴也有这样的想法后来我想到一个办法,就是用俩个textview隐藏显示,然后在配合SpannableStr...

2019-04-30 15:54:00 90

原创 Dart配置第二篇

苹果配置flutter1、cd ~2、open -e .bash_profile3、如果不存在文件 —> touch .bash_profile 如果存在可以编辑这个文件4、在文件最上边加上 export FLUTTER_HOME=XXXXX #这里是你存放Flutter的目录 export PATH=${PATH}:${FLUTTER_HOME}/bin5、保存...

2019-03-05 16:11:00 124

原创 移动开发新利器-你好,Flutter

1、移动开发新利器-你好,Flutter1、移动开发新利器-你好,Flutter为什么选择Flutter?Dart语言1、AOT与JIT2、单线程模型3、垃圾回收4、无需单独的声明式布局语言环境搭建为什么选择Flutter? 移动端跨平台一直是开发者老生常谈的话题,为了尽可能的增加代码复用,降低开发成本以及贴合原生性能。各大科技巨头都有自己的跨平台框架比如 Facebook 的 React-N...

2019-02-14 14:23:00 94

原创 推送集成

今天做了需求要推送达到90%我就开始集成,这一集成就开始入坑了,唉,妈的真心真心是个坑,我开始集成一家,激光推送,结果收到到时可以收到了,但是app杀死不行,测试说了这怎么行,产品说了我要把这些数据保存起来,草这是又添加一个需求我擦,让我歇会。2.我又默默集成了小米...

2018-12-04 16:42:00 76

原创 <shape>和<selector>和<layer-list>

总结<shape>和<selector>和<layer-list><shape>和<selector>在美化控件中的作用是至关重要。1.Shape简介作用:XML中定义的几何形状位置:res/drawable/文件的名称.xml使用的方...

2018-10-25 12:03:00 73

原创 java中的流

1.其实流很简单,就那么几个类,几个方法,我呢记录一下方便大家忘记的时候可以直接一目了然看到FileInputStreamFileOutputStream上面是字节流,字节流是万能的什么都可以用,那既然有万能的了干嘛还要有下面的,为了速度,所以就有下面的转换流,安字符读取FileReaderFileWriter那问题来了我们不同编译器可能有不能编码格式,gbk,utf-8等怎么办呢,这就...

2018-08-21 11:50:00 70

原创 AES加密编码格式用base64

1.今天我有个朋友说他们公司用上面这个加密跟编码的,但是他解析出来老是乱码,然后我就看了看帮他改了改,记录一下,顺便有朋友也遇到这样问题的时候可以看看,代码如下:** * 项目名称 FileOutputStreamClass * 包名 otouzi.com.fileoutputstreamclass * 类名 AESBase * 时间 2018/8/17 */public class AESB...

2018-08-17 13:44:00 3004

原创 androidstudio突然不能导包

1.今天说个奇怪的事,我突然不能导包view下面的包了,必须的手动导包 ,各种关闭,初始化androidstuio,后来我发现了问题androidstudio把他当做默认值了,不是系统值了所以,这种不报错的问题,那怎么改呢,你只要收自动导包就可以百度,那个绿色加号下面就会出现,你可以删除掉,就可以了。2.我在谈谈自定义的问题,我写了一个翻页,一个表盘,最简单的那种等,让不会自定义你,也可以学会...

2018-08-01 14:13:00 448

原创 android弹框重要性

一个首页为了一个弹框,做的判断 ,我有时候搞不明白,为啥不好好优化投资等重要业务,非要整一些没有用的,大家看看这样判断换你们你们怎么判断,怎么做能做的更好。我存数据没有用数据库,我用SharePreference,但是大家知道他不能存集合怎么呢,我把一些麻烦的写出来,/** * 设置json进去 * * @param datalist */private void setCateg(List&...

2018-06-25 10:00:00 60

原创 java基础(集合)

集合我是这样理解跟学习的:1,我把所有集合都写出来了:Collection<String>collectio=new ArrayList<>();List<String>array=new ArrayList<>();LinkedList<String>linkedList=new LinkedList<>();Map&l...

2018-06-13 10:31:00 50

原创 java基础(Stirng,StringButtfer,StringBuilder,int Integer)

其实在安卓中对于java需求没有很复杂,但是现在面试看中java基础很多,例如反射,等这些安卓上实际用的少,很少,但是你想真心懂java,我还是建议大家把java基础在看看,要看培训后台那种java基础,这样你收获会很多的。下面我说一下String,这个我们比较常用String:1.String类的概念和不变性API中的String类的描述,发现String 类代表字符串Java 程序中的所...

2018-05-23 11:02:00 151

原创 java基础(2)

我认为回答比较好的文章String 是 Java 语言非常基础和重要的类,提供了构造和管理字符串的各种基本逻辑。它是典型的 Immutable 类,被声明成为 final class,所有属性也都是 final 的。也由于它的不可变性,类似拼接、裁剪字符串等动作,都会产生新的 String 对象。由于字符串操作的普遍性,所以相关操作的效率往往对应用性能有明显影响。StringBuffer 是为...

2018-05-16 13:33:00 55

原创 java基础好好琢磨东西(1)

谈谈 final、finally、 finalize 有什么不同?final 可以用来修饰类、方法、变量,分别有不同的意义,final 修饰的 class 代表不可以继承扩展,final 的变量是不可以修改的,而 final 的方法也是不可以重写的(override)。finally 则是 Java 保证重点代码一定要被执行的一种机制。我们可以使用 try-finally 或者 try-cat...

2018-05-14 09:45:00 64

原创 安卓问题

今天突然程序不能运行了,说有重复类引运,真是突然,平常运行好好好,奇怪奇怪,然后我就打开下面看确实v4有重复。然后我就删除了,在然后就报了一个新的错误,说umeng多次引用,后来我发现是groovy问题,后来我就删除v4清楚,重新编译,好了,看来学习groovy学习是必须的,要不你在打包跟编译出问题的时候不知道该怎么办了,慕课网有一个groovy,我网盘也有一个免费的,有需要的可以联系我,我给...

2018-05-07 11:07:00 43

原创 java基础一些算法(第三篇)

我们由简单到复杂来说,我呢就是希望大家也能复习复习,1.跟换数组元素,前后颠倒 private void setSourt() { int[] sourt = {5, 6, 4, 8, 7}; int max = sourt.length - 1; int min = 0; int temp; for (min = 0; min < max; min...

2018-04-27 11:15:00 73

原创 java基础一些算法(第二篇)

今天上博客里多了一个心的图标,感谢安卓巴士给的这个肯定图标,我们接着上次,首先我开篇想问问大家几个java基础实现案例,大家也可以默默的打印跟自己看看自己会写不,都不是很难的问题,1.奇数和,偶数和, int sum=0;public void setSout(){ for (int j = 0; j <100 ; j++) { if (j%2==1){ ...

2018-04-24 13:33:00 60

原创 java最简单算法

最近我发现自己java基础还是有点差,工作这么多年发现问题,越到后面月注重反而是最基础东西,于是我就给自己定了目标,每天七点上班,六点坐车,上班前多学习俩个小时,当我在一次看java基础的时候我发现了很多我以前没有注意细节,跟我以前不太理解东西,现在自然就懂了。我明白以前我老师说的一句话了,当你要学习第二门语言的时候你就懂了,现在多么舒服了,第二门语言是最难的,当你学会第二门语言的时候学习第三...

2018-04-19 15:12:00 97

原创 面试题

1.插件化你认为最难处理的是什么?A。插件类加载,、B。插件跟宿主通讯C。宿主跟插件通讯D。插件的四大主键生命周期的管理2.插件化开发有那些优势?A。宿主跟插件分开编译B。宿主跟插件并行开发C。插件中功能加载速度更快D。解决方法数爆破问题3.系统@hide的作用是什么?禁止开发者使用的,隐藏api4.插件中activity为啥不能正常使用this上下文?安装app会给上下文,但是没有安卓app...

2018-04-09 11:06:00 52

原创 组建化开发(基础)

我们听过很多人说,我们项目怎么分,怎么开发,我觉的大概有这么几种吧,模块开发,你负责这个模块,我负责那个模块,还有就是下面这个组件化开发,我主要讲组件化开发,这个比较流行现在也比较方便,对了还有一个叫插件化,大家别混淆了,组件化,故名思议,我的理解是,每个人负责是一个库,同事这个库也可以想自己运行也能成为一个app,那么怎么实现呢,其实我们要看我们主的app他是怎么实现的,通过对比他我们就可以...

2018-03-27 16:06:00 82

原创 换肤

最近我觉得是该学习学习架构了,开始学习架构那我们必须学习五个知道,第一个肯定UML工具的使用和建模 这样方便我们写需求第二个五大创建型模式第三个 反射第四个 泛型第五个 map,list数组结合必须特别了解 我就拿最近做个一个功能换肤功能换肤:一听这个大家会怎么想,第一 有的可能会...

2018-03-23 09:36:00 107

原创 Notification适配8.0

今天突然测试说app不能升级了,我看了看原来是我升级androidstuido,默认版本升级了,索性就做个适配把,其实问题就俩个第一个是声音在NotificationChannel 中设置,不是在原来的Notification中设置了,还有一个问题是在创建Notification前先把NotificationChannel创建出来,还有一个问题是,升级app需要多添加一个权限,允许...

2018-02-01 10:08:00 60

原创 Notification适配8.0

今天突然测试说app不能升级了,我看了看原来是我升级androidstuido,默认版本升级了,索性就做个适配把,其实问题就俩个第一个是声音在NotificationChannel 中设置,不是在原来的Notification中设置了,还有一个问题是在创建Notification前先把NotificationChannel创建出来,还有一个问题是,升级app需要多添加一个权限,允许外来

2018-01-31 17:05:55 460

原创 Proguard设置

Proguardandroidapp一般大部分的逻辑是使用java来开发,java编译出来class之后,再由dx工具编译出dex才能运行在dvm上。所以正常来说一个app大部分的代码是在dex中,对于dex的安全问题,一直是android开发员重视的问题。我们可能用过dex2jar、jadx、enjarify等等工具来反编译dex,我们在看别家app的代码的时候,心里肯定会想到自己写的ap...

2018-01-23 13:57:00 139

原创 在线接口文档和代码托管平台

ir.im - 免费应用内测托管平台|iOS应用Beta测试分发|Android应用内测分发https://fir.im/小幺鸡,简单好用的接口文档管理工具http://www.xiaoyaoji.cn/淘宝出品的RAP文档托管平台,开源的,打开之后有详细配置文档,照着做就ok了http://rapapi.org/platform/home.do码市,代码托管平台https://coding....

2018-01-23 10:09:00 345

原创 工厂模式

public class Test { /** * 线程机制为了提高运行效率,当一个线程在不断的访问一个变量 * 线程会使用一个私有空间 存储这个变量 * * volatile 关键字 易变变量 * 专门修饰被不同线程访问和修改的变量 * 让线程访问这个变量 每次都从变量原地址读取 * @param args */ p...

2018-01-19 17:48:00 55

原创 仿照ios回弹

公司需要需求上面跟这篇俩都是,适合刚学自定义同学,/** * zhao */public class MyScrollView extends ScrollView { //要操作View private View mInnerView; private float y; private Rect normal = new Rect(); private bool...

2018-01-19 15:42:00 63

原创 自定义圆环

今天公司用到一个这东西就写了一个,/** * Created by T410-2 on 2018/1/18. * 我们选取的位置都是已0,0点开始, * 然后来画图,最后画的图的位置是由我们布局, * 或者自身在把他移动到任何位置上; */public class BroudProgress extends View { private Paint mPaint=new Paint();...

2018-01-19 15:39:00 79

原创 布局优化

布局优化UI是用户感知与交互的第一也是唯一的途径,是影响用户体验最关键的一部分。每一个写在布局中的组件都需要初始化,进行布局,绘制的过程。如果在ViewGroup里面有很深的子控件层级,或者有不必要的子控件,这样的布局文件会使得程序变卡,性能降低。首先布局文件我们需要牢记:1、       布局层级越少越好2、       布局中控件数越少越好能肯定的是需要测量与绘制的控件越少

2018-01-08 16:41:56 708

LotteryViewmaster.zip

三种实现九宫格抽奖实现方案,你可以自定义你想效果,你也可以随机改变里面图片,你更可以刷新接口,你想怎么都可以, 动画部分跟移动一样道理我就没有改了 我觉的看懂了移动的,动画的大家可以解决

2019-11-22

LSN4Paintui.rar

自定义基础掌握16种模式实现步骤跟图片,学习自定义前可以先学会这几种模式

2019-10-10

空空如也

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

TA关注的人

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