自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一杯清泉

Android开发的点点滴滴

原创 Android地图跳转

在开发中通常用到地图跳转,选择地址之后跳转到对应的地图,如图: 对应的跳转方法在地图对应官方的SDk文档中都可以找到: 百度地图 http://lbsyun.baidu.com/index.php?title=uri/api/android 腾讯地址 https://lbs.qq.c...

2020-07-05 11:52:02 8 0

原创 Linux环境下打包Android App

SDK在Mac或者Windows环境中安装很方便,在Android studio中打开SDK Manager即可下载,但是Linux中比较麻烦。 藏经阁

2020-06-10 22:42:52 74 0

原创 node.js入门

一、node.js安装 Mac:https://cdn.npm.taobao.org/dist/node/v14.2.0/node-v14.2.0.pkg 二、打印hello word 1、创建一个文件夹。 2、创建一个文件index.js。 3、执行命令创建package.json文件...

2020-05-20 10:00:08 38 0

原创 Linux常用操作命令

删除文件:rm -rf filename 上传文件:rz -be 下载文件:sz filepath 查看文件:cat filename 修改文件:vi filename 移动文件:mv 源文件目录 目标文件目录 修改文件名称:mv filename1 filename2 创建文件夹:...

2020-05-20 09:31:50 52 0

原创 Mac环境下Jenkins自动化打包生App

一、jenkins的下载 1、要使用jenkins首先得安装jdk,还需要配置环境变量,我这边已经安装了jdk1.8了,因此不在安装,查看方法:java -version 2、下载jenkins包,有两种方法,一种是直接安装,另一种是在容器内运行,我这里采用第二种方法,要使用war包首先得下载...

2020-05-06 11:24:22 79 0

原创 Glide的缓存机制原理分析

一、Glide请求图片的流程 当执行 Glide.with(this).load("").into(imageview)的into方法时候,该方法接收一个Target或者一个ImageView,Target是一个接口,默认的实现类包括SimpleTarget,ViewTarg...

2020-02-24 10:03:05 218 0

原创 Glide绑定生命周期以及回调监听原理分析

Glide.with(this).load(url).into(imageview) Glide绑定fragment、Activity的生命周期是在with方法里面执行的,with可以为Fragment,Activity,FragmentActivity,Context,View,如果是Acti...

2020-01-12 16:20:01 125 0

原创 常用工具总结

一、web线上工具网站 1、Android源码查看: https://www.androidos.net.cn/android/8.0.0_r4/xref http://androidxref.com/ 2、微信公众号、博客等Markdown排版工具: http://md.aclickall.c...

2020-01-10 10:42:13 55 0

原创 Android Studio快捷键

1.for循环 ArrayList<String> list = new ArrayList<>(); list.for+enter 增强for list.fori+enter list.forr+enter倒序for循环 100.for 2、非空判断 对象.null 对象...

2020-01-10 10:35:50 59 0

原创 Android学习网站总结

一、Android博客网站 1、玩Android https://wanandroid.com/ 2、思否 https://segmentfault.com/channel/android 二、kotlin 1、视频 https://github.com/enbandari/Kotlin-T...

2020-01-09 11:29:00 52 0

原创 Glide的配置信息总结

Glide.with(this).load(url).into(iamgeView) 1、全局配置 继承自GlideModule,在applyOptions方法中通过参数GlideBuilder进行配置,在AndroidManifest.xml注册。 public class Se...

2019-12-14 14:06:53 33 0

原创 RecycviewView加载更多和预加载

一、Recycleview的上拉加载更多 mRecyclerview.addOnScrollListener(mOnScrollListener); RecyclerView.OnScrollListener mOnScrollListener = new RecyclerV...

2019-08-10 23:08:43 528 0

原创 Android图文混排

在开发中通常通常会遇到图文混编的情况,例如文字中插入置顶,热门等图片标签,在很多时候换行的时候TextView文字换行后都无法占满首位字符,要求TextView中要求某些文字设置其他颜色,字体,样式等等,这篇文章就是解决这种问题,如下: 一、SpannableString Spa...

2019-07-31 22:02:41 218 0

原创 软键盘打开和关闭监听

1、自定义软键盘监听控件 代码如下,核心要点查看备注: public class KeyboardLayout extends RelativeLayout { //软键盘展开 public static final byte KEYBOARD_STATE_SHOW = -3...

2019-06-13 22:34:22 352 0

原创 WebView应用详解

前面几篇文章已经介绍过WebView的相关内容了,但是都是专题形式,这次算是一个综合的补充吧! Android与前端交互之JSBridge https://blog.csdn.net/yoonerloop/article/details/78033908 Android中网页数据的抓取和修改 ...

2019-05-11 08:55:23 119 0

原创 TransactionTooLargeException异常

一、问题以及解决方案 TransactionTooLargeException异常是一个很不常见的异常,开发几年了,首次遇到这个异常,一部分手机会出现这种情况,当时还很惊奇。最后经查找原来是Activity启动时候intent数据传递过大发生的。当时是一个分享功能的偶发bug,在分享时候传递数据...

2019-04-27 17:07:25 2354 0

原创 日历时间选择器

最近一直很忙很忙,去年年底公司裁了一拨人,导致新的需求人手不够,每个人任务都很重,虽说不是996,但是加班一直在进行,想写点什么东西总结总结,但是一直没有时间,今天发一个日历选择器,效果如下: 该日期选择器高度,默认选择时间,颜色,字体大小,滑动弯曲效果,标题,取消,确定等等都支持自...

2019-04-13 15:05:48 142 0

原创 Android中类的加载以及应用

将重点介绍一下三个方面: 类的加载机制 热修复原理 增量更新原理 一、类加载器的分类 1、Java ClassLoader (1)启动类加载器:Bootstrap ClassLoader 用C++编写的,是JVM自带的类加载器,负责Java平台核心库,用来加载核心类库。该加载器无法直接...

2019-03-03 09:20:15 912 1

原创 探究ZoomImageVie中的图片居中和多点触控

  ZoomImageView是一个支持收拾缩放,多点触控的开源控件,这篇文章学习他的图片居中和手势缩放。要缩放的是一个图片所以要用到自定义控件,我们MyZoomImageView,继承自AppCompatImageView实现他的构造方法,既然是图片的处理,我们这里用到了一个类Matrix,他...

2019-02-23 20:43:38 116 0

原创 Activity异常关闭时数据的存储和恢复过程分析

  在正常情况下关闭Activity,例如按下返回键、返回箭头等Activity直接就被销毁。但是在Activity内存不足、异常关闭或者屏幕旋转等情况的时候,当前的Activity会被销毁,这个过程中页面上的Fragment、View等信息会被保存下来,当再次展示的时候会被重建,重建后的Act...

2019-02-17 15:47:18 256 0

原创 自定义ViewGroup之FlowLayout

  先看看效果图: 先自定义一个类TestViewGroup,继承自ViewGroup,重写onMeasure、onLayout方法。 一、重写onMeasure方法 @Override protected void onMeasure(int widthMeasur...

2019-01-29 22:25:54 95 0

原创 从源码角度分析View的绘制流程

  上一篇文章引出了performTraversals,在内部分别调用了performMeasure,performLayout,performDraw三个方法。这三个方法分别有调用了mView.measure,mView.layout,mView.draw(canvas)三个对应的方法,因此我...

2019-01-24 22:14:36 97 0

原创 从源码角度分析View的加载过程

  本文是依据Android 8.1.0的相关源码进行分析。 一、setContentView的如何加载布局? 通常Activity的onCreate里面都需要写上setContentView,那么就从Activity入手,找到setContentView,如下: public ...

2019-01-17 22:03:05 70 0

原创 软键盘相关问题总结

  之前写了一篇文章,主要介绍一些EditText的一些属性和自定义打开链接(点击打开),最近开发中又遇到了其他的的问题,再次进行总结。包含以下几个部分: 软键盘顶部添加布局方式 防止软键盘顶起布局内容 初始进入页面软键盘弹出 软键盘的弹出与收缩 软键盘弹出与收缩的监听   一、软键...

2019-01-05 12:31:41 107 0

原创 设计模式之责任链模式

  责任链模式数据23种设计模式中的行为型模式,他是使多个对象都有机会处理同一个请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。 场景:一个员工报销,需要层层审批,初级领导只能报销500元以内的,中级领导能报销2000以...

2018-12-23 19:43:49 103 0

原创 RecycleView的缓存机制

  一、Recyclerview的缓存类 RecycleView的四级缓存是由三个类共同作用完成的,Recycler、RecycledViewPool和ViewCacheExtension。Recycler用于管理已经废弃或者与RecyclerView分离的ViewHolder,这里面有两个重...

2018-12-15 21:21:38 1891 0

原创 GridView横滑效果的实现

  要实现一个横向滑动,通常是使用horizontalscrollview,他可以横向滚动;要实现宫格布局,一般是使用GridView。那么要实现横向滑动的表格布局就需要结合二者,进行构建。 1、xml布局: horizontalscrollview作为父布局,可以横向滑动,GridView...

2018-12-02 20:45:02 207 0

原创 设计模式之原型模式

  所谓原型模式就是用原型实例指定创建对象的种类,并且通过复制这些原型创建新的对象。在原型模式中,所发动创建的对象通过请求原型对象来拷贝原型对象自己来实现创建过程,当然所发动创建的对象需要知道原型对象的类型。在拷贝中又分为深拷贝和浅拷贝。 浅拷贝:只是赋值了一个内存地址的引用,相当于赋值。 ...

2018-11-17 10:09:48 103 0

原创 吸顶效果的另一种实现

  前面介绍过一篇文章,是使用ItemDecoration来实现吸顶效果,使用起来很解耦,简单,方便,但是优缺点是拓展性比较差,今天就通过另一种方式来实现吸顶效果,并且吸顶栏可以高度制定布局和交互,步入正题,下面来实现它,先看看效果图: 一、实现原理 头部的内容位于Recycleview...

2018-11-11 09:48:37 870 0

原创 Recycleview的联动效果

下面我们将实现一个Recycleview的联动效果,即一个Recycleview滑动,另一个Recycleview也跟着滑动,最初想的是监听其中的一个Recycleview滑动,调用另一个Recycleview的scrollBy方法,其实跟随滑动,尝试了一下,一个监听另一个没什么问题,但是当另一个...

2018-11-03 09:50:21 527 0

原创 okhttp源码分析

okhttp是一款强大的网络访问框架,使用很久了,通过源码分析,将理解到okhttp的加载流程和设计理念,以及一些核心OkHttpClient、Request、RealCall、Dispatcher、Interceptor等核心类的作用。按照他的加载流程进行分析,先来看看最简单的get请求: ...

2018-10-21 11:03:40 94 0

原创 hash冲突的解方法

  hashCode的生成中不同的key生成的hashValue可能是一样的,尽管这种可能比较小,一旦生成的hashCode相同了,那么获取到的值就出现错乱,这种情况下就需要解决hash冲突问题,通常hash冲突的解决有两种方法,一种是开放地址法,另一种是链表地址法,下面分别介绍这两种方法。 ...

2018-10-16 21:29:17 113 0

原创 java数据结构——哈希表

  哈希表,是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表,也称为哈希表。下面将以数组来实现哈希表结构。 1、哈希表节点 哈希表节点一般包括两个变量,k...

2018-10-13 09:42:53 854 0

原创 java数据结构——二叉树

一、树概述 树是一种特殊的数据结构,他可以用来描述有分支的结构是由一个或者一个以上的有限集合组成,具有两个属性:一是存在一个特殊的节点,成为树根;二是其余节点分为n&gt;=0个互斥集合,T1,T2,T3,……,Tn,每个集合成为子树。常用属性如下: 1、根节点 根节点是一个没有双亲...

2018-10-07 20:08:07 144 0

原创 java数据结构——环形队列

  ArrayQueue存在一个问题,假设当尾部插入元素满了,头部又删掉了一些元素,这种情况下,就误认为空间满了,造成了假溢出,实际上头部删除了元素留出了空间。这时候环形队列就解决了这样的一个问题,环形队列的front指针始终指向当前队列的最后位置;end指针始终指向第一个元素的前一个位置为-1...

2018-09-24 11:11:32 3754 1

原创 java数据结构——双端队列

  普通队列是一端进,另一端出的FIFO形式,而双端队列就没有这样的限制级,也就是我们可以在队列两端进行插入或者删除操作。接下来使用双端链表来实现一个双端队列。 1、引进双向链表 地址:https://blog.csdn.net/yoonerloop/article/details/8151...

2018-09-15 10:27:56 288 0

原创 java数据结构——队列

  队列是一种可以实现“先进先出”的数据结构,属于线性表的一种。它具有如下特点: 队列中的数据元素遵循“先进先出”的原则,简称FIFO结构。 在队尾添加元素,在队头删除元素。 以下连篇文章将分别介绍队列的数组实现、链表实现,双端队列、环形队列、优先队列。 一、数组实现队...

2018-09-10 21:21:36 134 0

原创 算术表达式的求值法

如(6*2+5*9)/2的这类表达式称为中序表示法,这是一般人所习惯的的写法。不过由于中序法优先权和结合性的问题,在计算机编译程序的处理上很不方便,所以在计算机的上的解决之道是将其换成后序法(较常用)和前序法,这种表达式的种类,依据运算符在表达式中的位置,可以将其分为中序法、前序法、后续法。 中...

2018-09-04 21:37:10 515 0

原创 java数据结构——栈

栈是一种特殊的线性表,仅能在线性表的一端操作,栈顶允许操作,栈底不允许操作,遵循“后进先出”的特点。数据结构图如下: 基本操作包括创建栈、入栈、出栈、获取栈顶元素、获取栈的大小等。栈的实现分为两种,一种是通过数组实现;一种是通过链表来实现。二者的区别是数组实现栈简单简洁,而使用链表实现比较复...

2018-09-01 22:21:01 288 1

原创 自定义控件之固定Tab

在开发中我们通常用到固定的Tab,Tab的个数是可以动态配置的,但是不支持滑动,每个Tab均分布局并且之间被一个竖线分割开,Tab底部是一条分割线。看到如下效果如下,Tab布局、线条颜色都支持高度制定。这个Tab的难点在于首先Tab个数不固定,其次Tab竖线左右两端没有只有相邻的两个才有,而且粗细...

2018-08-22 21:54:52 275 0

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