自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

年少的风

踏踏实实做好一件事,拒绝酱油!

  • 博客(156)
  • 资源 (23)
  • 收藏
  • 关注

原创 Android Activity 介绍

Activity 因状态变化—系统是创建 Activity、停止 Activity、恢复 Activity 还是销毁 Activity— 而收到的回调方法可能有若干种,每一种回调都会为您提供执行与该状态变化相应的特定操作的机会。这些状态转变都是 Activity 生命周期的一部分。不过,当系统为了恢复内存而销毁某项 Activity 时,Activity 对象也会被销毁,因此系统在继续 Activity 时根本无法让其状态保持完好,而是必须在用户返回 Activity 时重建 Activity 对象。

2024-04-08 15:35:36 770

原创 用Android Studio签名打包signature versions v1 v2

Android Studio 2.3版本对打包apk的签名做了更新,按照以前的打包方式,有如下提示:是说下面的v1和v2必须至少选择一个: 只勾选v1,跟以前是一样的; 只勾选v2,打包完成后安装出错:Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]; 同时勾选v1和v2,还是会出现上面的错误;查看旁边的Signature Help可以了解v2签名可

2017-03-22 18:21:54 3196

原创 使用JavaCV(ffmpeg)录制视频

使用JavaCV(ffmpeg)录制视频JavaCV是对各种常用计算机视觉库的封装后的一组jar包,其中封装了ffmpeg、OpenCV、libdc1394、OpenKinect、videoInput和ARToolKitPlus等计算机视觉编程人员常用库的接口,可以通过其中的utility类方便的在包括Android在内的Java平台上调用这些接口。其中使用最多的应该就是ffmpeg了。 起初Ja

2017-03-22 17:59:35 13578 1

原创 支付宝 AR 红包辅助工具

上周支付宝退出AR红包,玩法确实不错,但是上线当天就被操翻了。笔者是周五开始玩的,当天同事说可以直接扫线索图片打开红包,由于线索图添加了防作弊的黑色条纹,所以笔者试了好多次都没打开一个,于是就放弃了。哪知下班回家在公交上在头条看到文章讲如何处理线索图增大打开红包的几率: 1.将线索图片复制一份,透明度设置为50%; 2.覆盖在原图上,并向下偏移几像素; 3.将合成后的图片用高斯模糊处理,半径设

2016-12-27 12:35:01 802 1

原创 Android View如何加载drawable资源

Android开发时难免会遇到图片加载的问题,简单的做法就是把问题丢给图片框架处理,几个主流的图片框架各有特色,这里也不展开说,今天突然想了解一下Android图片资源的加载,主要是想参考一下,view是如何加载drawable的,因为我们可以直接在UI线程直接设置view的背景res,如果这个资源图很大会不会导致ANR或者OOM? 首先从View.setBackgroundResource(in

2016-11-27 11:40:33 3954

原创 Android编程规范

命名规范1. 基本原则(1) 代码风格与android源码保持一致 (2) 命名要清晰明了、有明确含义 (3) 同一产品命名风格要保持一致,避免一意多词 (4) 同一作用域,不能有变量重名,如局部变量与全局变量重名2. 包名(1) package命名如com.brian.xx.yy.zz,xx为产品,yy为模块,zz为子模块 (2) 模块划分,按以下两种方式均可,但需要项目组统一 -

2016-10-27 12:24:40 607

原创 使用mp4parser进行音视频合成

需求:相机录制短视频,支持暂停继续,并配有背景音乐。 由于Android自带的MediaRecorder并不支持视频录制暂停,所以只能录制视频片段,最后录制结束时将之前录制的视频片段合并起来。背景音乐也是需要合成到视频中。网上搜索到的大多数解决方案是使用mp4parser,名字看上去就感觉挺上手的,后面一看包名,竟然是googlecode,所以义无反顾的使用mp4parser。 很多博客里面都有

2016-10-26 19:05:32 8311 2

原创 自定义View——可打点记录的进度条

自定义View——可打点记录的进度条项目为短视频录制的进度条,类似微信小视频,只是样式不一样。需要设定进度条总时长,还有最低时长。视频录制过程中暂停时,如果录制时长长低于最小时长,则算暂停,不能完成录制,若高于最低时长,则显示结束录制按钮,也可以继续录制。每次暂停都需要在进度条上显示一个标记。效果如下图: 先分析一下这个进度条的组成,首先是一个底色背景,然后初始化有一个最小录制时长标记,然后是

2016-10-19 23:08:52 1323

原创 Android沉浸式状态栏的实现方案探讨

多次尝试实现Android沉浸式状态栏,资料很多也很杂。并且有好几种实现方案,网上有好些资料把几种方案都混在一起,暂时把效果实现了,但是遇到问题后就蛋疼了。于是,这两天我就把从根源上把这几种方案的原理都整理了一下。主要有四种方案,有的方案还可以细分: 1. WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS; 2. Window.setStatu

2016-10-08 18:06:35 840

原创 AS2.2打包:release-stripped.ap_' specified for property 'resourceFile' does not exist

刚才打包一直提示下面的问题:Error:A problem was found with the configuration of task ':app:packageBAIDURelease'.> File 'D:\AndroidStudioProjects\CodeBlog\app\build\intermediates\res\resources-BAIDU-release-stripped

2016-09-22 10:27:08 5018 6

转载 给 Android 开发者的 RxJava 详解

前言我从去年开始使用 RxJava ,到现在一年多了。今年加入了 Flipboard 后,看到 Flipboard 的 Android 项目也在使用 RxJava ,并且使用的场景越来越多 。而最近这几个月,我也发现国内越来越多的人开始提及 RxJava 。有人说『RxJava 真是太好用了』,有人说『RxJava 真是太难用了』,另外更多的人表示:我真的百度了也谷歌了,但我还是想问: RxJava

2016-09-19 12:19:15 663

原创 OkHttp源码探索

之前一直在使用volley作为网络请求模块,但发现volley已经过时(源码还是很值得反复品味的),现在基本是Retrofit和OkHttp的天下了,于是把OkHttp拿来学习一下。 首先,看一个OkHttp的简单示例: Request.Builder builder = new Request.Builder().url(url).get(); Request o

2016-09-13 20:41:55 458

原创 Android发送邮件mark

public class MailSender { private static final String LOG_TAG = MailSender.class.getSimpleName(); private static final int PORT = 25; /** * 以文本格式发送邮件 * @param sender 发件人邮箱 * @

2016-08-30 11:36:40 683

原创 Emmagee学习之获取内存及CPU占用等数据

Emmagee是网易杭州研究院QA团队开发的一个简单易上手的Android性能监测小工具,主要用于监控单个App的CPU,内存,流量,启动耗时,电量,电流等性能状态的变化,且用户可自定义配置监控的频率以及性能的实时显示,并最终生成一份性能统计文件。 测试QQ的效果如下: /** * 通过pid获取应用占用的内存 * @return */ publi

2016-08-30 11:28:07 1341

原创 Android沉浸式通知栏开源库SystemBarTint源码解析

前一段时间我写了一篇关于沉浸式的文章:Android实现沉浸式状态栏的那些坑 当时只是知道SystemBarTint的存在,并没有去了解它的实现效果和原理,因为搜Android沉浸式时好多都提到这个开源库,还以为很强大、很深奥,就没敢仓促的去看源码。今天把SystemBarTint拉下来一看,发现这个库仅仅只有一个类:SystemBarTintManager,全篇通读下来发现原理也是相当简单:就是

2016-08-23 15:56:31 3533

转载 jadx:更好的Android反编译工具

在jadx出现之前,我一般是使用apktool和dex2jar这两个Android反编译工具。这两个工具也有不同的侧重点,如果只是想拿到apk里的一些图片或其他资源或是查看一下布局的layout文件,直接使用apktool -d xxx.apk即可。如果是要查看一下代码实现,就使用d2j-dex2jar.sh反编译一下apk然后使用jd-gui工具查看反编译后的.jar文件。apktool+dex2

2016-08-17 17:28:31 1466

转载 Android Drawable之ShapeDrawable

OverviewShapeDrawable 根据原始的形状来绘制图形,如矩形,圆形,线条等,可以是一个纯色的色块,也可以渐变的效果。当没有设置具体的图形时,默认为矩形。创建和使用ShapeDrawable可以使用<shape>标签在xml文件中定义,但是与之前介绍的几种Drawable不同,<shape>标签指向GradientDrawable的指针,也就是说编译的类型是GradientDrawab

2016-08-16 19:32:27 3585

转载 Android Drawable之ScaleDrawable

OverviewScaleDrawable与ClipDrawable类似,可以根据设置的level值对drawable进行缩放,但与ClipDrawable不同的是,ScaleDrawable还可以根据设置android:scaleWidth和android:scaleHeight进行相应百分比的缩放。创建和使用语法:<?xml version="1.0" encoding="utf-8"?><s

2016-08-16 19:19:06 4692 1

转载 Android Drawable之ClipDrawable

OverviewClipDrawable可以根据设置的level值和方向对当前Drawable剪切后显示。它根据level的属性值,决定剪切区域的大小,level的取值范围从0到10000,level为0时完全不显示,为10000时完全显示。(The drawable is clipped completely and not visible when the level is 0 and full

2016-08-16 19:13:49 1823

转载 Android Drawable之InsetDrawable

OverviewInsetDrawable 表示一个drawable根据指定的距离嵌入到另外一个drawable内部。(我们看到的其实还是同一张图片,只是会空出一些边距)当控件需要的背景比实际的边框小的时候比较适合使用InsetDrawable。创建和使用在xml文件中使用<inset>作为根节点来定义InsetDrawable。 语法为:<?xml version="1.0" encoding=

2016-08-16 19:09:02 2788

转载 Android Drawable之TransitionDrawable

Overview从Drawable的类继承图上可以看到TransitionDrawable是LayerDrawable的子类,但是不像LayerDrawable可以有多层drawable,TransitionDrawable只能管理两层drawable,并且提供了一个透明度变化的动画,可以控制从一层drawable过度到另外一层drawable的渐变动画效果。在xml文件中使用<transition

2016-08-16 19:05:05 1026 1

转载 Android Drawable之LayerDrawable

Overview一个LayerDrawable是一个可以管理一组drawable对象的drawable。在LayerDrawable的drawable资源按照列表的顺序绘制,所以列表的最后一个drawable绘制在最上层。 在xml文件中使用<layer-list>作为根节点来定义LayerDrawable,通过item子节点定义每一层的drawable,layer-list没有属性节点,只包含i

2016-08-16 18:59:56 3577

转载 Android的Drawable体系

在官方文档中对Drawable的定义为:可绘制物件的一般抽象(A Drawable is a general abstraction for 『something that can be drawn』)。『可绘制的』本身也是个抽象的概念,而且容易让我们联想到Android里另一个较抽象的概念『View』,我们知道View也是可以绘制的,那View是不是也可以称为Drawable呢?官方的文档中也有这

2016-08-16 18:52:26 488

原创 Android实现沉浸式状态栏的那些坑

最近项目需要实现沉浸式的状态栏,其实我在之前就了解过Android的沉浸式,发现有些棘手就放弃了,但是此次是公司的项目需要的,就花了几天把这个问题搞定了,在此记录一下,并mark几个坑。 首先,沉浸式是Android 4.4及以上才有的,在后续的5.0及6.0上面都增加了一些相关支持,于是问题就不太好办了。先看我实现的效果: 首先,在4.4版本添加了WindowManager.LayoutP

2016-08-02 17:40:23 43542 17

原创 android:ellipsize实现跑马灯效果

要实现标题跑马灯效果,找了好多资料,终于搞定,在这里mark一下: <TextView android:layout_width="240dp" android:layout_height="wrap_content" android:gravity="center" android:ell

2016-07-31 16:27:49 523

原创 ViewPager实现页卡的最新方法--简洁的TabLayout(AndroidSupportDesign)

Google在2015年的Google IO大会上更新了Design Support Library,里面提供了几个封装好的MeterDesign风格控件,其中包括:TextInputLayout : 使用TextInputLayout将EditText进行了封装,提示信息会变成一个显示在EditText之上的floating label,这样用户就始终知道他们现在输入的是什么,而且过度动画是平滑

2016-06-30 21:05:35 2947

原创 Android烟花效果(SurfaceView实现)

烟花效果搜出来好像很多,但是没有太好的例子,于是自己做了一个效果,仅仅是完成了定制的需求。看下效果: 效果是,一个气泡抛物线出来,然后爆开。大致跟上次分享的点赞特效差不多,仅仅是根据需求绘制不同的效果:SurfaceView实现点赞效果把相同代码去掉了,要直接用的话拼接一下吧,这里主要是说一下绘制过程/** * 直播页面点赞特效,采用SurfaceView绘制 * 与普通控件使用方法类似,点赞

2016-06-14 19:15:25 7660 8

原创 Android滑动开关控件

先看效果 点击按钮时切换状态,也可以拖动切换。在滑动过程中,颜色透明度有渐变(本想做颜色渐变,但是对颜色计算不太懂,直接取平均值做出来很难看,故而采用透明度来调节效果)。 直接在代码里注释说明public class SlideButton extends View { private Paint paint = new Paint(); /** * false 为关闭

2016-06-08 16:03:38 869

原创 【开源项目】编程博客Android客户端——CodeBlog

业余时间写的一个开发技术博客客户端,已在应用宝和360手机助手上线。CodeBlog是为了方便在手机端阅读编程技术博文。应用展示了CSDN博客,InfoQ,开源中国和ITEye上的技术博文,并提供了技术类型的选择,如移动开发、数据库、云计算等,让你随时随地都可以轻松阅读技术大牛的文章。 目前已实现的功能: 1. 集成CSDN、InfoQ、oschina、ITEye、泡在网上的日子等技术网站上的精

2016-06-01 20:35:11 2163 6

原创 开源中国(oschina)Android客户端主页返回按钮效果实现

先看看效果 开源中国的Android客户端的返回按钮就是这样子的,刚开始看的时候感觉好酷,然后就看源码,找着找着发现其实是Android封装好了的一个控件DrawerArrowDrawable,但是这个只是在Android5.0才加入的,于是乎就看了一下这个控件的源码,发现很容易就能抠出来单独用。 于是,我用抠出来的DrawerArrowDrawable写了个demo:https://git

2016-06-01 14:06:40 567

原创 Android中dp,px,sp等单位转换

一般我们都会自己写一个dp转px或者sp转px的工具类,给个链接http://blog.csdn.net/top_code/article/details/8588703 但是今天我发现Android自带了这种转换工具类TypedValue,下面是转换的方法 /** * Converts an unpacked complex data value holding a dimens

2016-06-01 12:27:28 588

原创 Android开发中好用的开源工具(持续更新)

1. EmmageeEmmagee是网易杭州研究院QA团队开发的一个简单易上手的Android性能监测小工具,主要用于监控单个App的CPU,内存,流量,启动耗时,电量,电流等性能状态的变化,且用户可自定义配置监控的频率以及性能的实时显示,并最终生成一份性能统计文件。 github:https://github.com/NetEase/Emmagee2. LeakcanaryLeakCanary

2016-04-29 10:21:56 668

原创 Android使用Handler防止内存泄漏

在Android开发中经常会使用handler做定时任务或者更新UI等,但是handler在好用的同时也是非常容易导致内存泄漏。因为handler在作为一个类的属性时会持有该类(通常是activity或fragment)的引用,而handler在发送message时,该message的target通常就是handler本身,也就是通过handler发送的消息间接持有该类的引用。当该类应当被回收,而消

2016-04-26 17:53:01 1721 2

原创 Android应用内存泄漏笔记

注册的监听回调,需要考虑移除监听;尤其是注册到单例中的监听!!!bitmap用完之后记得recycle,原因请看这里注意context(activity,fragment)的引用;注意handle的使用,由于延时消息(包含handle的引用),导致handler所在的context不能释放;解决方案看这里

2016-04-26 17:37:17 324

转载 Android 在使用Bitmap的时候为啥要手动调用recycle方法呢?

我们知道手机的内存有限,而图片所占的内存往往又很大。所以在处理图片的时候可以在服务端或者客户端提前将图片处理一下,减少其体积。另外使用Bitmap的时候可以使用SoftReference来及时释放资源。但是看到好多程序还是主动地调用Bitmap对象的recycle方法来释放资源。可能我们就有疑问了:不是java会自动回收内存吗,那干吗还要手动地去回收?要解决这个问题,我们得去看看recycle的源码

2016-04-26 11:42:40 733

原创 【Android控件】呼吸效果的动画

由于只是展示上的,就不需要使用属性动画。直接使用的补间动画,简单的动画。public class MainActivity extends Activity { private ImageView mImageView; @Override public void onCreate(Bundle savedInstanceState) { super.onCrea

2016-04-13 20:04:08 8909 1

转载 实现activity变暗的效果

有什么便捷的方式实现activity变暗的效果不要新开启Activity的方式也不要使用Dialog让背景跟Dialog出现一样,变暗,带动画。private void dimBackground(final float from, final float to) { final Window window = getWindow(); ValueAnimat

2016-03-22 17:34:31 1202

转载 应用内切换主题有哪些方案可以实现

应用内切换主题有哪些方案可以实现这里讨论的只是白天、夜晚主题切换这种场景,不涉及外部资源加载。现在要给App添加夜晚主题,所以就需要选择一种应用内部更换主题的实现方案,目前来说,比较常见的几种方式如下:Theme设置Theme来切换不同主题。优点:利用系统自带的机制实现,根据标志位setTheme()即可。缺点:在主题切换界面不重启的情况下,不能自动完成界面主题的刷新。遍历View对主题的更换,使用

2016-03-22 17:32:21 622

原创 SurfaceView实现点赞效果

项目需要实现点赞的效果,在网上找个一个解决方案: http://www.jianshu.com/p/03fdcfd3ae9c 初用一些还好,暴力测试一下发现很卡,不太好用。并且像如此麻烦的动画,确实该用 SurfaceView来实现。于是就找资料,没有找到直接能用的。最后,还是自己来实现。先看效果图: 点击屏幕时,从屏幕底部飘出随机的一个赞的图标。 demo中两个核心的东西: 1.

2016-03-08 15:34:55 1811 3

原创 图片循环滚动控件ScrollingImageView

设置一个图片,控件可以自动循环滚动,单张图片首尾拼接/** * 可滚动的ImageView控件,使用startRolling(int) 或者 startRolling(Bitmap)启动滚动 * @author brian512 */public class ScrollingImageView extends View { public final float SPEED_SLOW

2016-03-02 20:58:10 2472 2

TensorFlow 官方文档中文版 - v1.2(极客学院整理)

TensorFlow 官方文档中文版 - v1.2(极客学院整理) 高清 文字版

2018-02-02

程序员编程艺术:面试和算法心得

程序员编程艺术:面试和算法心得

2016-09-07

Android应用开发揭秘.pdf

Android应用开发揭秘.pdf Android应用开发揭秘.pdf

2016-07-09

git官方文档(中文文字版版)

git官方文档(中文版),从开源中国上面扒下来的,带完整目录

2016-06-22

DrawerArrowDrawable.java

开源中国Android客户端主页面的返回按钮效果

2016-06-01

ant-contrib.jar

ant-contrib.jar 用于ant批量打包,<pathelement location="${env.ANT_HOME}/lib/ant-contrib-1.0b3.jar"/>

2016-03-13

ChromeStandaloneSetup.exe(2016-2-27)

这个是Google浏览器安装包,更新日期:2016-2-27

2016-02-27

android-support-v4.jar解决了友盟反馈

集成友盟反馈时容易出现java.lang.NoSuchMethodError: No virtual method setColorSchemeResources,或者 java.lang.NoClassDefFoundError: com.umeng.fb.fragment.FeedbackFragment,使用该v4包就OK了

2016-02-14

使用ViewPager做轮播的banner控件

轮播banner控件,可无限循环自动切换,可设置手动滑动,可设置切换时间间隔,可设置切换动画时长

2016-01-05

Android抓包工具tcpdump

Android抓包工具tcpdump, 把tcpdump文件push到/data/local/tcpdump 添加权限chmod +x /data/local/tcpdump 开始抓包/data/local/tcpdump -p -vv -s 0 -w /sdcard/capture.pcap 取出数据adb pull /sdcard/capture.pcap ~/ 用wireshark分析

2015-06-07

Source Insight 绿色汉化版兼容64位win8

Source Insight 绿色版,兼容64位win8 解压后先运行 @绿化x32.reg 或 @绿化x64.reg 然后就可以直接双击 Insight3.exe中文版 或 Insight3_en.exe英文版

2015-05-24

httpcore官方文档(简体中文)

httpcore官方文档(简体中文), 详细讲解httpcore的使用, 以及原理

2015-04-15

AIDL和JNI使用的小例子

AIDL和JNI使用的小例子,文件为eclipse下的源码,配合我的博客可以查看如何使用aidl和jni

2015-02-28

Volley编译生成的jar包

Volley编译生成的jar包, 具体的生成步骤参考我的博文:http://blog.csdn.net/brian512/article/details/43667531

2015-02-09

Android参考文档chm格式

Android参考文档chm格式, 英文版, 没事看看官方文档还是不错的

2015-02-05

廖雪峰的GIT教程(文字版, 带目录)

廖雪峰的GIT教程,文字版,带目录,对于git入门是很不错的选择哦

2015-02-05

ubuntu编译android环境配置脚本

ubuntu编译android环境配置脚本,具体使用方法可以参考我的博文:http://blog.csdn.net/brian512/article/details/43195105

2015-01-27

50 Android Hacks(英文文字原版)

打造高质量Android应用:Android开发必知的50个诀窍 [50 Android Hacks]

2015-01-20

sqlitemanager_1.0.0.jar

Android开发工具---SQLiteManager插件 平时在开发过程中查看数据库都要把数据库文件导出来,然后再用其他工具打开,SQLiteManager插件则给予我们一些便利,只需要按照下面的操作步骤就可以在eclipse里面查看数据库了 具体步骤如下: 1.下载com.questoid.sqlitemanager_1.0.0.jar文件 2.复制jar包到 eclipse/dropins/ 目录下面 3.重启 eclipse 4.插上手机或者打开模拟器就可以看到上图所示右上角的图标了 5.选中项目的db文件,点击右上角的图标就可以看到数据库的内容

2014-12-08

Genymotion plugin for Eclipse V1.0.3

Android模拟神器Genymotion下载地址: https://cloud.genymotion.com/page/launchpad/download/ 共享文件为Genymotion plugin for Eclipse V1.0.3 请将jar文件旋转在Eclipse安装目录下的plugins子目录当中

2014-11-27

Git-1.9.2-preview20140411.exe

Git-1.9.2-preview20140411.exe

2014-11-13

PilotEdit_Lite_Setup.exe

通常遇到的大文本文件是log日志文件,GB级别的log文件很常见 通常在打开log文件时头痛,因为常用的一些文本文件工具都不好用了,比如UE,notepad++等,记事本就不用提了 今天,我需要在1.5G的log文件中查找标签,然后导出到新的文本文件中,再进行其他的操作。 用notepad++时,直接提示文件,无法打开 用UE可以打开,但是得很久很久,大概十几分钟,打开之后系统就很慢了,查找的效率就不用说 于是在网上找资料,论坛上有人推荐PilotEdit,于是下载PilotEdit_lite免费版,安装打开log文件,显示一个加载文件的进度条,用时一分多钟,相对于UE直接提示无响应的用户体验好多了

2014-11-13

空空如也

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

TA关注的人

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