自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 资源 (2)
  • 问答 (1)
  • 收藏
  • 关注

原创 Android关于H5页面获取App原生本地资源的实现

Android H5页面获取App本地资源

2024-03-26 16:36:41 455

原创 Android动态配置network_security_config

相信目前Android开发中,基本上网络请求都是使用https协议的了,这样对我们的数据安全有了一定的保障。但是通常在测试阶段,测试人员往往需要进行抓包测试,可以实时查看数据请求情况。这就需要我们需要区分好生产环境和测试环境的网络安全配置了。这时就需要我们用到network_security_config的文件配置了。

2023-06-20 15:10:54 2493

原创 Android之View的工作原理

文章目录一、ViewRoot二、DecorView三、MeasureSpec四、View的measure过程4.1 View的measure过程4.2、ViewGroup的measure过程4.3、注意:五、View的layout过程5.1、View的layout()过程5.2、ViewGroup的layout()过程5.3、注意: 对于重写onLayout方法,一定要对子View调用layout()方法,这样才能将子View放到合适的位置。六、view的draw过程一、ViewRootViewRoot

2020-07-10 19:28:45 385

原创 Android--常用的Kotlin扩展方法

一、Context1、获取颜色fun Context.getColorCompat(color: Int) = ContextCompat.getColor(this, color)2、获取屏幕宽/高(px)val Context.screenWidthPx: Int get() = resources.displayMetrics.widthPixels val Context.screenHeightPx: Int get() = resources.displayM

2020-07-02 10:28:47 2199

原创 编码技巧----位运算

Java的位运算有以下几个:左移 : <<右移 : >>无符号右移 : >>>与 : &或 : |非 : ~异或: ^有一个这样的例子: 水果 有各种特征, 有 大的,小的,甜的,酸的,便的,贵的。那就可以这样定义这些属性:public static final int featureBig = 1; //...

2019-08-20 11:32:07 1974

原创 Java 的Object 类方法

Java Object类内部的方法有以下几个:构造函数hasCode和equal函数用来判断对象是否相等wait(),wait(long),wait(long,int)和notify(),notifyAll()toString(),getClass()clone()用在克隆对象finalize()用在垃圾回收函数说明一、hashCode() 和 equal()...

2018-09-14 15:55:58 247

原创 依赖注入框架 ----Dagger2 使用详解及源码分析

在开始说Dagger之前先说下什么叫依赖注入。依赖:在创建对象A的过程中,需要用到对象B的实例,这种情况较调用者A对被调用者B有一个依赖。 例如下面的例子: 组装一台电脑时,要用到Cpu,那么电脑这个对象,依赖Cpu对象。public class Computer { CPU cpu; public Computer(CPU cpu) { th...

2018-06-22 15:46:57 648 2

原创 RxJava操作符汇总

1、创建操作符 :创建被观察者(Observable)对象&amp;amp;amp;amp;amp;amp;amp;发送事件 2、转换操作符:变换被观察者(Observable)发送的事件。将Observable发送的数据按照一定的规则做一些变换,然后再将变换的数据发射出去。变换的操作符有map,flatMap,concatMap,switchMap,buffer,groupBy等等。 3、 合并操作符:组合多个被观察者(Obser...

2018-05-21 16:35:29 8929 2

原创 RxJava操作符(六)----条件操作符

条件操作符 : 通过设置函数,判断被观察者(Observable) 发送的事件是否符合条件。包括: contains(),exist(),isEmpty(), amb(),all(),takeWhile(),takeUntil(),skipUntil(),skipWhile(),defaultEmpty(),sequenceEqual()。1、all() 操作符 /** * ...

2018-05-21 16:29:19 1302

原创 RxJava操作符(五) ----过滤操作符

过滤操作符: 用于将Observable发送的数据进行过滤和选择。让Observable返回我们所需要的数据。 过滤操作符有buffer(),filter(),skip(),take(),skipLast(),takeLast(),throttleFirst(),distainctUntilChange()。1、filter() 操作符 /** * ============...

2018-05-21 16:25:32 1480

原创 RxJava操作符(四)----功能操作符

功能操作符: 辅助被观察者(Observable) 发送事件时实现一些功能性需求,如错误处理,线程调度1、subscribe() 操作符 /** * ==================subscribe 操作符=========================== * * 连接被观察者和观察者 */ public static void ...

2018-05-21 16:24:27 1801

原创 RxJava操作符(三)----合并操作符

1、merge(),concat ()操作符 /** * ========================merge,concat 操作符 ====================================== * &amp;amp;amp;amp;lt;p&amp;amp;amp;amp;gt; * merge操作符是把多个Observable合并成一个进行发射。merge可能会让合并到Observable的数据顺序...

2018-05-21 15:59:32 3155

原创 RxJava操作符(二)----转换操作符

转换操作符: 变换被观察者(Observable)发送的事件。将Observable发送的数据按照一定的规则做一些变换,然后再将变换的数据发射出去。 变换的操作符有map,flatMap,concatMap,switchMap,buffer,groupBy等等。1、map()操作符 /** * ======================map=================...

2018-05-21 15:57:05 2208 1

原创 RxJava操作符(一) ----创建操作符

创建操作符: 创建被观察者(Observable)对象&amp;amp;amp;amp;amp;amp;发送事件。包括 : create(), just(),fromArray(),fromIterable(),timer(),interval(),intervalRange(),range(),rangeLong(),nerver(),empty(),defer()等。1、Create() 操作符 /** *...

2018-05-21 15:55:35 3117

原创 Android热更新Tinker + 多渠道打包 + 加固的流程详解

一、Tinker热修复关于热修复的作用,不用多说了,一句话概括就是通过让用户无感的方式来修复线上应用的bug。这里介绍的是微信Tinker。 下面的接入方式都是参考自Tinker官方文档来。我这里主要是把我接入的步骤(通过AndroidStudio + gradle方式)说一遍。下面的步骤都是基于tinker-support插件:1.0.8版本,以及sdk 1.3.1 进行。所以查看此文时需...

2018-05-19 22:13:15 5311 2

原创 详解ThreadLocal

一、首先要了解ThreadLocal是什么东西,这个有什么用?ThreadLocal是jdk 1.2开始提供的一个类,作用是为了解决在多线程中并发访问的一种方式,为每一个线程提供一个独立的副本,这个副本只对当前线程可见,其他线程不能访问,从而隔离了多个线程对数据的访问冲突。在Android应用中我们会经常看到他的影子,如Handler中,EventBus中都有用到它。二、再来看看它的使...

2018-04-24 14:59:55 161

原创 开发者模式之—代理模式

—前序:本文为《Androdi源码及开发模式》的学习笔记。1、定义:为其他对象提供一种代理以控制对这个对象的访问。2、使用场景:当无法或不想直接访问某个对象或访问某个对象存在困难时可以通过一个代理对象来间接访问 ,为了保证客户端使用的透明性,委托对象与代理对象需要实现相同的接口。当要对某个对象的实现方法时,要对其前后做操作,但又不想改变它原有对象,这时就要用到代理。...

2018-04-06 00:01:16 861

原创 详解Android动画

废话不多说,直入主题。一丶Android动画分类:补间动画: 支持平移(Translate),旋转(Roate),缩放(Scale),不透明度(Alpha); 只是显示的位置变动,View的实际位置未改变,例如View平移到其他地方了,但是点击事件仍在原处才能响应。帧动画:通过顺序播放一系列的图片从而产生动画效果的,它是一种渐进式动画。属性动...

2018-04-05 23:40:43 389

原创 EventBus3.0的使用及源码分析

一、首先,EventBus 3.0的简单使用:1、首先在Activity的对应生命周期中进行注册和解绑@Overrideprotected void onStart() { super.onStart(); EventBus.getDefault().register(this);}@Overrideprotected void onStop() {

2018-01-22 19:00:56 247

原创 Android性能优化之--内存泄漏

性能优化之内存泄漏在Android开发中,内存泄漏是开发过程中时刻要注意的问题,下面我们就来学习下什么叫内存泄漏,为什么会出现内存泄漏,怎样去解决?

2017-11-12 21:19:53 308

原创 开发者模式之—-单例模式

开发者模式之—-单例模式 确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。

2017-11-12 18:33:07 320

原创 Android的SingleTask,SingleInstance和StartActivityForResult冲突问题

Android的SingleTask和StartActivityForResult冲突问题首先回顾下Android的四种启动模式:standard( 标准模式 ):每次启动一个Activity都会重新创建一个新的实例,不管这个实例是否存在,并且它会进入启动者所在的栈中。singleTop(栈顶复用模式): 如果新的Activity已经位于所在任务栈的顶部,则此Activity不会被重新创建 ,若

2017-06-07 19:56:12 2509

原创 Android开发艺术探索读书笔记(一):Android的生命周期与启动模式

当用户打开新的Activity或者回到桌面时,原来的Activity回调如下:onPuse-> onStop,但是如果原来的Acitivity采用了透明的主题,那么当前的Activity不会执行onStop。从Activity A跳转到Activity B时,会先执行A的onPause,然后再执行B的onCreate,onStart,onResume,最后才执行A的onDestory。Activ

2017-02-28 12:06:18 392

原创 开发者模式之—-策略者模式

开发者模式之—-策略者模式—序言:本文为《Androdi源码及开发模式》的学习笔记。更详细内容请购买查看该正版书籍。 在开发中,当一个任务有多个解决方案时,最简单的方式就是使用 if-else或者 switch -case来实现。但是如果因为if-else这种方法不会遵守开闭原则,所以耦合性很高,当要继续添加功能时,就要修改原来的代码。而应对这种情况最好的方案就是使用策略者模式,把各种方案分离

2017-01-06 09:51:28 717

原创 Coding的使用

Coding的使用Coding 是一个面向开发者的云端开发平台,目前提供代码托管,运行空间,质量控制,项目管理等功能。 它就相当于中文版的github,但是github的个人仓库托管是要收费的,而Coding则免费为我们提供死人仓库管理。 下面介绍一下怎么用git初始化本地仓库与Coding的远程仓库。第一种情况:已有本地项目,需要把它托管到远程,要现在Coding创建一个仓库:1、首先初始化:

2016-12-16 10:56:32 10605 4

原创 Android百度地图、高德地图、腾讯地图导航路线规划问题

Android百度地图、高德地图、腾讯地图导航路线规划问题      在最近的项目中,需求是用户选择某个地址需要进行导航时,弹出百度地图、高德地图和腾讯地图让用户选择。如果该用户手机中已安装对应的地图App,则启动对应软件进行导航,否则跳转到网页版的地图进行导航。    如下为各个地图效果:       百度地图高德地图

2016-08-17 16:02:19 11293 1

Android的Drawable学习Demo

Android的Drawable学习Demo

2016-09-22

自定义dialog

自定义dialog

2016-08-15

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

TA关注的人

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