Android
文章平均质量分 60
superZhiChaoc
这个作者很懒,什么都没留下…
展开
-
PCM音频文件播放-PC软件推荐+android代码
PCM音频文件播放PC工具推荐Audacity音频处理 PC端可以播放PCM的软件,亲测可用,并且作者很贴心了附上了可下载的FFMPEG库,按照步骤导入即可。但是我发现一个问题,我这边的PCM播放的时候,速率不对,我需要按照0.5X速播放才是正常,其他的一切正常,还能看到波形图。android代码Android pcm文件播放方法(AudioTrack)别的作者的,亲测可用。播放正常。下面是我本地的方法:public static void PlayPCM(String path) {原创 2022-02-23 18:46:05 · 4296 阅读 · 0 评论 -
AOP+ASM+插件化总结--实现基于注解的埋点和统计-- 理论篇
老规矩本人整理脑图,脑图的作用是把不连续的记忆通过图像联系起来,博文的作用是图像表述不清的通过文字记录下来并且记录自己遇到的问题和解决方案。如果本人表述不清,请参考一下文章,自行脑补更正。参考文献:http://kvh.io/cn/embrace-android-studio-gradle-plugin.html 拥抱 Android Studio 之五:Gradle 插件开发https...原创 2018-11-07 16:54:32 · 1006 阅读 · 0 评论 -
android studio完全清除代理之 我们不一样
之前studio设置过代理,但是当我取消代理的时候遇到了问题!我们先看下主流的设置方法:setting里清除代理gradle.properties里清除配置。当时我们不一样:我的项目里的gradle.properties里没有配置信息。然后你build的时候走的还是依赖,那肯定是依赖还没清理掉啊。一筹莫展的时候去gradle的文件夹下看到了这个东西:打开发现配置在这里。。。但是:我...原创 2018-11-09 16:41:01 · 2585 阅读 · 3 评论 -
注解(反射+APT)整理(附带脑图)
本人整理脑图注解扫盲和自定义注解带你从头到尾玩转注解这两篇是我之前学习的时候看的博客,作者整理的很详细了。我为了加深印象,自己又整理了个脑图,喜欢看图的可以看看本人整理脑图,个人喜欢看图说话,更直观一点。编译时注解和运行时注解的区别在现在市面上大多数的注解举例的时候,都是参照ButterKnife,然后告诉你怎么通过注解实现setContentView和FindViewByID。使...原创 2018-11-06 11:31:52 · 443 阅读 · 0 评论 -
android组件化方案整理
自己整理的脑图,有新东西还会继续添加:http://naotu.baidu.com/file/3136bf76d6b1b91f90a2b91638d07b1b?token=cd9b0e1e55232352参考:猫眼电影的组件化之路:https://blog.csdn.net/qq_22744433/article/details/77948442微信Android模块化架构重构实践:htt...原创 2018-10-31 16:53:25 · 1941 阅读 · 0 评论 -
Android中allowBackup属性的含义和危险性实例讲解
一、前言今天在开发的过程中遇到一个问题,就是关于AndroidManifest.xml中的allowBackup属性,也算是自己之前对这个属性的不了解,加上IDE的自动生成代码,没太注意这个属性,但是没想到这个属性会直接导致隐私数据的丢失。下面就来看一下这个属性的影响到底有多大。他的作用是什么?二、Android中的allo...转载 2018-10-15 15:18:33 · 248 阅读 · 0 评论 -
android stuidio 右击 show in explorer 失效 没反应
解决方法:需要在windows系统环境变量path中添加以下内容C:\Windows%SystemRoot%%SystemRoot%\system32关闭AS,重新启动就可以了!转载 2018-10-18 10:45:05 · 1082 阅读 · 0 评论 -
定制开源库之jar包和.so的引用
定制开源库很多时候只是代码的开源,这次的要求是把jar包和.so文件都放到库里,中间的过程还是有点曲折的。首先我找到的是:优雅的发布Android开源库(论JitPack的优越性)本来我是按照这个的顺序来的,但是在第三步的时候就卡住了:第 3 步: 给你的项目添加配置(重点)但是 apply plugin: 'com.github.dcendents.android-maven' ...原创 2018-10-12 11:01:16 · 417 阅读 · 0 评论 -
recycleview的滑动,scrollToPosition、scrollTo、scrollBy、smoothScrollToPosition、smoothScrollBy
今天做东西,要达到的效果是:recycleview设置的是GONE,我需要在它显示的时候能滑动到指定位置。 在网上查了很多东西,基本讲解的都是怎么滑动到列表不显示的item,或者是滑动到指定的位置。 我这里,主要是验证,从GONE到VISABLE的过程中,如何滑动到我们想要的位置。scrollToPosition这个方法是好用的,并且会触发onScrolled方法一次。然后我们可以处理...原创 2018-05-16 20:37:34 · 10316 阅读 · 1 评论 -
List的addAll和=等号的区别之纠错
这个文章的内容是错的——–List.addAll() 与=的区别 看了这个文章以后我是相信的,但是想了想实际的使用好像不是这样。因为我是android开发,如果addAll是这个效果的话,那还要static关键字干嘛?另外如果效果是这样的话,那我项目中应该出问题了啊。。。想想就好害怕 亲自验证了一下,发现不是这样的,不知道是java的改版还是什么。 但让不能说之前的作者是错的,因为人家实际给...原创 2018-05-10 17:56:56 · 1586 阅读 · 0 评论 -
仿抖音--音乐裁剪控件,android实现IOS版本效果
看了一下抖音的音乐裁剪(IOS),看上去很不错,所以决定实现一下。一路上写了三四个版本,遇到了很多问题,在这里分享一下。首先看下效果: 在说明怎么实现之前,我先分享下我在做的过程中的思路。第一版 :一屏效果看到这个动画效果,第一反应就是属性动画,根据宽度动态绘制。那么这种动态效果怎么实现呢:刚开始想通过setXfermode来实现,后来发现颜色不太对,因为你的背景色是有透明度的,...原创 2018-05-09 17:23:38 · 5372 阅读 · 3 评论 -
AOP+ASM+插件化总结--实现基于注解的埋点和统计-- 引入篇
在写代码之前,外面首先要搞清楚各个类的引入(依赖),把这个搞清楚了,那么你在后续的开发中就不用操心当你新建一个类的时候的导包问题了,尤其是这个类很多包都有的时候,咬牙切齿!说实话这个很折磨人,尤其是公司的网不好的时候,那时你会怀疑:究竟是我引入的姿势不对,还是破网有问题。本文的引入都是我实际操作中遇到的,如果我说的不对,那么一定是studio的问题。Transform的引入首先看一下路径...原创 2018-11-09 17:54:24 · 557 阅读 · 0 评论 -
组件化中遇到的问题
android组件化方案整理之前整理过组件化的知识点以后,就开始弄公司的项目了。这里把暂时遇到的几个问题整理一下。AAR的引入问题情景: 把aar放到commentLibrary里面,在其他project或者library中调用其中的方法,就避免了重复复制的问题。在commentLibrary里配置好以后,你所有引入这个library中都再需要配置一下:在android节点内:rep...原创 2018-11-02 19:56:44 · 634 阅读 · 0 评论 -
HorizontalScrollView强制停止
在scrollView的Fling阶段要在某个事件触发时停止Fling操作,本着百度第一的原则,我按照我的标题搜了半天竟然没有搜到,不禁很奇怪,是我搜索的姿势不对吗?总之,没有搜到就只能自己解决了,发现一个简单的方法,分享一下。看源码,在UP事件触发Fling,然后就没啦,很简单的方法。那我就给你传个0就好了啊。scrollView.fling(0);测试一下,问题解决。...原创 2019-06-04 18:10:04 · 707 阅读 · 0 评论 -
AudioRecord初始化失败?权限申请了没提示?
这是一个我犯了的傻逼问题,必须记录一下。E/AudioRecord: AudioFlinger could not create record track, status: -1E/AudioRecord-JNI: Error creating AudioRecord instance: initialization check failed with status -1.E/androi...原创 2019-01-22 15:40:24 · 8953 阅读 · 3 评论 -
java1.7的 -- 在Java中如何优雅地判空(并未完全解决,共同思考)
在Java中如何优雅地判空之前看这个文章的时候,并没有被NR Null Object这个插件吸引,相比繁琐的判空,这个并没有减少工作量,反而增加学习成本。倒是后面Optional这个方法很是吸引我,但是可惜的是它只支持java8,那么我们怎么在java7中实现这个呢?先贴一下Optional的使用。//有个类叫testBean,它里面有个类叫小明,小明喜欢的玩具default值是小刀。...原创 2019-01-15 19:17:01 · 985 阅读 · 1 评论 -
android studio 代码插件常用code整理
Android Studio自定义模板 写页面竟然可以如此轻松主要是参考鸿洋的这篇文章,还有就是studio自带的那几个activity和fragment。这里主要是整理一下在这个过程中主要用到的一些自定义的东西。java代码package ${packageName}; //包引入 <#if applicationPackage??>import ${applic...原创 2019-01-02 17:41:08 · 1243 阅读 · 0 评论 -
ButterKnife源码之--为什么我写的ButterKnife中OnClick注解有问题
事情的经过是这样的:我们知道ButterKnife的初始化时这样的ButterKnife.bind(this);,那我也希望自己封装的框架也是这个样子的,所以我打算这样Bind_MusicCutActivity.bindView(this);看上去没什么不一样,并且对findViewById的支持也没什么问题,问题出在哪了呢?出在我上一篇写OnClick的时候。//我对findOnGrante...原创 2018-12-05 10:40:54 · 696 阅读 · 0 评论 -
为什么ButterKnife不支持带参的OnClick -- 注解支持的类型
看ButterKnife源码public @interface OnClick { /** View IDs to which the method will be bound. */ @IdRes int[] value() default { View.NO_ID };}在实际的使用中呢,也很方便,直接在方法上加上注解就可以,但是我们发现它的注解方法只支持不带参的方法,或者参数...原创 2018-12-04 20:35:45 · 478 阅读 · 0 评论 -
AOP+ASM+插件化总结--实现基于注解的埋点和统计-- 代码篇之:AMS
import org.objectweb.asm.AnnotationVisitor;import org.objectweb.asm.ClassVisitor;import org.objectweb.asm.MethodVisitor;import org.objectweb.asm.Opcodes;import org.objectweb.asm.commons.AdviceAdap...原创 2018-11-21 18:08:10 · 1635 阅读 · 0 评论 -
AOP+ASM+插件化总结--实现基于注解的埋点和统计-- 代码篇之:Transform
总结一下:基本都是制式的代码,包括遍历那一块等等,其他方法需要的类型和返回值也都在注释里了。import com.android.build.api.transform.*import com.android.build.gradle.AppExtensionimport com.android.build.gradle.internal.pipeline.TransformManager...原创 2018-11-21 18:04:28 · 917 阅读 · 0 评论 -
Android shrinkResources使用中的问题
1、下面的写法是错的,编译不过去。因为这两个是搭配使用的,要么都是true,要么都是falseminifyEnabled falseshrinkResources true2、没有引用的文件但是需要保留怎么办?新增res/raw/keep.xml文件,在里面把需要保留的资源文件列举出来<?xml version="1.0" encoding="utf-8"?><...原创 2018-11-20 15:28:24 · 869 阅读 · 0 评论 -
[转载]一大波 Android 刘海屏来袭,全网最全适配技巧!
[原文地址](https://www.jianshu.com/p/5008b707bd04) 一、序Hi,大家好,我是承香墨影!Apple 一直在引领设计的潮流,自从 iPhone X 发布之后,”刘海屏” 就一直存在争议。不过不管你怎样,Android 也要跻入 “刘海屏” 的行列,尤其是 Android P 发布之后,也从系统级...转载 2018-04-13 09:44:04 · 507 阅读 · 0 评论 -
[转载]突破Android P(Preview 1)对调用隐藏API限制的方法--来自奇卓社
一.概要 本文基于对AndroidP(Preview 1)的源码分析,实现了三种绕过对调用隐藏API限制的方法,有效性均已得到验证,能够成功调用系统隐藏API。二.限制原理 首先抛开Android P的具体实现过程,安卓系统要实现限制用户代码调用系统隐藏API,至少要做以下两个区分: 1.必须区分一个Method(或Field)对用户代码是隐藏的还是公...转载 2018-04-12 19:25:24 · 1573 阅读 · 0 评论 -
基于OKhttp的MVP封装
高级MVP架构封装演变全过程这篇文章是基于Retrofit 的,写的很好,感兴趣的可以看一下。本文基于上文的思想,做了OKhttp的实现,并指出其中的差异和问题解决。这里只给出最简单的MVP实现,为了不重复造轮子,请大家参考给出的上文,自行封装。本文接口采用豆瓣公开接口https://api.douban.com/v2/book/search?q=水浒传&tag=&start=0&count=1原创 2017-12-21 20:30:31 · 509 阅读 · 0 评论 -
OKhttp3对HTTPS的解析
http://blog.csdn.net/lmj623565791/article/details/48129405 鸿洋大神的这个文章说的很明白,但是随着OKhttp的改版,有的方法已经不存在了。 比如说:mOkHttpClient.setSslSocketFactory(sslContext.getSocketFactory());这个方法,已经没有了。 但是只要OKhttp依然支持HTT原创 2017-12-21 17:23:50 · 2742 阅读 · 0 评论 -
Bitmap的复制和注意
Bitmap是不能通过“ A = B ”来传递的,这样只是把B的引用给了A而已 之前做截图的时候就遇到过这个问题,但是没注意,想把截图获得的bitmap给ImageView显示,然后回收。发现报错后,就用“ = ”的方法新建了个A,同时回收B。发现还是报错,然后才想起来这个知识点。那么通过什么方法能够把Bitmap给复制过去呢? ps:这里也说一下,不要把Bitmap像我上面那样给ImageVi原创 2017-11-30 16:05:41 · 15534 阅读 · 0 评论 -
状态栏使用详解
在SDK21以后,系统为我们提供了修改状态栏的方法,有时候我们需要类似全屏状态,但是还要显示状态栏,这时候我们需要把状态栏背景颜色设置为全屏;有时候我们需要状态栏颜色与activity上边title颜色保持一致,如果状态栏是白色的,我们还需要修改状态栏中图标的颜色。 首先做一个判断 if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLI原创 2017-11-29 17:53:01 · 465 阅读 · 0 评论 -
Tinker热修复(gradle接入--成功)
https://github.com/Tencent/tinker/wiki/Tinker-%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97官方的接入指南真的很坑,对于没有用过AndFix的人来说,可以说是一头雾水,我到现在也不知道命令行接入的.jar文件是在哪下载的。这里讲解一下gradle接入,经测试.java文件可以实现完美接入,命令行接入的BUG完美绕过。(原创 2017-10-25 16:24:39 · 1247 阅读 · 0 评论 -
Tinker热修复(命令行接入——未知BUG--.java文件修改不成功)
http://blog.csdn.net/lmj623565791/article/details/54882693https://github.com/Tencent/tinker/wiki/Tinker-%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97上面两个一个是HongYang的博客,一个是官方的指南这里一步一步的来(基于HongYang的d原创 2017-10-25 16:23:05 · 346 阅读 · 0 评论 -
V1 V2(7.0) apk文件重签名
build-tools大于25.0.0以后再lib文件夹多了个apksigner.jar,并且studio打包时候会有两个选项一个是V1,一个是V2。这里面的区别是什么呢?首先介绍一下V1,然后说一下V2,再然后做一下实验。--------------------------------------------------------------我的萌萌哒分割线----------------原创 2017-08-02 15:51:16 · 1292 阅读 · 0 评论 -
引入.so文件
引入.so文件,这个问题你百度的话会发现有各种各样的方法,但是试过以后都不能用。这个方法是我亲测可用的--------------------------------------------------我是萌萌的分割线----------------------------------------------------------------------------module的grad原创 2017-07-18 17:59:09 · 588 阅读 · 0 评论 -
logcat的窗口不小心关闭了怎么办?Remove from Siderbar
刚才在查看logcat的时候不小心选择了然后发现在Android Studio下面就没有了。这时候有两种方法让你把它找回来---------------------------------------------------------------------------------我的萌萌的分割线------------------------------------------原创 2017-07-21 11:15:06 · 3056 阅读 · 0 评论 -
Layout inspector界面在studio3.0的位置
之前在Android Studio 3.0之前,我们想打开Layout inspector界面,在Logcat界面就能直接打开, 然而在3.0之后,这个界面在那里就找不到了。 现在的位置是:原创 2017-12-15 14:46:21 · 4132 阅读 · 4 评论 -
自定义走势图
自定义view就像应用题:看着很长,其实很简单,因为越长的题目就给你越多的信息。 首先看一下效果 可以自定义显示数目的多少和总数目。效果很简单,主要是一起复习一下自定义View的一些东西 首先是自定义我们的属性,默认是一屛六个,一共十个格子 在res-values-attrs文件夹里,name就是你的自定义view的名字,part是一屛的格子的个数,total是总个数<declare-s原创 2017-12-15 15:47:41 · 466 阅读 · 0 评论 -
关于自定义TextView的测量问题
首先推荐一个鸿洋大神的一个关于自定义字体的博客:http://blog.csdn.net/lmj623565791/article/details/44098729本文的内容都是在观看博客时的一些总结,所以若下文有看不懂的请结合上面博客。——————————我是萌萌的分割线——————————— 首先我们看一下measureText中的处理: mTextWidth = (int) mPain原创 2017-11-24 19:20:19 · 396 阅读 · 0 评论 -
Android应用图标微技巧,8.0系统中应用图标的适配
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/79417483 本文同步发表于我的微信公众号,扫一扫文章底部的二维码或在微信搜索 郭霖 即可关注,每个工作日都有文章更新。大家好,2018年的第一篇文章到的稍微有点迟,也是因为在上一个G...转载 2018-04-12 09:34:58 · 293 阅读 · 0 评论 -
从mediapicker源码分析到系统URI查询
公司的DEMO用到了mediapicker第三方库,因为之前做的时候都是调用系统本身的,没有深入关注。所以这次点进去看看源码。github地址首先介绍一下它的使用,很简单: 先把他们的项目下载到本地,然后引入到你的项目里就可以了。 具体使用代码: MediaOptions.Builder builder = new MediaOptions.Builder(); MediaOptions原创 2018-04-10 17:48:30 · 337 阅读 · 0 评论 -
也许,这样理解HTTPS更容易[转载]
http://showme.codes/2017-02-20/understand-https/ 前几天从鸿洋的公众号看的推荐,现在加密这快很火,因为区块链也跟加密有关系,之所以现在把它提出来,是因为在做Crash捕捉问题的时候,还是要把Crash进行加密再进行本地保存和网络上传的,因为Crash信息了包含了APP的包信息还有用户信息等。...转载 2018-03-22 11:31:56 · 286 阅读 · 0 评论 -
对标小程序 ? "快应用"开发入门指南 [ 转载 ]
日常刷掘金,看到了鸿洋大神的文章,这里转一下。 对标小程序 ? “快应用”开发入门指南 PS:前端灭我android之心不死啊(•́へ•́╬)一、快应用的出现 3月20日,中国通信院等协会联合包括小米、华为、OPPO等手机厂商,共同在北京正式发布名为「快应用」的新型应用形态协议。 本来没怎么关注,不过就在今天,意外在小米、华为在看到了快应用的身影。当看到饿了么的快应用的时候,才为之震惊,体转载 2018-03-23 10:41:23 · 200 阅读 · 0 评论