自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 资源 (1)
  • 收藏
  • 关注

原创 Android使用Binder实现第三方登录

Android使用Binder实现第三方登录随着各种社交软件的出现,我们在app中往往需要接入第三方登录功能,例如:微信、qq、抖音、淘宝等等。当然也可以直接使用第三方聚合登录的SDK,接入非常简单。那么第三方登录功能到底是如何实现的呢,这其中必然涉及到了跨进程通信。本篇文章将通过Binder的简单使用来实现跨进程的第三方登录功能,模仿QQ第三方登录,同时包含客户端(我们自己的应用)和服务端(...

2019-07-14 22:46:07 491

原创 Android实现增量更新

Android实现增量更新常用的App更新手段一般是热更新、增量更新和全量更新。今天我们要实现的是增量更新,增量更新简单来说,就是在服务器端通过对比旧版本和新版本的apk文件来生成一个差分包,再由客户端下载该差分包与旧版本的apk文件进行合并,从而形成新版本的apk包。增量更新的最大优点就是可以省流量,减少用户的等待时间,当然,前提是差分包的大小要比全量更新的apk大小要小得多才有意义。bsd...

2019-06-15 16:13:44 523

原创 编译FFmpeg静态库并搭建Android Studio的FFmpeg环境

编译FFmpeg静态库并搭建Android Studio的FFmpeg环境但凡需要做音视频处理的都离不开FFmpeg的支持,它的强大地位目前无人能动摇,各大视频软件、直播平台等等全都是基于FFmpeg来实现的。要在Android项目中集成FFmpeg,需要使用FFmpeg的静/动态库,而其静/动态库的打包需要在Linux系统中完成,所以我们至少需要一台Linux内核的虚拟机。今天以打包静态库为...

2019-06-09 13:28:31 2114 2

原创 一行代码搞定Android屏幕适配

一行代码搞定Android屏幕适配最近在学习网易云课堂的安卓开发课程时,网易的老师提供了网易云音乐的屏幕适配终极解决方案,在看过了dimen适配、density适配、百分比布局适配、自定义缩放布局适配等各种适配方案之后,这套方案的简单、暴力、直接的程度让人瞠目结舌。关于屏幕适配屏幕适配一直是每一个Android开发者都曾为之蛋疼的问题,Android机型千千万,各种屏幕分辨率,大到电视机,小...

2019-05-18 19:18:04 725

原创 Android插件化开发,如何打开未安装的应用

什么是插件化开发我的理解很简单,主应用就像一个插座,任何符合其要求的插头(插件应用),都可以通过这个插座来让自己从一个“死应用(未安装)”变成一个“活应用(运行)”。而对主应用来说,插上插头或者拔出插头,它都可以正常运行,只不过会丧失插头提供的额外功能。这样,当我们需要为主应用添加功能时,在主应用中只需要编写一个功能入口即可,剩下的工作就是按照主应用提供的接口要求开发或者修改插件应用,从而完成...

2019-04-06 21:38:47 439

原创 Android自定义View实现QQ气泡效果

QQ气泡效果分析QQ气泡 = 红色圆 + 消息数字 + 拖拽粘性效果 + 回弹效果 + 跟随移动 + 爆炸效果。不得不说在这么个小小的UI小球上实现了这么多的效果,QQ是真的很有心呐~根据我们上边拆分出来的公式,我们分别看看每一个效果需要如何去实现:红色圆:canvas.drawCircle消息数字:canvas.drawText拖拽粘性效果:canvas.drawPath、(两条二...

2019-03-31 17:35:50 1493 2

原创 Android实现图片粉碎效果

Android使用ValueAnimator实现图片粉碎特效效果图如下:效果看起来还是比较酷炫的,其实实现起来也很简单,主要分三步:将图片中的每一个像素信息保存并绘制在屏幕上设置属性动画,动画update中,更新每一个像素的位置信息,并重新绘制设置View的点击事件,触发动画保存像素信息我们这里需要让破碎后的粒子做水平、垂直方向的初速度不同的自由落体运动,所以需要保存每一个粒子...

2019-03-24 20:24:57 1299

原创 Android组件解耦万能接口

Android组件解耦万能接口Fragment间通信原则如何降耦、解耦第三方如何设计如何保存一个方法如何定义方法的接口如何对所有的方法进行管理Fragment间通信原则引用Google官方的话来说,Two Fragments should never communicate directly.即:Fragment间不应该直接通信。如何降耦、解耦既然组件间的通信不应该直接进行,那么就需要引...

2019-03-16 14:29:03 634

原创 模仿EventBus手写实现低配版

模仿EventBus手写实现低配版EventBus基本用法手写实现低配版创建线程模式创建注解封装方法类“存储”方法,并通过反射进行调用插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导...

2019-03-11 21:32:44 174

SVG图片转Android可识别的xml文件

使用方法如下: 在jdk环境配置好的前提下,在该文件目录下输入以下指令:java -jar svg2vector-cli-1.0.0.jar -d . -o output -h 20 -w 20 output指输出文件夹的名字,-h后的20指vector转换后的android:height="20dp", -w后的20指vector转换后的android:width="20dp", 该工具会把当前目录下所有的svg文件进行批处理。

2019-04-13

空空如也

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

TA关注的人

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