自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(409)
  • 资源 (7)
  • 收藏
  • 关注

转载 Android 带你彻底理解 Window 和 WindowManager

有时候我们需要在桌面上显示一个类似悬浮窗的东西,这种效果就需要用 Window 来实现,Window 是一个抽象类,表示一个窗口,它的具体实现类是 PhoneWindow,实现位于 WindowManagerService 中。相信看到 WindowManagerService 你会有点眼熟,刚接触 Android 时几乎所有人都看到过这样一张图:WindowManagerServ...

2019-07-04 21:37:48 331

转载 android window manager

一、概述在Android系统中,从设计的角度来看,窗口管理系统是基于C/S模式的。整个窗口系统分为服务端和客户端两大部分,客户端负责请求创建窗口和使用窗口,服务端完成窗口的维护,窗口显示等。在Client端,并不是直接和WindowManagerService交互,而是直接和本地对象WindowManager交互,然后由WindowManager完成和WindowMana...

2019-07-04 21:37:05 428

转载 Android Gradle 插件中文指南

Android Gradle 插件中文指南转自https://github.com/rujews/android-tech-docs/blob/master/new-build-system/user-guide/README.md以下内容由飞雪无情提供翻译原文地址http://tools.android.com/tech-docs/new-build-system/use...

2019-05-24 16:20:45 490

转载 http和socket通信的区别

应用层:HTTP协议(基于传输层的TCP协议,主要解决如何包装数据)传输层:TCP协议(基于网络层的IP协议)、TPC/IP协议(主要解决数据如何在网络中传输)网络层:IP协议socket则是对TCP/IP协议的封装和应用(程序员层面上),Socket本身并不是协议,而是一个调用接口(API,它只是提供了一个针对TCP或者UDP编程的接口),通过Socket,我们才能使用TCP/IP...

2019-05-23 10:47:54 2028 1

转载 Dagger2学习

现在Dagger2在项目里用的越来越多了,最近花了些时间学习了一下Dagger2,这篇文章主要帮助理解Dagger2的注入实现过程,如有错误,还请指正!什么是Dagger2Dagger2是Dagger的升级版,是一个依赖注入框架,现在由Google接手维护。 恩,这里有个关键字依赖注入,因此我们得先知道什么是依赖注入,才能更好的理解Dagger2。依赖注入是面向对象编程的一种设计模式,其...

2019-05-23 10:23:30 176

转载 Java-Type体系

Type是Java 编程语言中所有类型的公共高级接口(官方解释),也就是Java中所有类型的“爹”;其中,“所有类型”的描述尤为值得关注。它并不是我们平常工作中经常使用的 int、String、List、Map等数据类型,而是从Java语言角度来说,对基本类型、引用类型向上的抽象;Type体系中类型的包括:原始类型(Class)、参数化类型(ParameterizedType)、数组类型(Ge...

2019-02-20 16:52:36 163

转载 Java 泛型,你了解类型擦除吗?

泛型,一个孤独的守门者。大家可能会有疑问,我为什么叫做泛型是一个守门者。这其实是我个人的看法而已,我的意思是说泛型没有其看起来那么深不可测,它并不神秘与神奇。泛型是 Java 中一个很小巧的概念,但同时也是一个很容易让人迷惑的知识点,它让人迷惑的地方在于它的许多表现有点违反直觉。文章开始的地方,先给大家奉上一道经典的测试题。List<String> l1 = new Arr...

2019-02-20 15:34:16 186

转载 关于RecyclerView你知道的不知道的都在这了(下)

目录由于本篇篇幅特长,特意做了个目录,让大伙对本篇内容先有个大概的了解。另外,由于有些平台可能不支持 [TOC] 解析,所以建议大伙可借助本篇目录,或平台的目录索引进行快速查阅。 LayoutManager 1.1 LinearLayoutManager 基本效果介绍 findFirstCompletelyVisibleItemPosition() findFirs...

2018-12-05 17:36:59 483

转载 基于滑动场景解析RecyclerView的回收复用机制原理

最近在研究 RecyclerView 的回收复用机制,顺便记录一下。我们知道,RecyclerView 在 layout 子 View 时,都通过回收复用机制来管理。网上关于回收复用机制的分析讲解的文章也有一大堆了,分析得也都很详细,什么四级缓存啊,先去 mChangedScrap 取再去哪里取啊之类的;但其实,我想说的是,RecyclerView 的回收复用机制确实很完善,覆盖到各种场景中,但并...

2018-12-05 17:20:52 177

转载 ListView回收机制相关分析

ListView回收机制相关分析    11.    ListView结构关系    12.    RecycleBin类解析    32.1 RecycleBin变量    42.2 RecycleBin方法    43.    RecycleBin的调用和关键方法    73.1 ListView    73.1.1 layoutChildren    73.1...

2018-12-05 17:20:03 236

转载 关于RecyclerView你知道的不知道的都在这了(上)

最近打算花点精力来研究 RecyclerView 这个控件架构和原理,对我来说,难度很大,我不清楚最后能不能彻底搞清楚,这个系列的博客会不会被太监,但我会尽我最大努力,并将这整个过程分享出来。第一篇打算从使用方面入手,力求将 RecyclerView 开放给开发人员的所有接口都体验一番。前言虽然在日常开发中,大伙或多或少都会接触到 RecyclerView,但通常,也就是写写 adap...

2018-12-05 16:47:11 438

转载 AppbarLayout的简单用法

在许多App中看到, toolbar有收缩和扩展的效果, 例如:appbar.gif要实现这样的效果, 需要用到:CoordinatorLayout和AppbarLayout的配合, 以及实现了NestedScrollView的布局或控件.AppbarLayout是一种支持响应滚动手势的app bar布局, CollapsingToolbarLayout则是专门用来实现子布局内不同...

2018-12-03 14:25:48 152

转载 Android gradle3.x中 implementation 、compile、api区别

前言在项目开发中,通常会有很多module,而这些module之间往往是相互依赖的,而当我们修改其中一个module的外部接口,那么依赖了这个module的其他module,需要重新编译,这样gradle就会编译很慢。优化这个操作是可以优化的,所以在android studio3.0 的bulid gradle中就出现了 api 和 implementation作为compile的替代。...

2018-11-09 14:54:56 278

转载 Android 控件 RecyclerView

【Android 控件 RecyclerView】概述RecyclerView是什么从Android 5.0开始,谷歌公司推出了一个用于大量数据展示的新控件RecylerView,可以用来代替传统的ListView,更加强大和灵活。RecyclerView的官方定义如下:A flexible view for providing a limited window into a l...

2018-11-09 10:56:05 274

转载 Google推荐——Glide使用详解

零、前言本文所使用的Glide版本为3.7.0如果需要使用V4的最新版本请参考Glide V4使用指南一、简介Glide,一个被google所推荐的图片加载库,作者是bumptech。这个库被广泛运用在google的开源项目中,包括2014年的google I/O大会上发布的官方app。(PS:众所周知的简介就到此为止了)Glide 对于 Android SDK 的最低要求是 ...

2018-11-09 10:55:30 236

转载 Rxjava2入门教程六:Single、Completable、Maybe——简化版的Observable

如需下载源码,请访问https://github.com/fengchuanfang/Rxjava2Tutorial文章原创,转载请注明出处:Rxjava2入门教程六:Single、Completable、Maybe——简化版的Observable在Rxjava2中,Observale和Flowable都是用来发射数据流的,但是,我们在实际应用中,很多时候,需要发射的数据并不是数据流的形式,而...

2018-11-09 10:54:51 599

转载 关于Android studio里ext中的$rootProject的总结

gradle统一入口版本管理的初衷是解决一个项目只要一个地方修改,各个有引用的模块便可以自动生效,从而达到了一个地方修改各个地方生效的好处,同时能保持gradle引用库版本的一致。使用方法如下:1.首先在项目级别的build.gradle文件底部添加如下信息:ext{    // Sdk and tools    minSdkVersion = 15    targetSdkVers...

2018-11-08 16:34:31 3999

转载 coordinatorLayout使用总结篇,看完这篇完全可以开发5.0的高级特效了

了解相关更多技术,可参考《沉浸式状态栏+ScrollView顶部伸缩+ActionBar渐变》,最近在用coordinatorLayout做一些特效,发现网上有好多人已经走完了坑,借此我们来总结一把。一言不合就上个图,还是动态的 主要是找了半天,好多人说的都不够详细,而且有好多注意事项没有说明,所以走了好多弯路,这个地方就是解决那些关键疑问的,这些疑问清楚了才能真正掌握它的用法代码...

2018-11-08 16:33:39 185

转载 ProGuard代码混淆技术详解

前言       受《APP研发录》启发,里面讲到一名Android程序员,在工作一段时间后,会感觉到迷茫,想进阶的话接下去是看Android系统源码呢,还是每天继续做应用,毕竟每天都是画UI和利用MobileAPI处理Json还是蛮无聊的,做着重复的事情,没有技术的上提升空间的。所以,根据里面提到的Android应用开发人员所需要精通的20个技术点,写篇文章进行总结,一方面是梳理下基础知识和...

2018-11-08 16:33:05 882

转载 Handle的原理(Looper、Handler、Message三者关系)

前面的内容对Handler做了介绍,也讲解了如何使用handler,但是我们并不知道他的实现原理。本文从源码的角度来分析如何实现的。首先我们得知道Handler,Looper,Message Queue三者之间的关系 - Handler封装了消息的发送,也负责接收消。内部会跟Looper关联。 - Looper 消息封装的载,内部包含了MessageQueue,负责从MessageQueu...

2018-11-08 14:53:37 1248

转载 java动态代理、Proxy与InvocationHandler

1、代理的基本构成  抽象角色:声明真实对象和代理对象的共同接口,这样可在任何使用真实对象的地方都可以使用代理对象。  代理角色:代理对象内部含有真实对象的引用,从而可以在任何时候操作真实对象。代理对象提供一个与真实对象相同的接口,以便可以在任何时候替代真实对象。代理对象通常在客户端调用传递给真实对象之前或之后,执行某个操作,而不是单纯地将调用传递给真实对象,同时,代理对象可以在执行真实对...

2018-11-08 14:35:03 212

转载 Android 6.0 运行时权限处理

运行时权限介绍Android 6.0在我们原有的AndroidManifest.xml声明权限的基础上,又新增了运行时权限动态检测,以下权限都需要在运行时判断:身体传感器日历摄像头通讯录地理位置麦克风电话短信存储空间运行时权限处理Android6.0系统默认为targetSdkVersion小于23的应用默认授予了所申请的所有权限,所以如果你以前的APP设置...

2018-11-08 14:34:18 127

转载 Rxjava2入门教程五:Flowable背压支持——对Flowable最全面而详细的讲解

如需下载源码,请访问https://github.com/fengchuanfang/Rxjava2Tutorial文章原创,转载请注明出处:Rxjava2入门教程五:Flowable背压支持——对Flowable最全面而详细的讲解背压(backpressure)当上下游在不同的线程中,通过Observable发射,处理,响应数据流时,如果上游发射数据的速度快于下游接收处理数据的速度,这样...

2018-11-07 14:55:14 635

转载 Rxjava2入门教程四:Scheduler线程调度器

如需下载源码,请访问https://github.com/fengchuanfang/Rxjava2Tutorial文章原创,转载请注明出处:Rxjava2入门教程四:Scheduler线程调度器Scheduler(线程调度器)赋予RxJava简洁明了的异步操作,可以说是RxJava中最值得称道的地方。在之前的代码中,Observable发射数据流,Observer接收响应数据流,以及Oper...

2018-11-07 14:54:38 245

转载 Rxjava2入门教程三:Operators操作符

如需下载源码,请访问https://github.com/fengchuanfang/Rxjava2Tutorial文章原创,转载请注明出处:Rxjava2入门教程三:Operators操作符Operators操作符操作符(Operators):其实质是函数式编程中的高阶函数,是对响应式编程的各个过程拆分封装后的产物。以便于我们操作数据流。按照其作用具体可分为以下几类:创建:创建一个可...

2018-11-07 14:54:11 131

转载 Rxjava2入门教程二:Observable与Observer响应式编程在Rxjava2中的典型实现

如需下载源码,请访问https://github.com/fengchuanfang/Rxjava2Tutorial文章原创,转载请注明出处:Rxjava2入门教程二:Observable与Observer响应式编程在Rxjava2中的典型实现在RxJava中,函数响应式编程具体表现为一个观察者(Observer)订阅一个可观察对象(Observable),通过创建可观察对象发射数据流,经过一...

2018-11-07 14:53:33 424

转载 Rxjava2入门教程一:函数响应式编程及概述

如需下载源码,请访问https://github.com/fengchuanfang/Rxjava2Tutorial文章原创,转载请注明出处:Rxjava2入门教程一:函数响应式编程及概述RxJava是函数响应式编程思想在java语言上的具体实现。RxJava2不是基于RxJava1的父子继承关系,而是同属这一具体实现下的同胞兄弟;所以,如果之前没接触过RxJava,在学习RxJava2之前不需...

2018-11-07 14:53:00 153

转载 看了一些 RxJava 的文章我依然不知道的事

以下代码基于 RxJava2内存泄露处理基本代码:private final CompositeDisposable disposables = new CompositeDisposable();public void doSomeWork2() { // 1. 创建一个普通的 observable Observable<String> obse...

2018-11-07 14:27:12 185

转载 RxJava2.0——从放弃到入门

前言终于到了讲RxJava这一期,RxJava是笔者个人非常喜欢的一个开源库,它很好的将链式编程风格和异步结合在一起。RxJava其实已经推出很久了,可以说是已经很火了,但是目前仍然还有相当一部分Android开发者没有使用过,甚至说是想用,却不知道怎么用,或者不知道自己的项目哪里可以用到,本着让广大开发者理解并且上手项目,从放弃到入门,故推出这边文章。注:本文所有的具体代码实现都在文章最...

2018-11-07 14:22:56 353

转载 Fragment全解析系列(二):正确的使用姿势

Fragment是可以让你的app纵享丝滑的设计,如果你的app想在现在基础上性能大幅度提高,并且占用内存降低,同样的界面Activity占用内存比Fragment要多,响应速度Fragment比Activty在中低端手机上快了很多,甚至能达到好几倍!如果你的app当前或以后有移植平板等平台时,可以让你节省大量时间和精力。简陋的目录1、一些使用建议2、add(), show(), hide()...

2018-11-07 11:36:36 169

转载 Fragment 生命周期的详情

Fragment每个生命周期方法的意义、作用(注意红色的不是生命周期方法):setUserVisibleHint():设置Fragment可见或者不可见时会调用此方法。在该方法里面可以通过调用getUserVisibleHint()获得Fragment的状态是可见还是不可见的,如果可见则进行懒加载操作。onAttach():执行该方法时,Fragment与Activity已经完成绑定,该方法有...

2018-11-07 11:28:33 168

转载 Fragment全解析系列(一):那些年踩过的坑

本篇主要介绍一些最常见的Fragment的坑以及官方Fragment库的那些自身的BUG,并给出解决方案;这些BUG在你深度使用时会遇到,比如Fragment嵌套时或者单Activity+多Fragment架构时遇到的坑。Fragment是可以让你的app纵享丝滑的设计,如果你的app想在现在基础上性能大幅度提高,并且占用内存降低,同样的界面Activity占用内存比Fragment要多,响应...

2018-11-07 11:16:48 248

转载 android4.4以上沉浸式状态栏和导航栏实现以及Bar的其他管理

自从android4.4开始,android手机状态栏再也不是一成黑的时代,之前叫做变色龙,miui6发布会把他叫做沉浸式,之后大家就自然而然的接受了沉浸式这个名称,其实实际应该叫做Translucent Bar,即为透明状态栏。  沉浸式实现原理其实是使整个activity布局延伸到整个屏幕,然后使状态栏变成透明色,有些手机会有导航栏,同样也可以把导航栏变成透明色,这样会使一些app更加美观。...

2018-11-06 18:39:50 422

转载 Android APP适配全面屏手机的技术要点

关于全面屏全面屏是手机业界对于超高屏占比手机设计的一个宽泛的定义。从字面上解释就是,手机的正面全部都是屏幕,四个边框位置都是采用无边框设计,追求接近100%的屏占比。但受限于目前的技术,还不能做到手机正面屏占比100%的手机。现在业内所说的全面屏手机是指真实屏占比可以达到80%以上,拥有超窄边框设计的手机。全面屏手机屏幕的宽高比例比较特殊,不再是以前的16:9了。比如三星的Galaxy S...

2018-11-06 18:35:10 656

转载 Toolbar的简单使用

前言:由于之前项目都没怎么使用toobar,今天心血来潮就写了个demo熟悉下,免得以后用到还得花时候查资料,顺便做下笔记!go。。。 一、简介        Toobar是5.0之后出来的,可以说出来之后就取代了ActionBar了(反正我身边的开发人员都不用ActionBar了),好处就不说了,用了之后好不好自己自然有所感觉,要注意的是要兼容5.0以下就使用V7包下的Toobar哦!...

2018-11-06 18:34:39 230

转载 android 5.0系统新加的默认颜色 colorPrimary,colorPrimaryDark的作用

伴随着Android5.0的发布也更新了support-v7-appcompat 到V21,其中增加了ToolBar、recyclerview、cardview等控件。Android5.0对改变APP样式下了不小的功夫,写法也和以前不一样了,下面先简单介绍一下colorAccent,colorPrimary,colorPrimaryDark……的作用:1.colorPrimary 应用的主要...

2018-11-06 18:22:20 160

原创 google sample

https://github.com/orgs/googlesamples/people

2017-11-23 18:19:54 558

原创 热更新 模块化 资料收集

http://blog.csdn.net/u011216417/article/details/72972457http://blog.csdn.net/luzhenyuxfcy/article/details/52669971?locationNum=5http://m.blog.csdn.net/crazy1235/article/details/76349554https

2017-10-24 16:33:24 253

转载 四种常见的 POST 提交数据方式

HTTP/1.1 协议规定的 HTTP 请求方法有 OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE、CONNECT 这几种。其中 POST 一般用来向服务端提交数据,本文主要讨论 POST 提交数据的几种方式。我们知道,HTTP 协议是以 ASCII 码传输,建立在 TCP/IP 协议之上的应用层规范。规范把 HTTP 请求分为三个部分:状态行、请求头、消息主

2017-03-10 15:40:53 437

原创 http://appxcode.com/index.php?con=index&act=category&cid=5

http://appxcode.com/index.php?con=index&act=category&cid=5

2017-02-06 19:21:37 12326

test3 popupwindow

关于PopupWindow的使用例子

2012-06-27

android 画图 bitmap drawable canvas paint

android 画图 bitmap drawable canvas paint

2012-06-06

android 矩阵学习

android matrix学习

2012-06-06

browser源码

browser源码

2011-11-24

mms源码

mms源码

2011-11-24

android游戏开发资源宝典

android游戏开发资源宝典android游戏开发资源宝典android游戏开发资源宝典android游戏开发资源宝典

2011-11-24

空空如也

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

TA关注的人

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