自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 资源 (3)
  • 问答 (4)
  • 收藏
  • 关注

原创 RxJava的消息发送和线程切换

RxJava相信大家都非常了解吧,今天分享一下RxJava的消息发送和线程源码的分析。最后并分享一个相关demo,让大家更加熟悉我们天天都在用的框架。##消息订阅发送首先让我们看看消息订阅发送最基本的代码组成: Observable observable = Observable.create(new ObservableOnSubscribe<String>() { ...

2018-11-02 11:51:24 424

翻译 kotlin基础语法

最近在学kotlin,这是本人看菜鸟教程后所做的笔记,很多会内容和菜鸟教程重复,仅供参考基础语法包声明//类在包的位置package com.demo.mainimport java.util.*函数定义函数定义使用关键字 fun,参数格式为:参数 : 类型fun printSum(a: Int,b: Int){ println(a+b)}无返回值的函数publ...

2018-10-18 17:10:52 174

原创 NestedScrolling机制之CoordinatorLayout.Behavior实战

在上一讲中我们讲了NestedScrolling机制,其实android很多有些常用的控件都是支持NestedScrolling机制的,如RecyclerView,NestedScrollView等,public class RecyclerView extends ViewGroup implements ScrollingView, NestedScrollingChild2{}publ...

2018-09-28 20:41:44 289

原创 Android NestedScrolling机制

NestedScrolling机制现在在App的作用越来越重要,许多很漂亮的交互都是基于NestedScrolling机制进行完成的。NestedScrolling机制主要是能够让父View和子View在滚动时互相协调配合。其中有两个重要的类,分别是:接口类NestedScrollingParent(最新:NestedScrollingParent2)NestedScrollingChil...

2018-09-25 20:56:11 609

原创 制作支持View,图片轮播的Banner

之前有一个项目中有用到轮播,不过不是简单的轮播图片就完了,而是要轮播很多个View,一开始我的想法和大家一样在github在一个算了,哈哈,不过在试用了很多个项目之后都觉得不能完全满足我的需求,大部分还是针对于图片轮播的场景,所以是时候自己搞一个既支持图片,也支持各种自己定义的View,也支持fragment,同时也可以选择不同实现方式的指示器或者干脆去掉,适应个各种需求场景。 这就是他的效...

2018-09-07 11:31:09 377

原创 自定义View之雷达图

好久没有写过自定义的文章,这次重拾这方面的内容,从雷达图开始。首先看一下效果图: 这就是大概的效果图了,下面我们就一一讲解吧。首先为了看的懂,我会把所以变量贴出来,以防止看代码段的时候大家不知其意思:private Paint mBroadPaint = new Paint();//边private Paint mMarkEasePaint = new Paint();//数值...

2018-08-09 14:05:08 339

原创 刨解OkHttp之缓存机制

时间一晃而过,今天想给大家带来OkHttp的zuihou最后一篇文章,主要讲一下OkHttp的缓存机制。OkHttp的责任链中有一个拦截器就是专门应对OkHttp的缓存的,那就是CacheInterceptor拦截器。CacheInterceptor其对应的方法如下,我们就从这个方法讲起:public Response intercept(Chain chain) throws...

2018-07-16 09:29:24 538

原创 刨解OkHttp之访问连接

因为OkHttp能讲的东西太多了,上一篇文章只是讲到了他的设计架构即责任链模式和异步多线程网络访问,这对于OkHttp只是冰山一角,对于一个网络请求框架,最重要的就是网络访问了,为此我们来说一下Okttp网络访问的一些细节。这个访问分为两个部分,一个部分是与服务器形成连接,另一个部分是与服务器进行交互。与服务器连接的是ConnectInterceptor拦截器,而与服务器交互的是CallSer...

2018-05-23 19:47:58 273

原创 解刨OkHttp框架

继AsyncTask,又把手术刀指向OkHttp,有时候解析源码会上瘾。因为源码里包含的东西仿佛就是组成计算机世界的砖头,水分,只要有这些东西,就可以保罗万物,无招胜有招。又说多了,开始吧首先okhttp的依赖是:compile 'com.squareup.okhttp3:okhttp:3.8.1'我就是根据这里的源码进行解析的。再来也很简单,就是最简单的OkHttp的同步和异...

2018-05-23 19:47:25 210

原创 AsyncTask源码深入解析

最近想写一篇关于源码解析的文章,发现AsyncTask代码量不多,可里面的东西却是很值得学习的,所以故那这来“开刀”首先作为Android开发者我们对于AsyncTask想必比大家都知道吗,大白话讲就是在后台执行耗时任务再把最终的结果返回主线程更新UI。如下代码就它的模板代码:class MyAsyncTack extends AsyncTask<Void(传入参数),Strin...

2018-05-07 15:42:54 269

原创 React Native与Android 原生通信

我们用React Native 做混合开发的时候免不了要原生和React Native 进行通信交互,这篇文章就是分享原生模块与JS传递数据的几种方式。总的步骤可以分为如下几点: 1. 在原生端定义Module类,继承ReactContextBaseJavaModule,在Module类里,定义交互的方法. 2. 定义Package类,继承ReactPackage,将Module实例添加到...

2018-04-27 13:50:58 366

原创 疯狂java笔记之常用的内部排序

排序的基本概念在计算机程序开发过程中,经常需要一组数据元素(或记录)按某个关键字进行排序,排序完成的序列可用于快速查找相关记录。排序概述排序是程序开发中一种非常常见的操作,对一组任意的数据元素(或记录)经过排序操作后,就可以把它们变成一组关键字排序的有序序列。假设含有n个记录的序列为{R1,R2,…,Rn},其相应的关键字序列为{K1,k2,…,kn}。将这些记录重新排序为{Ri1,Ri2,…,Ri

2017-09-06 01:02:07 255

原创 疯狂java笔记之树和二叉树

树的概述树是一种非常常用的数据结构,树与前面介绍的线性表,栈,队列等线性结构不同,树是一种非线性结构1.树的定义和基本术语计算机世界里的树,是从自然界中实际的树抽象而来的,它指的是N个有父子关系的节点的有限集合。对于这个有限的节点集合而言,它满足如下条件: - 当N=0时,改节点集合为空,这课树也被称为空树 - 在任意的非空树中,有且仅有一个根(root)节点 - 当N>1时,除根节点以外的其

2017-08-28 16:41:18 345

原创 疯狂java笔记之栈和队列

栈栈的英文单词是Stack,它代表一种特殊的线性表,这种线性表只能在固定一端(通常认为是线性表的尾端)进行插入,删除操作。栈的基本定义栈是一种数据结构,它代表只能在某一端进行插入,删除操作的特殊线性表,通常就是在线性表的尾端进行插入,删除操作。对于栈而言,允许进行插入,删除操作的一端被称为栈顶(top),另一端咋被称为栈底(bottom)。对于一个栈不包含任何元素,那么这个栈就被称为空栈。 从栈顶

2017-08-24 11:31:24 347

原创 疯狂java笔记之线性表

从数据的逻辑结构来分,数据元素之间存在的关联关系被称为数据的逻辑结构。归纳起来,应用程序中的数据大致哟如下四种基本的逻辑结构。集合:数据元素之间只有“同属于一个集合”的关系线性结构:数据元素之间存在一个对一个的关系树形结构:数据元素之间存在一个对多个的关系图状结构或网状结构:数据元素之间存在多个对多个关系 对于数据不同的逻辑结构,在底层通常有两种物理存储结构。顺序存储结构链式存储结构

2017-08-22 17:01:21 302

原创 疯狂Java笔记之面向对象的陷阱

instanceof运算符的陷阱instanceof是一个非常简单的运算符。instanceof运算符的前一个操作数通常是一个引用类型的变量,后一个操作数通常是一个类(也可以是接口,可以把接口理解成一个特殊的类),他用于判断前面的对象是否是后面的类或其子类,实现类的实例。如果是,则返回true,否则,返回false.String obj="Java";obj instanceof Math上面程序

2017-08-21 20:50:00 356

原创 疯狂Java笔记之表达式中的陷阱

关于字符串的陷阱JVM对字符串的处理首先看如下代码:String java=new String("HelloJack");上面创建了两个字符串对象,其中一个是“HelloJack”这个直接量对应的字符串对象,另一个是由new String()构造器返回的字符串对象。对于Java程序中的字符串直接量,JVM会使用一个字符串池来保存它们:当第一次使用某个字符串直接量是,JVM会将它放入字符串池进行缓存

2017-08-21 01:05:08 230

原创 疯狂Java笔记之Java的内存与回收

Java引用的种类1.对象在内存中的状态对于JVM的垃圾回收机制来说,是否回收一个对象的标准在于:是否还有引用变量引用改对象?只要有引用变量引用对象,垃圾回收机制就不会回收它。也就是说,当java对象被创建出来之后,垃圾回收机制会实时的监控每个对象的运行状态,包括对象的申请,引用,被引用,赋值等。当垃圾回收机制实时的监控到某个对象不再被引用变量所引用时,垃圾回收机制就会回收它所占用的空间。基本上,可

2017-08-18 15:53:00 602

原创 疯狂Java笔记之常见java集合的实现细节

Set和Map1.Set和Map的关系首先Set是一种集合元素无序,不可重复的集合。而Map则代表一种有多个key-value对组成的集合,Map集合类似于传统的关联数据。看起来他们没哟什么关联,实际上Set和Map是有莫大的关联的。可以说Map是Set集合的扩展。当我们只看Map的Key时,会发现所有的key不能重复,key之间没有顺序。也就是说将Map所有的key集合起来就组成了一个set集合。

2017-08-17 10:40:28 207

原创 疯狂Java笔记之对象及其内存管理

1.实例变量和类变量Java程序的变量大体可分为成员变量和局部变量。其中局部变量可分为如下二类。形参:在方法签名中定义的局部变量,由方法调用者负责为其赋值,随方法的结束而消亡。方法内的局部变量:在方法内定义的局部变量,必须在方法内对其进行显式初始化口这种类型的局部变量从初始化完成后开始生效,随方法的结束而消亡。代码块内的局部变量:在代码块内定义的局部变量,必须在代码块内对其进行显式初始化。这种

2017-08-15 15:27:45 207

原创 Android Flexboxlayout使用详解

对于学习React Native或者前端的同学肯定对Flexbox 的有所了解,因为这是前端领域CSS的一种布局方案,现在google也开源了类似前端Flexbox的项目叫Flexboxlayout,这样android也可以用Flexboxlayout实现类似前端Flexbox的布局。首先Flexboxlayout有5大布局属性分别是flexDirection,flexWrap,justifyCon

2017-07-27 00:35:36 1343

原创 高仿网易严选底部弹出菜单

在网易严选的看东西的时候在商品详情页里看到他的底部弹出菜单,本能反应是想用DottomSheetDialog或者PopupWindow来实现,可是发现实现不了他那种效果,于是就自己模仿一个像严选这样的底部弹出菜单。不管是DottomSheetDialog或者PopupWindow他们的阴影背景都是全部覆盖的,这就造成除了菜单内容的View之外其他都是阴影的,而严选不是这样的。唠叨到此,首先展示效果图

2017-06-24 22:39:32 1450

原创 淘宝开源库VLayout实践

最近淘宝出了vlayout,刚开始看淘宝的文档的时候还是有点懵,后来自己也总结规划了一下,写了一个比较好看的demo,顺便在这里总结一下。VLayout是什么,说白了就是用一个原生RecycelerView加上VLayout来实现在一个页面上比较复杂的布局并且有一个比较好的复用,在RecyclerView里同时有GridLayout布局,瀑布流布局,浮动布局等VLayout提供的九大布局,这也是淘宝

2017-05-18 19:34:43 1488

原创 高仿京东金融的数值滚动尺

以前博客讲的大部分都是静态的自定义View的编写,其实无非就是“画画”画出一个好看的效果,而这篇博客写的是写一个动态的自定义控价,这里不仅需要”画”,还要各种事件和计算,废话不说现在就讲讲自定义数值滚动尺,这个用的还是满广的,例如京东金融的通过滚动尺选择金额等,而这次就是高仿京东金融的数值滚动尺。首先看看下效果图,如下 - 首先先给你们各个变量的含义,以免在后面的讲解中不知变量的意思,代码如下

2017-05-15 16:03:57 406

原创 教你实现最简单的QQ消息item侧滑菜单

这次跟大家介绍怎么简单的实现类似QQ消息Item的左右滑动菜单的实现。首先见效果图先: 这就实现了ListView或RecyclerView加载的item的View实现侧滑菜单。至于这么实现,很简单就是通过继承HorizontalScrollView,再判断滑动的距离以滑到对应的View或菜单。具体如下: 首先,在item的界面布局方面如下:<?xml version="1.0" encodin

2017-04-16 23:21:05 1220

原创 android蓝牙4.0的知识要点

这次主要讲解蓝牙4.0的基本要点,作为自己的备忘录记录下来吧。首先普及一下蓝牙4.0又称低功耗蓝牙,基于Gatt协议来实现。而蓝牙4.0一下的是传统蓝牙,基于socket方式来实现。所以4.0以上的蓝牙具有传输速度更快,覆盖范围更广,安全性更高,延迟更短,耗电极低等等优点。一个BLE终端可以包含多个Service, 一个Service可以包含多个Characteristic,一个Characteri

2017-03-13 23:07:41 352

原创 基于豆瓣和妹子的api用React Native写的demo

最近一直在学React Naitve,可以说React Native的确有他自身强大的地方,不管是运行效率还是热更新都和一般的h5有的一比,当然以为面世的时间还不算太久,版本更新又十分的快,所以坑也多,对于一般的移动开发者来说学习成本也蛮大的, 个人觉得用React Naitve做混合开发,把一些需要经常变化的模块用react native开发还是一个不错的选择。demo就是已React Nait

2017-01-24 11:00:34 831

原创 一个漂亮的干货集中营客户端的生成,集合了干货api的大部分功能

好像好久没有更新了,这次给大家带来的是自己完全用一个全新的方式练手开发的客户端,而后台接口用的是干货集中营的API,所以在这里要谢谢daimajia,因为他的贡献所以我们才可以有好的api进行练手。这是一个漂亮的Gank客户端,里面的功能包含了干货集中营的api所提供的大部分功能。功能如下:可以查看每一天提供的Android,ios,休息视频等相关的技术干货,还有一张高清的妹子图在等着你哦除此之

2016-12-23 18:03:20 2700

原创 高仿QQ运动的周报界面

这次高仿的是QQ运动的周报界面的网图。这个控件刚开始的时候以为代码量不大,没想到一路下来界面代码在加上动画代码还是蛮多的。好了老规矩先上图: 效果还是和qq的才不多吧。 1. 首先我把各个变量都贴出来以便在后续中你们可以更好理解代码的意思: //屏幕的宽度 private int mScreemWidth; //屏幕的高度 private int mScreemHi

2016-10-22 16:18:07 2096 1

原创 模仿企鹅FM播放主页面滑动动态改变各视图的大小

国庆的一个任务就是把自己之前写的代码搬到博客。这次给各位带来的是通过滑动来动态改变各个View的大小进而达到企鹅FM播放页面的滑动效果(仅仅是滑动效果),老规矩看图先: 首先看看主界面的xml布局:<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/ap

2016-10-05 00:27:53 911 1

原创 自定义天气显示温度变化的LinearChart控件

这次发表的是前几个月搞定的一个自定义控件,那时自己在写一个小的查看天气的软件,在这过程中就涉及了显示天气变化的折线图,一开始想用一些画图框架来解决问题,不过考虑到就只用到LineChart折线图这一个控件就要导一个库有点太浪费了,所以就自己自定义简易版LineChart算了。好了不说闲话老规矩,先发张效果图先:这就是这个自定义控件的最终效果,当然颜色你可以自己设置。 首先初始化自定义控件的各个变量

2016-10-04 16:30:19 586

原创 模仿QQ运动item的界面

首先按照老规矩,无图无真相嘛,先看看先: 是不是很像呢,那具体是实现是怎样的呢,即使概括的来说就是 1.计算各个变量的值(记得是会随整个View的大小变化而变化)。 2其次利用好canvas.translate()这个方法,计算好大小移动canvas的原点。 3最后就是调用api提供的各种方法画图就是了。 这么说是不是太过于简略了呢,好,现在就来看看那具体的吧。首先看看xml有什么参数吧

2016-09-25 18:32:30 346

原创 高仿支付宝9.9.2版本生活模块界面来讲解CoordinatorLayout,AppBarLayout,CollapsingToolbarLayout

首先先看看仿制的效果先,如下图: 是不是很像支付宝的效果呢,我们今天就要通过讲解android5.0新出的控件CoordinatorLayout,AppBarLayout,CollapsingToolbarLayout来实现这个效果。在讲解之前先看看界面布局文件,在一个一个讲讲怎么实现吧:<android.support.design.widget.CoordinatorLayout

2016-09-16 22:51:27 2480 6

原创 android自定义钟表

android自定义钟表首先看看效果图先然后看看自定义的属性 <resources> <!--钟表整体颜色--> <attr name="color" format="color"/> <!--数字大小--> <attr name="numSize" format="dimension"/> <!--中心外圆半径--> <attr nam

2016-09-11 19:03:00 390

MyEclipse_10.1_汉化包.rar

MyEclipse_10.1_汉化包.rar

2014-02-27

java 坦克大战

坦克大战代码 java 我相信你会喜欢的对你学习很有用的

2014-01-26

mysql-connector-java-3.1.10-bin

MySQL连接可以连接的,是驱动程序程序包,亲测很好用的

2013-12-03

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

TA关注的人

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