自定义博客皮肤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相机实时自动对焦的完美实现 由于android碎片化严重,而且各大厂商极有可能去修改相关API的实现,其中遇到了不少坑,包括实时相机高斯模糊,自动对焦的兼容问题,以及一系列性能问题。换过很多搜索引擎,访问过很多网站,访问过很多网站,拜读过很多代码,没有发现对于相机实时自动对焦特别完美...

2016-05-12 11:29:56 38113 28

原创 Android中SwipeBack右滑返回(手势返回)的实现

Android中SwipeBack右滑返回(手势返回)的实现现在有很多App支持右滑返回,比如知乎,效果比较赞。于是自己对Activity和Fragment进行了继承,派生出SwipeBackActivity和SwipeBackFragment,用于对这种效果的实现,也就是只要继承这两个类就可以了...

2015-12-09 12:00:21 4925 4

原创 谷歌io开发者大会2018:强大的AI帝国

 中国时间5月9日凌晨,谷歌一年一度的I/O开发者大会在旧金山山景城开幕。在两个小时的KeyNote演讲中,Google着重介绍了Google Photo、Google Assistant、Google Map、WAYMO等产品,包括发布的Android P,几乎所有产品都围绕着AI进行。 ##...

2018-05-27 12:43:16 2857 0

原创 Gallery2的OpenGL ES图形库的移植

在阅读google的Gallery2源码之后,简直和哥伦布发现新大陆时的心情一样激动。这是一个全新的世界,大部分摈弃了android原生的view体系,所有界面的渲染都是基于OpenGL ES,而且不同页面的切换也使用自己的page类,自己去管理它们的生命周期。本文主要对OpenGL ES库的移植...

2018-03-09 18:15:07 510 0

原创 还不来试试kotlin,开源在线音乐播放器MVP + RxJava + Retrofit。

SweetMusicPlayer是一款基于百度音乐API的在线音乐播放器。拥有播放本地、在线音乐以及mv等功能,采用 MVP + RxJava + Retrofit 架构的项目, 使用Java和Kotlin混合开发。 项目地址:https://github.com/WellerV/S...

2018-02-27 23:15:22 494 0

原创 android网络耗电优化

一,减小网络功耗应用程序的网络请求是造成电池耗尽的主要原因,因为他们打开耗电的移动数据或Wi-Fi无线电。除了发送和接收数据包所需的功率之外,这些无线电只要打开并保持清醒,就会消耗额外的功率。 每15秒一个简单的网络请求就可以使移动无线电持续不断地快速耗尽电池电量。 本课程将向您展示如何标记应...

2017-11-21 11:45:13 1478 0

原创 android电量优化措施

在开始电量优化以前,我们先总结下设备耗电的一些因素,然后各个击破。 如下图: 大概包含以下一些因素: - 屏幕亮度 - 网络相关 - 唤醒,格式模式的切换以及wakelock - 定位 - 其他传感器一,功耗分析工具功耗分析的工具多种多样,比如google官方提供的battery...

2017-11-21 11:42:52 829 0

原创 battery-historian工具的使用

本篇文章主要介绍battery-historian工具的安装。很多教程使用go语言编译安装,但是docker更为简单方便,由于被墙的原因,我们需要用到阿里云的docker hub加速器。

2017-11-21 11:39:07 961 0

翻译 SQLite查询计划器和优化(译)

以下内容为SQLite本身查询的计划器的一些优化,可以帮助开发者更好地理解SQLite,原文地址:http://www.sqlite.org/optoverview.htmlSQLite查询计划器和优化1.0 WHERE条件分析查询中的WHERE子句被分解为“条件”,其中每个条件由AND运算符与其...

2017-10-23 19:25:12 1001 1

原创 热更新Tinker研究(十一):so文件的patch

热更新Tinker研究-so文件的patch 本文主要通过对so_meta.txt的解析,结合源码来对tinker框架对于so文件的patch过程进行讲解。

2017-04-20 14:34:47 2801 0

原创 热更新Tinker研究(十):Res文件的patch

热更新Tinker研究-Res文件的patch 本文主要通过对res_meta.txt文件的分析,讲解tinker框架对于res文件的patch过程。

2017-04-20 14:31:17 1928 0

原创 热更新Tinker研究(九):Dex文件的patch

热更新Tinker研究-Dex文件的patch 本文主要讲解dex文件的patch过程,从tinker的DexPatchFile格式分析,对doFullPatch()作为重点讲解。

2017-04-20 14:29:04 2916 0

原创 热更新Tinker研究(八):res和so的patch文件生成

热更新Tinker研究-res和so的patch文件生成ResDiffDecoder和BsDiffDecoder分别是负责resource和so文件的patch生成相关的,它们很多地方比较相似,这里放在一起来说明。一、ResDiffDecoderResDiffDecoder是控制resources...

2017-04-20 14:25:21 2130 0

原创 热更新Tinker研究(七):Dex的patch文件生成

热更新Tinker研究-Dex的patch文件生成[toc] ApkDecoder中的dexPatchDecoder负责dex的patch生成工作,dexPatchDecoder实际上是UniqueDexDiffDecoder类型。这一系列相关的类的关系如下图所示。 BaseDecoder...

2017-04-20 14:05:48 3510 0

原创 热更新Tinker研究(六):TinkerPatchPlugin

热更新Tinker研究-TinkerPatchPlugin 在我们运行tinkerPatchDebug或者tinkerPatchRelease任务的时候,会执行TinkerPatchPlugin的apply(),实际上编写一个gradle的task只需要继承Plugin即可。 本文...

2017-04-20 13:58:43 4027 6

原创 热更新Tinker研究(五):Application的隔离

热更新Tinker研究-Application的隔离由于程序默认会加载Application类,所以框架的补丁将不能对它修改了。但是实际过程中却可能需要修改Application中的某些功能。隔离Applicationtinker采用的方案是,将原来的Application类隔离起来,即其他任何类...

2017-04-20 13:44:40 2676 1

原创 热更新Tinker研究(四):TinkerLoader

热更新Tinker研究-TinkerLoader 本文主要讲解tinker框架如何加载已经被打上补丁应用的过程。合成补丁后如何在启动后对应用进行更改呢,处理这个事情的主要类是TinkerLoader,对应dex、res、so文件分别是TinkerDexLoader,TinkerRe...

2017-04-20 11:46:56 3048 0

原创 热更新Tinker研究(三):加载补丁

热更新Tinker研究-加载补丁 本文主要讲解Tinker加载patch.apk的过程,主要是研究当把patch_signed_7zip.apk推送到sdcard之后,点击LOAD PATCH按钮之后的流程分析。

2017-03-22 17:41:30 7716 0

原创 热更新Tinker研究(二):结合源码学习Dex格式

结合tinker源码,使用010 Editor工具对dex文件结构进行分析,包含header,stringIds,typeIds等,对dex文件中使用的数据结构进行讲解。

2017-03-15 15:56:20 2310 0

原创 热更新Tinker研究(一):运行tinker-sample-android

热更新Tinker研究(一):运行tinker-sample-android热更新Tinker研究 本文通过对于tinker框架例子工程的分析,讲解了如何使用tinker以及如果操作tinker的patch。并且通过对脚本的分析,来讲解一些配置属性的作用。

2017-03-15 09:34:38 4245 1

原创 Gallery2源码阅读图片编辑

Gallery2源码阅读图片编辑以下是从Gallery2的入口类FilterShowActivity (图片编辑功能)顺序的阅读,对看到的内容进行了一个简单的整理和记录。其中包括FilterShowActivity在创建时主要做的事情,界面的变换,历史记录的管理以及ProcessingServic...

2016-09-19 22:21:30 1690 2

原创 Deepin 2015 体验版(Deepin Desktop Environment) 桌面环境 ubuntu下 安装

在/etc/apt/sources添加软件源deb http://packages.deepin.com/experimental experimental main后执行sudo apt-get dist-upgrade sudo apt-get install dde-next可体验开发版dd...

2016-05-23 22:57:58 2779 0

原创 Cannot load 32-bit SWT libraries on 64-bit JVM,SDK Manager不能启动。

遇到SDK Manager不能启动,在网上找到了两种解决方法。 1,将jdk替换成32位的。 2,将swt替换成64位的。 哎,无奈装了64位的,死活不想换成32位的。折腾了半天也没结果,比如下载了swt,然后替换sdk\tools\lib\x86_64的swt.jar,结果还是不行,依然报错...

2015-11-02 18:34:27 3306 0

原创 百度音乐API抓取-Fiddler

前段时间做了一个本地音乐的播放器 github地址,想实现在线播放的功能,于是到处寻找API,很遗憾,不是歌曲不全就是质量不高。在网上发现这么一个APIMRASONG博客,有“获取榜单,搜索歌词,下载地址,专辑”信息等等接口。 后来发现有些接口使用起来不是很方便,比如获取专辑信息,只能得到歌...

2015-10-08 23:16:37 3283 11

原创 Android 实时滤镜 高斯模糊

Android相机实时预览以及高斯模糊的处理,涉及到一些相机开发以及图片转码处理等内容。能够在定义控件上实时预览摄像头内容,并且做高斯模糊滤镜处理。

2015-09-11 16:18:54 5815 5

原创 高仿墨迹天气“我”页面

看到墨迹天气的“我”页面比较炫酷,处于好奇,就写了一个demo模仿一下。1,实现效果实现的效果分三个部分来说明,首先是下拉到最大高度,个人信息界面会产生一个回弹的效果,然后是滚动到顶部,个人信息界面收缩,并且产生登录按钮会重新出现,黄色的消息按钮会平移到最右边。最后是在这两种状态之间,控件会根据滚...

2015-09-10 20:17:57 1620 0

原创 Titanic (带波纹效果的TextView)源码分析

前一段时间用LinearGradient(线性渐变) 写了一个颜色变化闪动的文字控件和文字进度条http://blog.csdn.net/huweigoodboy/article/details/43088953, 最近在github上看到一个开源控件Titanic,特拿来分析一下,效果如下图:...

2015-04-29 17:34:53 1328 0

原创 一个简单的滚轮选取控件

网上有很多滑动选取的控件,比如Android-wheel,github地址,本文只是记录下以前写过的类似控件的思路,不适合实际项目使用。 先来讲讲思路,我这样重复造轮子不太好,而且实现的功能也比较简陋,不过还是打算写下来,记录一下自己成长的过程。控件中准备将控件中的控件项通过onDraw(...

2015-03-31 10:34:58 1071 0

原创 RangeSeekBarView 选定范围值的控件

自定义实现了一个选定范围值的控件,刻度尺为等分的100等分。模仿二手车app中筛选选定区间的控件。 首先将这个控件分成四部分,位置标记,刻度,尺子,游标。

2015-03-17 12:50:42 2188 0

原创 含有RelativeLayout的View.measure()空指针异常

今天写了一个测量某个控件的方法,在调用measure()方法时抛出了空指针异常。 具体表现是在android4.4(API19)上没问题,在android4.2.2(API17)就有这个问题了。 看了下RelativeLayout的onMeasure()方法的源码,发现有这么一...

2015-03-11 11:51:46 1619 0

原创 IReader打开书本,关闭书本动画的自定义控件

一,实现思路 实现的效果: 此控件主要是模仿IReader打开书本翻转以及放大特效,在看文章之前可以找本书来翻转加深理解,呵呵,开个玩笑,进入正题。 打开书本: 上层为cover,下层为content。cover播放放大翻转动画,content播放放大动画。 几个注意点: 1,动画的播放...

2015-02-09 16:09:17 1941 0

原创 仿QQ空间滚动ActionBar透明度变化Demo

QQ空间5.0的ActionBar会随着滚动的距离让ActionBar的透明度发生变化,效果还是非常cool,自己实现了一个小demo,基本实现了上面的所说的效果,但是其他控件的事件监听以及一系列较为复杂的控件的冲突还没考虑,暂时来总结下。 1,实现思路: 在最外层包裹一个自定义的Fading...

2015-02-02 09:17:37 3882 6

原创 闪动的文字和文字进度条控件

以前看到过有进度条是填充文字的,好奇心作祟,便想自己写一个试试,但是还是比较粗糙,进度条末端没有水流等涌动的效果。 两个控件都是继承TextView,便于设置字体大小等相关属性。 1,GradientTextView  渐变颜色的文字控件 主要用到LinearGradient类,用于渐变...

2015-01-24 21:23:29 1784 1

原创 仿天天动态上拉播放界面控件

看到天天动听的播放界面,可以从底部划出来,被其效果惊艳到,于是想自己动手模仿。 最开始想到的是用SlidingDraw,因为有几分相似,SlidingDraw有一个handle,拖着handle让content跟着移动。区别在于在我们要设计的控件handle是不动的,监听到handle的touch...

2014-12-26 09:38:36 1453 0

原创 android seletor失效问题

两种原因, 1,xml文件不能和图片名称相同。 2,xml中红色部分一定要在最后

2014-12-17 19:53:42 742 0

原创 Android studio导入模块 提示已经存在的问题

在团队开发时,新加入一个Module,想导入提示已经存在,但是实际上又不会编译进去,解决方案,在setting.gradle中加入include ':模块名称'

2014-12-16 16:09:59 2119 0

原创 ViewGroup selector属性问题...

想实现一个底部栏,发现selector属性不起作用,特别是自定义的LinearLayout .setSelelct(true)失效了,以为是select还要特定的属性,后来看到自己的代码,才觉得这种错误犯的真是有点幼稚,特此记录下来。 void setSelelctTab(int...

2014-12-12 15:12:30 1011 0

原创 LinearLayout onClick方法失效问题。。。

在自定义一个控件,用到了LinearLayout布局,发现onClick监听失效,解决办法如下。 去掉xml中android:clickable属性,在代码中设置。

2014-12-11 20:12:20 2094 0

转载 Android Studio快捷键整理

转载地址:http://forum.android-studio.org/forum.php?mod=viewthread&tid=39&extra=page%3D1 Alt+回车 导入包,自动修正 Ctrl+N   查找类 Ctrl+Shift+N 查找文件...

2014-12-09 12:25:52 733 0

原创 Jsoup入门-java

1,解析一个本地网页。 File input = new File("/tmp/input.html"); Document doc = Jsoup.parse(input, "UTF-8", "http://example.com/")...

2014-12-02 12:59:50 744 0

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