自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(77)
  • 资源 (4)
  • 收藏
  • 关注

原创 Binder 浅出深入 -- 你真的会用 binder?

做过 Android 快进程通信的同学应该都知道 Binder 是个什么东西。有了他我们可以很方便的调用另外一个进程中的方法。如果看过 Android Framework 层源码的话,更会发现说,大部分都是在和 binder 打交道。所以 Binder 这套跨进程通信机制(IPC)对 Android 开发通信来说是非常重要的。但是想要深入的了解总是感觉有点力不从心, 下面来一起浅出深入的了解 Bin

2017-03-11 00:39:44 757 1

原创 使用 IntelliJ Debug Android 源码

这里需要用到 Java 远程 Debug 的相关知识, 其实我们使用 Android Studio 使用的也是远程 debug . 相关参考https://www.jetbrains.com/help/idea/2016.3/run-debug-configuration-remote.html配置 IntelliJ remote debug按照下图进入 RunDebug 配置界面, 并新增一个

2017-02-25 18:09:49 3176

原创 使用 IntelliJ 查看 Android 源码

使用 IntelliJ 查看 Android 源码

2017-02-25 18:08:43 7804 1

原创 Mac 10.12 编译 Android 源码

Mac 10.12 编译 Android 6.0 源码

2017-02-25 17:59:07 4125 2

原创 Mac 10.12 快速下载 Android 源码

Mac 上快速下载 Android 源码

2017-02-25 17:57:39 1863

原创 自定义 Android 过场动画

自定义 AndroidActivity 转场动画在 Android 5.0上 google 官方给我提供了不少好看方便使用的专场动画原生提供的普通转场动画 - fade 渐隐渐现 - slid 各元素先后滑动进入 - Explode 分裂成连个部分以前进入分享元素的转场动画 - changeBound 这个是最长使用的 改变View 大小和位置 - changeClipBounds 改变

2016-06-14 20:07:40 8393 1

原创 okhttp3 retrofit2 缓存问题

网上看了不少关于 okhttp 缓存的使用办法, 但是大多都是 okhttp2 的, 讲 okhttp3 的不是很多.查阅了网上的资料后, 还是有两点疑惑, okhttp 有两个拦截器: Interceptor, NetworkInterceptor如果要使用缓存必须两个一起使用, 才能起到作用.下面一步一步来实现 okhttp3 的缓存设置缓存大小, 代码如下:File cacheDir =

2016-06-03 20:09:51 2289 1

原创 快速下载 Android framework 源码

官网 Android framework源码git地址github: https://github.com/android/platform_frameworks_base google 官方: https://android.googlesource.com/platform/frameworks/base.git现在Android源码也迁移到了github, 就不像原来还需要翻墙下载. 但是

2016-06-01 12:25:53 11142 1

原创 读取 其他Apk 中的资源文件

如果是在做一些 主题 皮肤之类的功能.很多都是把 相应主题的资源 放到 一个apk.然后我们吧这个 apk 下载下来. 然后读取 这个apk 中的资源 镜像加载 ...网上很常见的就是 下载下来这个apk 后需要 安装 才去加载这个 apk 的资源其实还有一种 放开 可以 不用 安装这个apk 而且就能 加载这个apk 的资源,而且 还能执行一些相应的方法...

2016-02-24 22:39:50 4290

原创 ListView 源码 回收机制分析

在网上 看了不少关于 ListView 的源码解读 回收机制相关的文章.但是基本上就是看了就忘然后自己也去浅浅的看了下 ListView 源码然后自己 结合 网上看的文章 和自己看的源码 写下了这片文章.首先看下  ListView 继承关系图: 从上图 可以 基本了解 大致继承结构.我们这里主要 看 ListView 和 A

2016-02-20 23:09:15 1665

原创 ViewPager Transform  使用详解

我们在使用Viewpager 的时候, 经常 会加入一些好看的滑动效果这个是怎么实现的呢?其实很简单,  google 以及为我提供了相应的方法.通过 setPageTransformer 就可以设置 Viewpager的滑动效果.Android 官方文档 已经提供了两种 滑动效果:http://developer.android.com/intl/zh-cn/traini

2016-01-06 00:15:02 10379 4

原创 ViewPager 实现 GallerView 效果,  显示左右两边

正常情况下, ViewPager  一页只能显示一项数据, 但是如果需求是,  除了小显示本页数据, 还有包 左右两半的数据 也都露出一点来呢?这该怎么处理?后面在网上了搜了一下, 发现有不少这样得到文章, 这里自己也写一篇总结一下.其实 主要就是用到 View 的 android:clipChildren 属性.简单来说这个属性,  就是 父View

2016-01-05 17:29:39 11344 4

原创 Android 打包, 不同渠道使用 不同的资源文件

在打渠道包的时候, 有事要 需要不同的渠道使用不同的资源文件 之类的可以看下 build 中的渠道列表: // Channels productFlavors { google {} wandoujia {} baidu {} qihu360 {} qq {} xiaomi

2015-12-27 23:57:40 4114 3

原创 Bitmap.createBitmap 得到 的bitmap 不一定是新的bitmap

File tempFile = null;try { Bitmap bitmap = BitmapUtils.createThumbnail(imagePath, 1080, 1080 * 1920); if (bitmap != null) { Bitmap tmp = BitmapUtils.rotateImg(BitmapUtils.getOrientati

2015-12-27 23:52:52 3777

原创 动画的重用

在使用画的使用 很多情况狭隘 都是 通过 ValueAnimator.ofInt(int a , int )这样的方法来实现的, 这样会重新创建 一个新的Animator如果频繁 的创建对象 也是很耗性能的所有, 所有需要适时 的重用  Animator对象还有就是如果频繁的创建 Animator对象, 我们还会习惯性的创建  Interpolator 对象 像这样

2015-12-27 23:48:30 777

原创 Android 新增一张图片 加入相册

当我要把一张图片加入到相册时, 执行如下的 代码, 发个广播就好了 getContext().sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.fromFile(file)));但是发现在有些手机上 比较慢, 不是很实时如果 做相册之类的 需求的画,  新增一张图片然后在立马刷新数据的画,

2015-12-22 00:18:41 2069

原创 NestedScrollingParent, NestedScrollingChild  详解

NestedScrollingParentNestedScrollingChild这是两个接口,  Android 就是通过这两个接口, 来实现 子View 与父View 之间的嵌套滑动这样的嵌套滑动机制是在 Android 发布 Lollipop 之后提供的 不过同样在Support v7 中同样支持了 同时 RecycleView  以及 Android 5

2015-12-15 01:28:29 20368 9

原创 git 常用命令整理

最基本的命令:1. git commit -m “asdasd”   提交当前修改 2. git commit -a -m “asdasd”  把新建的文件,加入到索引中 再提交3. git add. 表示吧所有文件都加入到git 索引中     当然页可以 add 单个文件     git add test.java4.git log 可以显示所有的提交日志     

2015-12-12 17:25:02 662

原创 读取系统所有 图片 和缩略图

/** * 读取系统的 多媒体索引 获取 sd卡中的所有图片信息 */ public void initImagesIndex() { ImageCache. imgDirPathList = new ArrayList(); ImageCache. imagesIndex = new HashMap>>();

2015-12-12 11:36:43 1316

原创 MIUI 判断悬浮窗权限

/*** Created by chenzy on 2015/3/31.** MIUI 悬浮窗判断工具类*/public class AlterWindowUtil { public static final String TAG ="AlterWindowUtil"; /** * 4.4 以上可以直接判断准确 * * 4.4 以下非MIU

2015-12-12 11:18:35 4001

原创 TextView 文字描边

在不是很明显的描边 可以使用 阴影来互动如下:android:shadowColor 阴影颜色android:shadowDx 阴影的水平偏移量android:shadowDy 阴影的垂直偏移量android:shadowRadius 阴影的范围真正的描边方法如下:实现方法是两个TextView叠加,只有描边的TextView为底,实体TextView叠加在上面

2015-12-12 11:09:37 3540

原创 MediaPlayer 同步加载字幕 与 手动解析字幕

通过把 字幕文件传给MediaPlayer  , media 可以在自动的适配字幕, 在正确的时间点, 给我们 当前应该显示的字幕回调不过只能在 API 16 以上才能使用 mMediaPlayer = new MediaPlayer();try { mMediaPlayer.addTimedTextSource(path, MediaPlayer.MEDIA_MIME

2015-12-12 11:01:22 9131 1

原创 Android StatusBar

获取状态栏高度/** * 获取状态栏高度 * @return * @hide */public static int getStatusBarHeight() { return Resources.getSystem().getDimensionPixelSize(Resources.getSystem().getIdentifier("status_bar_heig

2015-12-12 10:55:52 1110

原创 Android 获取播放视频的相关 内容,  分辨率, 方向,作者信息

MediaMetadataRetriever retr = new MediaMetadataRetriever(); retr.setDataSource(videoPath); String height = retr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_HEIGHT); // 视频

2015-12-11 19:15:13 18276 1

原创 Andorid 设置 自定义 字体

1. 现在吧字体读出来     放在 Application中  要整成单例模式      privatestaticTypefaceEnglishAndNumTypeface;      privatestaticTypefaceChineseTypeface;      publicstaticTypeface getEnglis

2015-12-11 19:05:15 510

原创 获取Google Play 下载 来源渠道 广告参数 相关数据

以下是模拟从google play 安装是发的广告以及渠道来源广播 (在 adb Shell 下执行)锁屏am broadcast -a com.android.vending.INSTALL_REFERRER -ncom.zuimeia.suite.lockscreen.international/com.zuimeia.suite.lockscreen.receiver.GACam

2015-12-11 18:46:56 11795 8

原创 ListView 常用属性 详解

<ListView android:id="@+id/selected_photo_recycle_view" android:layout_width="match_parent" android:layout_height="100dp" android:visibility="gone" android:layo

2015-12-11 18:29:46 1087

原创 ViewPager 可回收的adapter

虽说 ViewPager 以及 提供了 缓存的机制,可以通过 mViewPager.setOffscreenPageLimit(4);来设置缓存的页数当然 还有一些特殊情况 为了性能的考略,  需要 回收一些View而不是每次 缓存一页数据 都是从新加载.其实也是 模仿ListView 的 holder 来缓存View 的直接看代码吧: publ

2015-12-09 23:45:55 2502

原创 ViewPager Adapter FragmentStatePagerAdapter FragmentPagerAdapter 使用详解

ViewPager 是Android 开发中特别常用的一个View所以我们今天来看看ViewPagerViewPager  是support-v4中的View<android.support.v4.view.ViewPager android:id="@+id/view_pager" android:layout_width="match_parent"

2015-12-06 16:45:58 7083 1

原创 Android  draw canvas save restore saveLayer 学习

画图需要四大基本要素:1、一个用来保存像素的Bitmap;2、一个Canvas画布,绘制Bitmap操作;3、绘制的东西4、绘制的画笔Paint(颜色和样式)如何获得一个Canvas对象?通过重写View.onDraw方法自己创建一个Canvas对象调用SurfaceHolder.lockCanvas(),返回一个Canvas 在 surfaceView 或 T

2015-12-04 16:40:22 4601

原创 git merge fast-forward squash no-ff

看了下 git merge 的相关知识 发现还是不能很好的解决 在Android studio 上 git合并分支 后,在github desktop 的被合并的分支的提交信息丢失的问题为了描述方便, 命名一下两个分支 master ,  testmerge  是 master 去 merge test 分支不管以何种 megre 策略  最后 在t

2015-12-04 14:31:26 6222

原创 ExpandTextView 实现

最近在项目中遇到一个 需要实现 一个 点击可展开 收起 TextView如下图所示: 在网上看了一下 相关类库 找到一个还好的https://github.com/Manabu-GT/ExpandableTextView上面的那个 是用LinearLayout 包装 TextView  和 ImageView 组成然后 在动画的工程中

2015-12-03 00:41:43 2442

原创 java8 Lambda 表达式 学习

最近 在整RxJAVA 想它用到我们开发的项目中来,  用起来之后发现Rxjava 这种写法真的是很牛B的特别是配合 新的java8 的lambda 表达式的时候,ok 下面来学习下 lambda 表达式.lambda 是java8 的一个新特性, 其实java8 出来也有些时间了, 可是还是不够普及额  先看看使用起来是什么样子吧: // 老的用法T

2015-11-25 22:35:54 563

原创 Android 自己画View -- drawable.draw 以及 drawText

今天遇到一个要自己画View的问题,  其实可以通过多个View 组合来实现, 但是不是太好, 于是就自己画了效果图如下:其实可以一个ImageView  在加TextView TranslationY来解决用translation来解决的画, 需要自己设置 minHeight, 防止 移动的过程中 TextView被移到外面去了看不见ok 下面来说说, 自

2015-11-18 22:20:35 11685

原创 Android 自定义 attr属性

最近在封装一些 自定义的View 遇到了一些 自定义attr 属性的问题, 这里来复习总结下:1. 定义attire 属性在res/values  文件下新建一个attrs.xml 里面都是些 attr 属性相关的文件在里面可以自己 定义 属性 如下: 

2015-11-17 23:16:28 7931

原创 Android  xml Animation  Drawable 画图

老实说 到底基础不够扎实 ,说实话 确实有一段时间没来看看 Android的Api Guides最近在自己用xml 花一些比较简单的图的时候, 经常都要先百度, 现在自己对Drawable shaper 这块还不是很熟,现在吧他们的官方文档拿出来熟悉了一下: Animation Resources:http://developer.android.com/gui

2015-11-16 23:06:35 640

原创 Android 6.0 gradle 打release包 混淆问题

最近是适配Android 6.0 的时候遇到一个打包的问题就是在打release包混淆的时候, 一直编译报错, 错误信息如下:Warning:com.google.android.gms.internal.zzac: can't find referenced class android.net.http.AndroidHttpClientWarning:com.goo

2015-11-16 22:28:39 4344

原创 Android ProgressBar 详解 改变 ProgressBar 颜色

今天来说说 ProgressBar   这个东西,之前一种是用的 项目里面 别人写好的直接用, 还没怎么细看这两个东西ProgressBar 很简单就一进度条默认情况下, 他是圆形的, 但是它还有另一种 水平长条状的形态同时还需要了解的有:1. 水平形状的 ProgressBar 是有两个进度的 向我们看到 视频的精度条, 有一个是当前播放的,还有一个是下载

2015-11-13 00:06:42 65292 2

原创 Android AsynTask 与Thread 或线程池 使用分析

做Android的都知道, AsynTask 就是google 给我提供的一个在另一个线程 执行任务的工具.从某种层面上将 , 他就是实现了 java 里面的Thread 的功能但是经常在网上看到说, 推荐使用AsynTask 少用Thread这是为什么? 我也看了下 AsynTask 的源码 其实挺简单的,里面有两个静态的线程池, 一个是同步线程池, 该线

2015-11-11 23:11:23 912

原创 Android View 绘制过程

Android View 的绘制 的基本过程是:1. Measure 测量, 即确定View 的大小2. Layout 布局,即确定View 的摆放位置3. Draw, 画View首先看Measure 关于Measure 放方法有:public final void measure(int widthMeasureSpec, int heightMeasur

2015-11-07 17:43:31 623

经典算法大全

各种经典算法,超清晰。 目录 1.河内之塔 2.Algorithm Gossip: 费式数列 3. 巴斯卡三角形 4.Algorithm Gossip: 三色棋 5.Algorithm Gossip: 老鼠走迷官(一 6.Algorithm Gossip: 老鼠走迷官(二 7.Algorithm Gossip: 骑士走棋盘 8.Algorithm Gossip: 八皇后 9.Algorithm Gossip: 八枚银币 10.Algorithm Gossip: 生命游戏 11.Algorithm Gossip: 字串核对 等。。。各种经典算法

2012-10-30

c语言 万年历

通过 调用函数 来实现 万年历 ,用新语言写的 简单易懂。

2012-07-05

空空如也

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

TA关注的人

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