Android魔法系列大全(不定时更新)

这一些列主要带大家实现一些Android中比较酷炫的效果、组件或动画,随便提高和加深在Bitmap、view绘制、animation、touch分发等方面的知识。 项目的github地址:FastWidget4Android  很多炫酷的自定义效果,欢迎fork和star! 专栏地址:http...

2017-09-13 10:02:53

阅读数 816

评论数 0

android中几种定位方式详解

Android进阶之路系列:https://blog.csdn.net/chzphoenix/column/info/16488 前言: android中我们一般使用LocationManager来获取位置信息,这里面有四中provider: public static final S...

2019-04-19 17:13:00

阅读数 25

评论数 0

探讨8.0版本下后台service存活机制及保活

Android进阶之路系列:https://blog.csdn.net/chzphoenix/column/info/16488     前段时间时间对targetsdkversion进行升级,结果发现了一个问题: 在不升级前,app退出后,后台service可以存活很长一段时间;而升级后...

2018-11-20 17:22:56

阅读数 1624

评论数 0

动态修改android中的资源索引resId

Android进阶之路系列:http://blog.csdn.net/column/details/16488.html一、引言1、为什么要动态修改资源索引一般情况下我们不需要干预资源索引,因为gradle会自动整合项目及所有依赖的资源,再进行相关编译工作,这样资源索引不会冲突。但是如果我们在ap...

2018-06-05 15:52:33

阅读数 984

评论数 9

Android逆向:二进制xml文件解析 之 Start Tag Chunk

  《Android逆向及安全》系列专栏:https://blog.csdn.net/chzphoenix/column/info/23485   1、xml结构 在Android中,xml文件经过编译后都是不可读的二进制文件。它的结构如图: 简单说一下大概的结构:   Head...

2018-06-05 15:09:40

阅读数 626

评论数 0

resource.arsc二进制内容解析 之 Dynamic package reference

1、加载Theme出错这是一篇补充文章,在做动态替换resId的过程中,我发现bag类型的ResTable_entry在使用过程中存在问题。比如style,其parent解析一直有问题,日志如下:W/ResourceType: Failed resolving bag parent id 0x7d...

2018-06-04 17:00:13

阅读数 486

评论数 0

gradle编译打包过程 之 ProcessAndroidResources的源码分析

《利器!Android开发工具之谈》专栏系列:https://blog.csdn.net/column/details/16703.html首先,如何查看gradle源码,我们在项目里依赖com.android.tools.build:gradle即可,如下:compile gradleApi()...

2018-06-04 15:49:44

阅读数 1005

评论数 0

resource.arsc二进制内容解析 之 RES_TABLE_TYPE_TYPE (Config List)

1、resource.arsc结构我们先来看resource.arsc的结构如图:(本来网上有一张神图,但是结构表现的不够清晰,而且比较旧了,缺少了一些新的东西,所以我根据神图自己又重新整理了一张架构图,新的东西是指Dynamic package reference,具体可以看)在package结...

2018-06-04 14:57:52

阅读数 392

评论数 0

ListView和GridView的缓存机制及measure过程

Android进阶之路系列:http://blog.csdn.net/column/details/16488.html在Android开发中我们经常使用ListView和GridView,它们都有一套缓存机制,通过复用防止view的不停创建。ListView和GridView都是AbsListV...

2018-04-20 10:42:05

阅读数 205

评论数 0

Android中如何使控件保持固定宽高比

Android进阶之路系列:http://blog.csdn.net/column/details/16488.html我们在android开发过程中可能会遇到一种情况,一个组件需要保持固定的宽高比,但是组件本身大小却不定。尤其在android屏幕碎片化的情况下,很多时候我们需要让一个组件宽度与屏...

2018-04-18 10:16:56

阅读数 2101

评论数 0

解读ImageView的wrap_content和adjustViewBounds的工作原理

Android进阶之路系列:http://blog.csdn.net/column/details/16488.htmlImageView是android开发过程中经常会使用的一种组件,由于android屏幕碎片化的问题,有时候我们无法设定一个具体的宽高。比如说width是match_parent...

2018-04-17 10:59:27

阅读数 722

评论数 0

非UI线程下页面处理:view的postInvalidate和post对消息处理的差异化

Android进阶之路系列:http://blog.csdn.net/column/details/16488.html我们知道view有一系列post方法,用于在非UI线程中发出一些页面处理。view还有另外一个postInvalidate方法,同样在非UI线程中发起重绘。同样是在非UI线程向U...

2018-04-16 11:54:01

阅读数 241

评论数 0

Bundle/Intent传递序列化参数暗藏杀机!

Android进阶之路系列:http://blog.csdn.net/column/details/16488.html前几天一个朋友跟我说了一个诡异且恐怖的事情,有个人用了几行代码就让他们的app歇菜了。这勾起了我极大的兴趣,于是我亲自尝试了一下。代码非常简单,如下:Intent intent ...

2018-04-03 10:11:35

阅读数 1257

评论数 0

探索startActivity流程及在Activity间是如何传递Intent的

Android进阶之路系列:http://blog.csdn.net/column/details/16488.html在activity中intent到底是怎么传递的,而且还可以跨进程甚至跨app来传递,下面我们从源码层面探索一下从startActivity开始,源码如下:@Overridepu...

2018-03-06 16:24:02

阅读数 1742

评论数 0

一步一步自定义spinner

spinner就是下拉选择组件,系统自带的spinner使用起来非常方便,首先定义一个array(strings.xml),如下:<array name="grade"> <item&am...

2018-03-01 16:44:47

阅读数 714

评论数 0

c++学习笔记之异常

c++学习笔记系列:http://blog.csdn.net/column/details/17301.html1、异常详细见《c++异常分类》基类exception有一个virtual函数what,返回错误信息(构造函数设定的)。基类exception的派生类有runtime_error(运行时...

2018-02-26 18:18:04

阅读数 144

评论数 0

c++学习笔记之输入/输出流

c++学习笔记系列:http://blog.csdn.net/column/details/17301.html1、wchar_t区别于char,用于存储unicode字符。而char是单字节,只能存储ascii字符。2、cin/cout/cerr/clogcerr无缓冲错误流          ...

2018-02-24 16:55:15

阅读数 166

评论数 0

c++学习笔记之模板

c++学习笔记系列:http://blog.csdn.net/column/details/17301.html1、函数模板template<typename T> void name (T ...)其中typename也可以换成class。(1)可以多...

2018-02-22 15:45:00

阅读数 201

评论数 0

java中四种线程池及poolSize、corePoolSize、maximumPoolSize

Executors提供四种线程池: newCachedThreadPool :缓存线程池,如果线程池长度超过处理需要,可回收空闲线程,若无可回收,则新建线程。newFixedThreadPool : 定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。newScheduledThre...

2018-01-04 10:31:11

阅读数 7702

评论数 0

自定义RecyclerView动画——实现remove飞出效果

我们经常会遇到在一个list中删除一条数据,这时候一般会有一个飞出的动画效果,如下图:在RecyclerView中可以通过setItemAnimator函数设置一个ItemAnimator,实现item的add、remove、change等动作的动效。下面我们就通过ItemAnimator来实现上...

2018-01-03 11:16:59

阅读数 2660

评论数 3

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