自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 mvvm架构的利与弊

引言 mvvm架构是继mvc架构后衍生出的一个新的架构思想,在平时工作过程中很多同学都是把mvvm和dataBinding混为一团,只要被问到什么是mvvm就回答:“mvvm就是dataBinding”。其实这种理解是错的。本文就针对mvvm阐述下个人的理解,有不足支出多多谅解。一、什么是mvvm mvvm即 model-viewModel-view 的缩写,vie...

2019-07-03 11:48:14 4755 2

原创 浅谈架构的基础MVC

前言:在实际项目开发过程中,为了降低代码的耦合度,我们会选用一个架构去达到这个目的,但是我们再使用这些架构的过程中一定要明白我们所使用的架构的核心思想,本文主要针对我们最基础的mvc架构做下讨论,后来出现的mvp,mvvm都是在mvc的基础上演变过来的;如果有不严谨的地方,请多包涵一 :首先来看mvc: mvc的分层是 :Model-View-Control ...

2019-06-18 11:07:02 236

原创 Gloading-master 加载等待框神器

平时我们在app的开发中肯定或多或少都会使用到加载等待框,来提升用户体验。相信我们绝大多数开发者在开发过程中都是使用在需要加载等待框的布局文件中加一个带动画效果的view,然后通过代码逻辑控制view的显示和隐藏,但是这样造成的后果就是view和我们的代码耦合度非常高,并且也会造成很多冗余的代码。可能在使用加载框的过程中会有一部分人通过构建utils工具类来进行view的统一管理,然后让需要使用的...

2019-04-29 21:09:24 2065

原创 vlayout原理剖析

vlayout是阿里的一个开源ui框架,是一个实现多样的item的列表的神器,相信大多数开发者对于vlayout内部的实现原理不太了解。本篇文章就和大家一起探讨下valyout的内部原理: 用过vlayout的同学都知道他的主要几个关键类,首先是各种layoutHelper的实现类,VirtualLayoutManager,DelegateAdapter阅读过RecycleView源码...

2019-04-29 11:40:35 1031

原创 6.0以上权限运行时框架Easypermissions使用详解

目录Android6.0以上的需要进行动态申请权限,由于原生的请求方法使用过于复杂,所以后来涌现出大量的权限检查框架,有基于apt技术的,有基于rxjava技术的,有基于ioc技术的,这里我给大家推荐的是google官方推荐的easypermissions,我自己在项目中也多次使用过,感觉很方便,符合各种应用场景,此库是谷歌推荐的权限申请库,放心大胆的使用吧导入easypermis...

2019-04-26 21:05:27 907

原创 关于PathMeasure分析path测量的问题

说起PathMeasure这Api可能对于大多数刚入门Android不久的开发者来说有点陌生,但是PathMeasure在我们的view中也是有着很重要的地位,他对于贝塞尔曲线(path)的测量有至关重要的作用,下面我们就来讲解下PathMeasure常用的api以及它在path中的作用: PathMeasure类中持有Path对象的引用,在利用pathMesure对path进行相...

2019-04-21 13:10:22 422

原创 Android中的事件分发剖析

事件分发在Android开发中无处不在,只要是控件都离不开事件的分发,事件就是控件的灵魂,本文剖析下的ACTIONDOWN事件分发原理;从用户点击屏幕那一刻开始,在java层首先接触到事件的是Activity我们看下Activity中接收事件并分发的代码 public boolean dispatchTouchEvent(MotionEvent ev) { if (...

2019-04-20 22:58:04 117

原创 Andorid开发中的paint常用属性解析

paint在Android自定义控件中有着举足轻重的地位,基本上我们所有的自绘控件都离不开它,原生的各种炫酷的效果,比如刮刮乐,滤镜等等都运用到了paint,下面我们就针对paint的常用api做个解析;PaintmPaint = new Paint(); //初始化 mPaint.setColor(Color.RED);// 设置颜色 mPaint.setARGB(25...

2019-04-20 13:21:39 267

原创 CardView全面解析

CardView相信大家都并不陌生,但是我们开发过程中大多数只关心如何使用是远远不够的,需要我们去了解google开发人员设计这个控件的原因;通过原码我们不难发现CardView是继承至FrameLayout,位于 android.support.v7.widget包下;通过静态块初始化了成员变量CardViewImpl(是一个接口)static { if (VERSION....

2019-04-20 13:04:44 238

原创 Android屏幕适配方案详解

Android手机的百花齐放的态势下,种类繁多的手机屏幕,也是给开发者带来了很大的工作量,屏幕适配是众多开发者老生长谈的话题,我曾经也是被屏幕适配工作弄的头大,所以今天把自己在工作中的使用的一些方法做个小小的总结; 什么是屏幕是适配?说白了就是屏幕分辨率的适配,其核心就在于两个字“缩放” 有哪些地方需要做适配呢? 1、布局适配 比如使用 wrap_co...

2019-04-18 20:49:29 1075

原创 Android各版本沉浸式状态栏的适配

Android的沉浸式状态栏是在4.4以后推出的,以5.0为界限设置状态栏的方式就有所变化,下面就针对5.0前后沉浸式状态栏的实现方式做个总结: 1、在5.0以前状态栏的设置方式: 先获取window对象 Window window = getWindow(); 添加FLAG_TRANSLUCENT_STATUS的标志(为窗口...

2019-04-18 16:29:32 1417 2

原创 Android开发中apk打包优化的几个关键步骤

实际项目开发过程到当中随着开发周期的延伸和版本迭代,会产生很多冗余的代码和资源文件,这就直接导致apk的体积变大,下面就针对实际开发过程中apk体积的优化总结如下几个关键步骤:1、通过SVG矢量图来解决套图的问题: SVG矢量图很适合做一些简单的小图标的适配,在切图的时候只需要给定一套就可以,无需每个分辨率下给定一个套图 SVG的使用临界版本是Andro...

2019-04-02 16:18:04 1020

原创 Android开发中的Service的两种启动方式的坑

和大家熟悉的Activity组件一样,service也是Android应用开程序发中常用的组件,它和acitivy一样也有自己的生命周期,不同的是service是运行在后台的,没有同用户直接交互的界面。 service的是有两种启动方式:第一种是通过startservice方式来启动,通过此方式来启动的service会一直运行在后台,除非调用者主动停止服务或者是系统异常杀死。 此过程对应的...

2018-08-06 20:52:10 4484

转载 Intent 与 IntentFilter 匹配规则

本片博客原文路径:https://blog.csdn.net/u011240877/article/details/71305797读完本文你将了解:IntentIntent 携带的信息Intent 的类型隐式 IntentIntent 过滤器 IntentFilterIntentFilter 的匹配规则action 的匹配规则category 的匹配规则data 的匹配规...

2019-04-30 19:27:05 446

转载 Gradle for Android 系列:初识 Gradle 文件

本片文章出处https://blog.csdn.net/u011240877/article/details/53798052读完本文你将了解到:settinggradle主目录下的 buildgradle模块下的 buildgradle备注注意 applicationId 和 package name 其实不是一个东西总结我们用 Android Studi...

2019-04-30 19:24:02 183

空空如也

空空如也

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

TA关注的人

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