__xiaozhou
码龄10年
关注
提问 私信
  • 博客:171,687
    171,687
    总访问量
  • 34
    原创
  • 614,946
    排名
  • 45
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
  • 加入CSDN时间: 2015-02-02
博客简介:

ganfanzhou的博客

查看详细资料
个人成就
  • 获得51次点赞
  • 内容获得74次评论
  • 获得224次收藏
  • 代码片获得303次分享
创作历程
  • 1篇
    2020年
  • 9篇
    2019年
  • 12篇
    2018年
  • 2篇
    2017年
  • 5篇
    2016年
  • 5篇
    2015年
成就勋章
TA的专栏
  • Android开发
    29篇
  • 百度地图
    2篇
  • java 线程
    5篇
创作活动更多

超级创作者激励计划

万元现金补贴,高额收益分成,专属VIP内容创作者流量扶持,等你加入!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

ijkmediaplayer 全量 so-0.8.8

发布资源 2020.12.03 ·
zip

Mapper 自定义注解器

java 自定义注解器 Mapper,并提交私仓 maven1. java 自定义注解器1.1 注解器作用通过元注解对类、变量等进行标记,在代码编译期通过解析器 AbstractProcessor 进行解析,快速实现模板代码的构建等作用1.2 自定义注解通过 @interface 实现注解,如:@Target(ElementType.TYPE)@Retention(RetentionPolicy.CLASS)public @interface MapType { String name()
原创
发布博客 2020.07.12 ·
1023 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

YUV 图像左右旋转处理 java实现

YUV 图像左右旋转处理 java实现android 设备调用后置摄像后,直出图像保存一般存在旋转90度,所以我们需要进行一次旋转,下面是旋转的说明。以图像编码为 NV21 为例,直出图像为逆时针旋转90度,故需顺时针旋转90度将图像放正。示例图片逆时针旋转了90度:正确方向的图片:NV21 编码为 YYYY VUVU,定义直出的图片宽为 width(200),高为 height(4...
原创
发布博客 2019.12.11 ·
947 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

Retrofit 返回值序列化增加 JSONObject 类型

Retrofit 返回值序列化增加 JSONObject 类型支持如 {"msg":"success","code":0,"data":{}} 对应类为data class Result(val code: Int = 0, val msg: String = "", val data: JSONObject = JSONObject())让结果 data 不再为空空花括号 { }一、...
原创
发布博客 2019.11.13 ·
2099 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

Android 监听页面无操作,定时返回(动态代理)

一、Android 监听页面无操作,定时返回已有项目新增需求,需监听页面是否有操作,如果在一定时间内没有操作则返回到指定页面。像一些定制化系统如果长时间停留在工程调试页面是不安全的,所以需要返回到主页,同样像电视盒子在感知无操作可以跳转到广告/屏保。因为是已有项目,所以希望以尽可能小的代码入侵完成我们的功能。二、功能分析首先需要一个计时的功能。一般想法是设置定时器,如果有操作就取消上...
原创
发布博客 2019.06.08 ·
3294 阅读 ·
3 点赞 ·
0 评论 ·
3 收藏

AndroidAnnotation Could not find the AndroidManifest.xml file,

使用 AndroidAnnotation 注解框架提示找不到 AndroidManifest.xmlGradle may disable incremental compilation as the following annotation processors are not incremental: androidannotations-4.5.1.jar (org.androidannot...
原创
发布博客 2019.04.18 ·
4391 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

加速单元测试 Robolectric 环境搭载

一、单元测试单元测试一直是编程开发重要的一部分,但在 Android 应用开发经常被忽视,转而由人工测试替代。除了 Android 功能测试涉及代码编写外,还有上下依赖的 context 传递,但这一切都不该是我们直接放弃单元测试的原因,单元测试除了在代码编写后检查设计功能的完整性,还能快速捕获和修复因代码更改(重构、优化等)带来的回归问题。今天主要介绍 Robolectric 的环境搭载,如...
原创
发布博客 2019.04.17 ·
1439 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

关于 Gradle 依赖库的几个东西

一、 Gradle 的依赖包在使用 eclipse 做项目的使用,如果要使用别人的库,要么clone工程到自己项目再添加依赖,或者导出为jar包引入,或者直接去找jar再添加到项目路径(add to path)。而使用maven,将查找下载jar这个过程简化,直接通过 dependency 指定依赖库名、版本,接着自动从maven下载并添加到项目中。二、 Gradle 除了引用线上仓库版本,...
原创
发布博客 2019.03.16 ·
1063 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

当我们在讨论 Gradle 时,我们在说什么

关于 Android Gradle 的模糊点当我们在讨论 Gradle 时,除了猜测,我们还能知道些什么。前几天参加一个面试,被问到关于 Gradle 的问题,毫无准备当然让面试官失望,对 Gradle 处于会用的状态,但被问到一些细节的东西只能猜测,所以就有了这篇,除了 Gradle 这个名词,我们还知道什么。一、什么是 Gradle官网说明Gradle is an open-sou...
原创
发布博客 2019.02.24 ·
257 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

使用 CoordinatorLayout + 自定义 Behavior 实现卡片堆叠效果

使用 CoordinatorLayout 实现堆叠效果一、视图之间的滑动关联,使用 Behavior 连接如官方示例中在布局中增加 AppBarLayout 布局,将需关联变化的 View 通过 标签app:layout_behavior="@string/appbar_scrolling_view_behavior" 建立连接关系,当AppBarLayout 发生变化会通知关联的子 view...
原创
发布博客 2019.01.20 ·
1254 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

自定义 ViewGroup ,实现卡片堆叠效果

需求想做一个卡片堆叠效果的滑动,两个视图,滑动过程将第二个view叠加在第一个view上边,形成叠加的效果,有点像 NestedScrollView + CoordinatorLayout + Toolbar 的效果。预览图如下:看起来有点像 NestedScrollView+Toolbar 的效果,只是里面的变换不一样,往上推过程第二个控件往上移动,第一个 view 不发生变换。我这个是自...
原创
发布博客 2019.01.06 ·
1357 阅读 ·
2 点赞 ·
1 评论 ·
2 收藏

Android 7.1.2 源码修改,使用自己的 app 作为默认桌面,不弹出桌面选择弹窗

需求:使用自己开发的桌面 app 作为默认,不再出现桌面选择在不修改源码前提下,可以设置自己的app为桌面,但是如果自己的应用出现崩溃,则在 Android 启动机制下会弹出桌面选择弹窗,如果在定制的系统中,这个是不能接受的,但本身在开发也需要使用默认 launcher 进行其他的一些设置,所以需要保留多个桌面启动器。1、解决思路在没有自己的启动器时候,由系统自己处理,即弹出弹窗选择或者使用...
原创
发布博客 2018.12.25 ·
4742 阅读 ·
0 点赞 ·
2 评论 ·
18 收藏

查询手机已安装应用大小,适配 android 8

一、查询手机所有已安装的应用可以通过 PackageManager 来获取,可以使用PackageManager pm = context.getPackageManager();List<ApplicationInfo> apps = pm.getInstalledApplications(0);//或者PackageManager pm = context.getPa...
原创
发布博客 2018.12.23 ·
1858 阅读 ·
0 点赞 ·
0 评论 ·
5 收藏

查询手机已安装应用大小,适配 android 8

一、查询手机所有已安装的应用可以通过 PackageManager 来获取,可以使用PackageManager pm = context.getPackageManager();List<ApplicationInfo> apps = pm.getInstalledApplications(0);//或者PackageManager pm = context.getPa...
原创
发布博客 2018.12.23 ·
1858 阅读 ·
0 点赞 ·
0 评论 ·
5 收藏

使用 RK3399 搭载 Android 系统7.1.2,出现 AudioTrack 有时无法播放 PCM 音频

RK3399 在 Android 系统 7.1.2,出现 AudioTrack 有时无法播放 PCM 音频的问题问题背景:切换 rk3399 后,搭载系统为 Android 7.1.2,如果单独使用 audiotrack 播放 PCM 音频是没有问题,但是应用在智能家居上,一般都需要和语音识别打交道,在开启录音后,很大的几率出现播放 PCM 音频不出声,查看log日志发现在录音短暂关闭后能恢复...
原创
发布博客 2018.12.18 ·
2039 阅读 ·
0 点赞 ·
5 评论 ·
0 收藏

使用 RK3399 搭载 Android 系统7.1.2,出现 AudioTrack 有时无法播放 PCM 音频

RK3399 在 Android 系统 7.1.2,出现 AudioTrack 有时无法播放 PCM 音频的问题问题背景:切换 rk3399 后,搭载系统为 Android 7.1.2,如果单独使用 audiotrack 播放 PCM 音频是没有问题,但是应用在智能家居上,一般都需要和语音识别打交道,在开启录音后,很大的几率出现播放 PCM 音频不出声,查看log日志发现在录音短暂关闭后能恢复...
原创
发布博客 2018.12.18 ·
2039 阅读 ·
0 点赞 ·
5 评论 ·
0 收藏

Android 获取手机存储总大小,系统占用空间

一、Android 存储介绍及通常查询大小手机存储有两种,内置内存和外置内存(SD),目前可扩展内存的机型正在减少,大部分是内置存储的手机,内置128G、256G已经很常见,但如果有扩展功能的话,买个乞丐版+SD卡也是美滋滋,毕竟厂家增加存储空间后手机定价也不便宜。言归正传,获取存储空间,很简单,使用中的 android.os.StatFs,传入需查阅的内存路径即可查询总内存大小,剩余可用空间,...
原创
发布博客 2018.12.08 ·
31718 阅读 ·
20 点赞 ·
12 评论 ·
72 收藏

(一)Android camera2 实现相机预览及获取预览帧数据流

一、本文重点说明本文基于 android camera2 实现视频预览,暂未兼容 camera1 API,基础实现可以参考 googlesample Camera2 例子 android-Camera2Basic ,本文以工具类形式实现一步调用。谷歌例子中没有具体指明预览帧的获取,即 camera1 setPreviewCallback 类似功能实现,具体是通过 ImageReader 中...
原创
发布博客 2018.11.04 ·
56555 阅读 ·
17 点赞 ·
40 评论 ·
111 收藏

com.zhou.android.opengl

发布资源 2018.11.04 ·
zip

com.zhou.android.camera2

发布资源 2018.11.04 ·
zip
加载更多