自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

点击置顶文章查看博客目录(全站式导航)

恪守本分,勿起躁念,脚踏实地,踏浪前行,坚持原创,宁缺勿滥

  • 博客(240)
  • 资源 (58)
  • 收藏
  • 关注

原创 Android自定义View——拼手气转盘

效果图原理分析这里的转盘主要实现的重点是绘制每块答案区域的文本,并绘制出来,而转盘和背景只是张图片1、绘制文本的位置区域 2、获取旋转动画 3、提供接口实现步骤1、初始化变量//文本相关private List<String> mRollGameTextList;private int mRollGameTextCount = 0;priv...

2018-02-08 10:46:18 2173

原创 Android进阶——Small源码分析之更新流程详解

前言Small的更新有两种方式,一种是将插件放在插件目录,一种是将插件放在补丁目录下。更新插件的方法可以通过以下思路进行更新,本篇主要是通过Sample的例子来请求更新补丁,更新插件的方式就给出代码。这里不建议直接更新插件的方式,因为你覆盖住插件的文件后,如果插件下载失败那么就会加载不成功,如果是下载补丁失败的话,找不到补丁的情况下,它还可以去原本的插件上进行加载,这样就不会导致程序崩溃的问题

2018-02-02 20:25:59 992

原创 Android进阶——Small源码分析之跳转流程详解

前言Small的跳转流程只不过是利用占过的坑和Uri的转换欺骗Manifest的检测,达到启动Activity的效果,Small将启动的真正的Intent放在了Category中了,然后用假的Intent通过验证后,再取出Intent的Category真正的Intent。不过跳转过程会利用到启动流程中存储的bundle信息、bundleLauncher信息、和ActivityBundleLau

2018-01-31 21:21:58 1052

原创 Android进阶——Small源码分析之启动流程详解

前言插件化现在已经是Android工程师必备的技能之一,只是学会怎么使用是不行的,所以蹭有时间研究一下Small的源码。对于插件化主要解决的问题是四大组件的加载和资源的加载,读懂所有Small源码需要对插件化四大组件的Hook知识和资源加载要有了解,否则是无法看得懂里面的内容的。这篇文章只是对Small的阅读源码启动流程进行分析,详细的细节还是需要通过Debug在例子中去调试才能知道很多东西。

2018-01-30 20:16:12 1819

原创 NDK开发——FFmpeg在Linux下编译、移植命令行、合并音视频

实现内容编译FFmpeg成命令行形式测试FFmpeg命令行合并音视频编译FFmpeg成命令行形式一、编写本地方法public class FFmpegRun { static { System.loadLibrary("ffmpeg"); System.loadLibrary("ffmpeginvoke"); } /** * 合并音

2018-01-15 02:28:09 781

原创 Android进阶——框架打造之RecyclerView框架

前言RecyclerView已经完全替代了ListView的开发,其强大之处在于性能、内存、使用、灵活、丰富的API、动画、事件处理上都可以完美的体现出来,对于开发者来说RecyclerView是必须精通的一关,其主要的学习可以分为下面几大部分,在这几大部分中,还有很多需要解决的Bug和坑等着你,幸好的是有很多前辈已经实现大部分的功能和越过大部分的坑,学习这部分的内容完全就是去靠开源框架阅读来

2018-01-07 01:48:54 1414 4

原创 2017校招中的流年回忆

我的2017悄然间,2017已经临近尾声,2018即将到来,此时此刻,不知为何有千言万语想要一吐为快,经过一年的耕耘,总算在此刻收获心安理得,下面是对今年的回顾与总结Part1 博客当我触笔写2017年总结的时候,情不自禁的翻起了2016年的总结,重新温故了去年所做的事情和去年所写的博客,回想起来真的是时间过得很快,各种事情历历在目。如今,驻扎CSDN写作差不多也快两年了,慢慢的已经喜欢上了写作这

2017-12-31 17:41:35 2316 13

原创 Android自定义View——贝塞尔曲线实现直播点赞效果

效果展示原理分析点赞效果最主要的难点和原理在于贝塞尔曲线动画的生成,我们通过图片主要讲解贝塞尔曲线动画1、需要找到贝塞尔曲线的四个点 2、通过三级贝塞尔曲线的公式计算,获取贝塞尔曲线的轨迹路径点 3、通过设置点赞图片X,Y坐标,从而形成点赞的效果实现步骤1、初始化变量//1、继承RelativeLayoutpublic class ChristmasView extends RelativeL

2017-12-28 12:24:53 3480 7

原创 Android进阶——图片优化之质量压缩、尺寸压缩、采样率压缩、LibJpeg压缩

本篇文章已授权微信公众号 Android程序员 独家发布转载请标明出处效果演示质量压缩质量压缩:根据传递进去的质量大小,采用系统自带的压缩算法,将图片压缩成JPEG格式/** * 质量压缩 * * @param bitmap * @param quality * @param file */public static void compressQua

2017-12-24 11:39:02 4215 5

原创 Android实战——Tinker的集成和使用

前言对于热修复我相信很多小伙伴都已经知道它们普遍的操作套路,Tinker主要是依赖自己的gradlePlugin生成拆分包,所以其拆分包的生成就由Gradle来完成,当然也可以通过命令行的方式,这里就不对命令行做讲解,Tinker接入指南项目结构Tinker介绍 来自Tinker官方1、优点2、缺点Tinker不支持修改AndroidManifest.xml,Tinker不支持新增四大组件(

2017-11-19 21:10:50 6223 2

原创 Android实战——AndFix的使用与源码分析

前言热修复是今年比较流行的话题,想要进阶高级工程师是必备的知识,其实他也要有一定的Android实力才能读懂源码,涉及到类加载机制,dex加载等等,不过想要进阶高级的你,是不可不学的一门技术哦AndFix介绍AndFix是阿里开源的一个Android热补丁框架,允许APP在不重新发布版本的情况下修复线上的bug,目前支持2.3-7.0,具体介绍可以查看github项目其实现步骤集成AndFix生

2017-11-16 23:12:06 1327 2

原创 Android基础控件——MaterialDesign所有组件的使用,搭建5.0项目的第一步

前言眼看Android8.0要出啦,Android5.0的知识是时候找一天的时间终结一下了,本文最低支持Android5.0的版本,老版本的适配就留给各位实现吧。这里只是带着大家入门一下主要的一些控件,只是让大家更快的入手做项目,把更多的时间花费在逻辑上效果演示在真机测试状态栏更漂亮哦组件内容CoordinatorLayoutDrawerLayoutNavigationViewAppBarL

2017-11-14 17:51:15 1647

原创 Android基础——Tween动画、Drawable动画、Property动画、MaterialDesign动画、Trasition动画

项目主页项目结构项目结构清晰,以介绍的模块对应起来BaseActivity这里会发现一个奇怪的Activity,每个Activity都继承这个BaseActivity,其作用就是增加标题和返回键的功能public class BaseActivity extends AppCompatActivity { @Override protected void onCreate(@Null

2017-11-08 19:18:37 2655 1

原创 Android进阶——性能优化之Android Monitor、TraceView、Allocation Tracking、Lint的使用

前言一个好的性能优化,可以让你的软件运行速度上比别人快,出现的卡顿现象少,而且一个好的性能软件,会在系统内存中生存的更久。性能优化最主要的就是对Java内存的管理,即堆内存中的管理,对于Java内存分配的讲解,详细可见我的博客文章概念介绍内存泄漏和内存溢出的区别内存泄漏:指程序分配出去的内存不再使用,无法进行回收内存溢出:指程序在申请内存时,没有足够的空间供其使用成员

2017-10-31 09:40:00 1679 1

原创 Android基础控件——RecyclerView实现混排效果,仿网易云音乐

前言最近在使用网易云音乐的时候,看到如下图的排版效果图,自己也想实现一个这里采用网上用法最多的方式,而且是比较简单的方式实现的,想要做项目的同学也可以快速入手搞定首页界面,可以在最快的时间内模仿出来,且效果达到90%以上的相似效果演示至于图片的加载你们可以根据网上的Api获取相应的图片加载到对应的位置,这里只是采用本地图片来演示实现分析这里是采用RecyclerView的GridLayoutMana

2017-10-29 19:58:07 4498 5

原创 Android自定义View——贝塞尔曲线实现水波纹进度球

效果演示实现原理想要了解基础的水波纹实现效果,可以在博客的自定义View专题找到,其实现原理如下利用贝塞尔曲线绘制屏幕外和屏幕内的sin曲线利用path将sin曲线的左下角和右下角连接起来成为一块区域通过不断的平移sin曲线,然后平移完一个周期则重新回到原点实现过程绘制实现的步骤如下裁剪画布为圆形绘制圆形边框绘制波浪区域绘制进度文字自动增长进度前提准备我们创建一个View继承自V

2017-10-29 11:10:19 4298 2

原创 Android进阶——框架打造之IOC框架

什么是IOCIOC(Inversion of Control):控制反转。开发过程中类里面需要用到很多个成员变量传统的写法:你要用这些成员变量的时候,那么你就new出来用IOC的写法:你要用这些成员变量的时候,使用注解的方式自动注入进去优点:代码量减少,加速开发 缺点:性能消耗加大,阅读性差,加速65535框架的思路框架例子//实现Button自动findV

2017-10-20 00:07:25 1610 4

原创 Android进阶——源码分析之图片加载框架Glide

前言源码阅读不是一件简单的事情,每次都要花费很长时间来梳理其内部的原理,所以有朋友觉得看一遍看不懂,那很正常,接下来就是考验你耐心的时候。学习源码的目的是:学习它好的地方,吸收起来作为我们项目的开发。作为你想进阶成跟别人有优势的程序员,那么阅读代码是你的基本功,懂得提取别人优秀的代码,进行修改成为你的代码,那就是你牛逼的地方,所以还是静下心来看看源代码吧。当然,阅读代码也不要做到只见树木,不见

2017-10-15 14:21:28 949 3

原创 NDK开发——x264、AAC在Linux下编译

x264编译1、下载x264.zip,加入/usr/x264/目录下,进入该目录cd /usr/x264/2、解压x264unzip x264-snapshot-20161111-2245.zip3、授予权限chmod 777 -R x264-snapshot-20161111-22454、进入x264目录,创建sh文件,并授权cd x264-snaps

2017-09-30 23:05:41 3845

原创 NDK开发——nginx-rtmp流媒体服务器搭建

前提准备阿里云服务器下载FFmpeg安装nginx服务器1、登陆服务器,下载安装 nginx 和 nginx-rtmp 编译依赖工具sudo apt-get install build-essential libpcre3 libpcre3-dev libssl-dev2、创建nginx目录,并进入该目录mkdir /usr/nginxcd /usr/nginx3、下载 nginx 和 n

2017-09-30 13:08:35 1520

原创 NDK开发——FFmpeg实现视频转YUV、视频转RGB显示、音频转PCM、音频播放、音视频同步

项目演示前提准备编译FFmpeg+CMake并能运行,详细可见我博客下载libyuv库并编译成libyuv.so库,用于实现转换RGB格式功能FFmpeg库简介avcodec:编解码,包含avformate:封装格式处理avfilter:滤镜特效处理avdevice:输入输出设备avutil:工具库swresample:音频采样处理swscale:视频像素格式转换,缩放等FFm

2017-09-29 23:31:32 2454 1

原创 Java进阶——Java内存模型和垃圾回收机制

前言Java内存模型结构分为线程共享区:堆、方法区线程私有区:虚拟机栈、本地方法栈、程序计数器堆堆用于存放对象实例和数组,由于堆是用来存放对象实例,因此堆也是垃圾收集器管理的主要区域,故也称为 GC堆。由于现在的垃圾收集器基本都采用分代收集算法,所以堆的内部结构只包含新生代和老年代新生代:用于存放刚创建的对象以及年轻的对象,如果对象一直没有被回收,生存得足够...

2017-09-21 11:57:21 4343 3

原创 NDK开发——Linux命令、Shell命令、MakeFile命令、gba命令

Linux命令一、清空命令行reset二、文件操作ls -l 显示文件列表 ls -la 显示所有文件列表ls -l ja* 显示经过通配符查找的结果touch today.c 创建文件cp src.txt dest.txt 复制文件cp -i src.txt dest.txt 复制文件并询问cp src.txt . 复制文件到当前目录cp

2017-09-11 10:57:39 1775

原创 NDK开发——FFmpeg在Linux下编译、测试编译结果

实现内容1、编译ffmpeg的所有动态库(so文件) 2、编译ffmpeg的所有静态库(a文件) 3、编译ffmpeg打包所有静态库 4、测试ffmpeg编译结果前提准备Android Studio+云服务器这里是在阿里云服务器上编译,采用Ubuntu 16.04 64位采用android-ndk-r14b-linux-x86_64.bin编译ffmpeg-3.0.10

2017-09-04 23:53:13 1777

原创 NDK开发——Android Studio+CMake实现QQ变声效果

项目演示Github:https://github.com/AndroidHensen/NDKVoice项目分析项目采用Fmod开源库,一个非常简单通用的音频引擎,对原始声音进行音效的处理即可做出变声的效果,下面是变声音频的处理原声:直接播放音频文件萝莉:对音频提高八度大叔:对音频减低八度惊悚:增加音频的颤音搞笑:增加音频的播放速度空灵:增加音频的回音

2017-09-02 17:45:39 5084 23

原创 NDK开发——Android Studio中开发NDK遇到的错误问题与解决方案汇总

错误一在Genymotion中执行程序时,会出现找不到ndk编译的库的错误,可是libs目录下明明存在对应的so库Caused by: java.lang.UnsatisfiedLinkError: dlopen failed: "/data/app/com.handsome.ndkvoice-2/lib/arm/libfmodL.so" has unexpected e_machine:

2017-09-02 02:20:59 2809

原创 NDK开发——Android Studio2.x配置NDK环境、运行HelloWord

下载官网NDK传送门https://developer.android.com/ndk/downloads/index.html,如果没有用hosts免费进行翻墙是打不开官网的,可以关注我的博客查看文章JNI简介JNI是java语言提供的Java和C/C++相互沟通的机制,Java可以通过JNI调用本地的C/C++代码,本地的C/C++的代码也可以调用java代码。JNI 是本地编

2017-09-01 13:03:15 1067 2

原创 NDK开发——JNI必须掌握的常用例子

前言要学习NDK之前,我们得先在AndroidStudio中学习JNI,还有C和C++基础,这些都是接触NDK的前提,那么废话不多说,开始吧对于NDK在AndroidStudio的配置,可以关注我的博客找到相关文章,本文章是基于配置好NDK环境之后来操作的效果预览github:https://github.com/AndroidHensen/JNIDemo导入依赖库

2017-09-01 12:45:58 2044 1

原创 语法基础——C++语法基础

前言最近发现要学习C++来开发NDK,不得不把基础的东西记录下来,否则学的太多会混淆,废话不多说,开始记录我的C++学习之旅吧HelloWord导库命名空间输出函数#include <iostream>//必须带有命名空间才能使用cout等using namespace std;int main(){ cout << "Hel...

2017-08-31 22:23:18 7010

原创 面试复习——Android工程师之设计模式

单例模式1、概念单例模式是一种对象创建模式,它用于产生一个对象的具体实例,它可以确保系统中的一个类只产生一个实例2、好处省略创建对象所花费的时间对系统内存的使用频率降低,减轻GC压力,缩短GC停顿时间3、六种写法饿汉模式public class HungurySingleton { private static final HungurySingl...

2017-08-18 01:19:48 3026 1

原创 面试复习——Android工程师之算法基础

链表一、链表的数据结构static class Node { int data; Node next; Node(int data) { this.data = data; }}二、删除链表中node节点/** * 删除链表中node节点 * * @param head 头节点 * @param node node...

2017-08-07 16:50:17 2993 6

原创 Android基础控件——Dialog的自定义,仿淘宝、天猫、京东等商城广告弹窗

Dialog的自定义,仿淘宝、天猫、京东等商城广告弹窗 学习,学习,学以致用Dialog已经是安卓开发者的家常便饭了,经常用来作为一些提醒功能,但是它也可以拓展为广告弹窗效果,让我们来自定义一个广告的Dialog吧。下面是今天要实现的效果图一、自定义Dialog布局的实现Dialog的布局很简单,其实就是一个充满容器的图片,view_dialog_advertisement.xml<?xml

2017-07-18 00:55:52 7931 6

原创 Android基础控件——EditText的自定义、高仿iOS的UITextField

EditText的自定义、高仿iOS的UITextField 学习,学习,学以致用,让基础控件贴近实战效果EditText是常用的文本框输入控件,它没有像iOS的UITextField那样,只要一个属性就可以在输入的时候弹出一个清除所有文本的图标,那么我们就要自定义一个,废话不多说,Hensen老师开车啦iOS的效果要实现的效果(有点卡,耐心看)1.1 实现分析使用EditText的setC

2017-06-27 15:45:58 2857 1

原创 面试复习——Android工程师之Android面试大纲

Activity面试题1、Activity是什么Activity是四大组件之一,它提供一个界面让用户点击和各种滑动操作,这就是Activity2、Activity四种状态runingpausedstoppedkilled3、Activity生命周期onCreate()onStart()onResume()onPause()onStop()onDes...

2017-06-26 18:49:50 23779 18

原创 语法基础——PHP语法基础

变量变量不分类型,用$符号可以代替所有类型,这点跟JS的var很像$a = 10;$b = 5;echo $a+$b常量常量分为const和define,它们的区别是:define是在编译时,会自动将声明的变量替换到程序中const是在运行是,会自动将声明的变量替换到程序中const THE_VALUE = 10;define('THE_VALUE'...

2017-06-07 12:42:42 1372 4

原创 Android开发细节——开发实战过程中遇到的细节问题与解决方案汇总

获取系统时间的24小时制与12小时制最近在做项目的时候发生了一点错误,服务器端是24小时制的时间,而本地数据库则是12小时制的时间1、获取24小时制的时间public static String showDate() { SimpleDateFormat sDateFormat = new SimpleDateFormat(&amp;amp;amp;quot;yyyy-MM-dd HH:mm:ss&amp;amp;amp;quot;); ...

2017-06-07 12:23:08 6114 3

原创 面试复习——Android工程师之网络基础

各层网络协议相关1、OSI,TCP/IP,五层协议的体系结构OSI分层 (7层):物理层、数据链路层、网络层、传输层、会话层、表示层、应用层TCP/IP分层(4层):网络接口层(连接层)、 网络层、传输层、 应用层五层协议 (5层):物理层、数据链路层、网络层、传输层、 应用层 TCP/IP口诀:从网络接口(层)获取数据时,需经过网络(层)访问,传输(层)到我们的应用(层)...

2017-06-06 11:44:58 4172 5

原创 Java基础——Vector源码分析

Vector是什么Vector是基于可变数组的List接口的同步实现Vector是有序的Vector允许null键和null值Vector已经不建议使用了public class Vector&amp;lt;E&amp;gt; extends AbstractList&amp;lt;E&amp;gt; implements List&amp;lt;E&amp;gt;, RandomAccess, Clone...

2017-05-28 14:00:40 1935 2

原创 Java基础——ConcurrentHashMap源码分析

ConcurrentHashMap是什么ConcurrentHashMap基于双数组和链表的Map接口的同步实现ConcurrentHashMap中元素的key是唯一的、value值可重复ConcurrentHashMap不允许使用null值和null键ConcurrentHashMap是无序的为什么使用ConcurrentHashMap我们在之前的博文中了解到关于Has...

2017-05-27 16:10:16 1732

原创 Java基础——LinkedList源码分析

LinkedList是什么LinkedList基于链表的List接口的非同步实现LinkedList允许包括null在内的所有元素LinkedList是有序的LinkedList是fail-fast的public class LinkedList&lt;E&gt; extends AbstractSequentialList&lt;E&gt; implemen...

2017-05-26 12:21:52 1785

Android基础控件——Banner轮播图的无限循环轮播功能、手动滑动功能(新)

Android基础控件——Banner轮播图的无限循环轮播功能、手动滑动功能(新)

2017-03-18

iOS基础——通知代理之NSNotificationCenter、Delegate(新)

iOS基础——通知代理之NSNotificationCenter、Delegate

2017-03-17

iOS基础——数据操作之Sqlite3、FMDB

iOS基础——数据操作之Sqlite3、FMDB

2017-03-16

iOS基础——通知代理之NSNotificationCenter、Delegate

iOS基础——通知代理之NSNotificationCenter、Delegate

2017-03-14

iOS基础——实现蓝牙BLE4.0通信功能

iOS基础——实现蓝牙BLE4.0通信功能

2017-03-10

iOS基础——通过案例学知识之UITableView

iOS基础——通过案例学知识之UITableView

2017-03-09

iOS基础——通过案例学知识之UITableView(中)

iOS基础——通过案例学知识之UITableView(中)

2017-03-08

Android基础控件——Banner轮播图的无限循环轮播功能、手动滑动功能

Android基础控件——Banner轮播图的无限循环轮播功能、手动滑动功能

2017-03-08

iOS基础——通过案例学知识之UITableView(上)

iOS基础——通过案例学知识之UITableView(上)

2017-03-06

iOS基础——通过案例学知识之LaunchScreen、APPIcon、StatusBar、UIScrollView、UIPageControl

iOS基础——通过案例学知识之LaunchScreen、APPIcon、StatusBar、UIScrollView、UIPageControl

2017-03-05

iOS基础——UI控件案例之xib、plist、mvc

iOS基础——UI控件案例之xib、plist、mvc

2017-03-01

Android基础——快速开发之定制BaseTemplate

Android基础——快速开发之定制BaseTemplate

2017-02-27

Android基础——适配安卓6.0新权限系统

Android基础——适配安卓6.0新权限系统

2017-02-26

Android基础——实现安卓蓝牙2.0模块的通信功能

Android基础——实现安卓蓝牙2.0模块的通信功能

2017-02-21

Android实战——jsoup实现网络爬虫,糗事百科项目的起步

Android实战——jsoup实现网络爬虫,糗事百科项目的起步

2017-02-12

Android基础控件——ViewFlipper的使用,仿淘宝头条垂直广告条

Android基础控件——ViewFlipper的使用,仿淘宝头条垂直广告条

2017-01-07

Android进阶——Crash异常捕获并发送到服务器

Android进阶——Crash异常捕获并发送到服务器

2016-12-19

Android四大组件——BroadcastReceiver普通广播、有序广播、拦截广播、本地广播、Sticky广播、系统广播

Android四大组件——BroadcastReceiver普通广播、有序广播、拦截广播、本地广播、Sticky广播、系统广播

2016-11-26

Android四大组件——Service后台服务、前台服务、IntentService、跨进程服务、无障碍服务、系统服务

Android四大组件——Service后台服务、前台服务、IntentService、跨进程服务、无障碍服务、系统服务

2016-11-24

Android基础控件——SeekBar的使用、仿淘宝滑动验证

Android基础控件——SeekBar的使用、仿淘宝滑动验证

2016-11-22

Android自定义View——自定义插值器和估值器实现向上抛体运动

Android自定义View——自定义插值器和估值器实现向上抛体运动

2019-07-23

Android基础控件——ImageView的自定义,巧用Matrix实现图片不变形的炫酷PK条

Android基础控件——ImageView的自定义,巧用Matrix实现图片不变形的炫酷PK条

2019-04-29

Android进阶——Java注解实战之APT构建模块化的第一步

Android进阶——Java注解实战之APT构建模块化的第一步

2018-09-03

Android自定义View——拼手气转盘(新)

Android自定义View——拼手气转盘 Android自定义View——拼手气转盘

2018-08-02

Android自定义View——拼手气转盘

Android自定义View——拼手气转盘 Android自定义View——拼手气转盘

2018-02-04

Android自定义View——贝塞尔曲线实现直播点赞效果

Android自定义View——贝塞尔曲线实现直播点赞效果 Android自定义View——贝塞尔曲线实现直播点赞效果

2017-12-28

Android自定义View——仿1号店垂直滚动广告条实现

Android自定义View——仿1号店垂直滚动广告条实现 Android自定义View——仿1号店垂直滚动广告条实现

2017-12-25

Android自定义View——贝塞尔曲线实现水波纹进度球

Android自定义View——贝塞尔曲线实现水波纹进度球 Android自定义View——贝塞尔曲线实现水波纹进度球

2017-12-25

Android实战——Tinker的集成和使用

Android实战——Tinker的集成和使用 对于热修复我相信很多小伙伴都已经知道它们普遍的操作套路,Tinker主要是依赖自己的gradlePlugin生成拆分包,所以其拆分包的生成就由Gradle来完成,当然也可以通过命令行的方式,这里就不对命令行做讲解

2017-11-19

Android实战——AndFix的使用与源码分析

Android实战——AndFix的使用与源码分析 优点 1. 集成快、使用简单 2. BUG修复的即时性 3. 补丁包同样采用差量技术,生成的PATCH体积小 4. 对应用无侵入,几乎无性能损耗 缺点 1. 只支持方法的替换来修复Bug,不支持新增字段,也不支持对资源的替换 2. 由于AndFix基于Native实现的,需要适配虚拟机的稳定性与兼容性问题,更重要的是它无法实现类替换

2017-11-17

Android基础——Tween动画、Drawable动画、Property动画、MaterialDesign动画、Trasition动画

Android基础——Tween动画、Drawable动画、Property动画、MaterialDesign动画、Trasition动画

2017-11-08

Android进阶——框架打造之IOC框架

Android进阶——框架打造之IOC框架 实现通过Id找到控件的功能 实现通过Id找到Color、String资源 实现绑定view的点击事件、长按事件 实现绑定SetContentView 实现绑定网络的检测功能

2017-10-20

NDK开发——FFmpeg实现视频转YUV、视频转RGB显示、音频转PCM、音频播放、音视频同步

NDK开发——FFmpeg实现视频转YUV、视频转RGB显示、音频转PCM、音频播放、音视频同步

2017-09-30

NDK开发——FFmpeg在Linux下的编译并完成测试

前提准备 * Android Studio+Cmake+云服务器 * 这里是在阿里云服务器上编译,采用Ubuntu 16.04 64位 * 采用android-ndk-r10e-linux-x86_64.bin编译ffmpeg-2.6.9 * 采用Xshell和Xftp进行服务器的操作

2017-09-04

Android基础控件——EditText的自定义、高仿iOS的UITextField

Android基础控件——EditText的自定义、高仿iOS的UITextField

2017-06-27

Android实战——Dagger2一场老板与员工的故事会

Android实战——Dagger2一场老板与员工的故事会 [草稿]

2017-04-10

Android实战——RxJava2解锁图片三级缓存框架

Android实战——RxJava2解锁图片三级缓存框架

2017-04-07

Android实战——RxJava2+Retrofit+RxBinding解锁各种新姿势 源码下载

Android实战——RxJava2+Retrofit+RxBinding解锁各种新姿势

2017-04-03

iOS基础——网络请求之NSURLConnection、NSURLSessionDataTask

iOS基础——网络请求之NSURLConnection、NSURLSessionDataTask

2017-03-22

iOS基础——数据存储之沙盒机制、Plist、Perference、归档、反归档

iOS基础——数据存储之沙盒机制、Plist、Perference、归档、反归档

2017-03-20

空空如也

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

TA关注的人

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