自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 6).Android Jetpack 一个demo两分钟完全掌握 MVVM(DataBinding+LiveData+ViewModel+Repository)

https://www.jianshu.com/p/6150cd307197?from=singlemessage&isappinstalled=0MVVM+ViewModel+LiveData+DataBind如何使用?Android mvvm架构demo(DataBinding+LiveData+ViewModel+Repository)数据操作是在model,vm直接调用model对象去请求数据;但还有一种做法,就是4层模型,在vm下面一层是Repository,Rep..

2020-11-26 17:27:37 482

原创 Android 3分钟一个库搞定视频替换音频 视频合成 视频裁剪(高仿剪映)

几种框架的比较:https://www.zhihu.com/question/278431860方法一(Fail)利用MediaMux实现音视频的合成。效果:可以实现音视频的合并,利用Android原生的VideoView和SurfaceView播放正常,大部分的播放器也播放正常,但是,但是,在上传Youtube就会出现问题:音频不连续,分析主要是上传Youtube时会被再次的压缩,可能在压缩的过程中出现音频的帧率出现问题。方法二利用mp4parser实现...

2020-09-08 11:37:19 1193 1

原创 1.Android 腾讯NCNN3分钟实现 摄像头检测 模型加载 人体部位识别 (人工智能)

NCNNncnn 是腾讯提供的移动端框架 非常时候在手机玩ncnn 是一个为手机端极致优化的高性能神经网络前向计算框架。ncnn 从设计之初深刻考虑手机端的部署和使用。无第三方依赖,跨平台,手机端 cpu 的速度快于目前所有已知的开源框架。基于 ncnn,开发者能够将深度学习算法轻松移植到手机端高效执行,开发出人工智能 APP,将 AI 带到你的指尖。ncnn 目前已在腾讯多款应用中使用,如 QQ,Qzone,微信,天天P图等。功能概述支持卷积神经网络,支持多输入和多分支结构,可..

2020-07-05 16:06:13 1337 1

原创 Android 视频直播 ( 从快播到直播,从高清到无码 )十年视频开发项目

从快播到直播

2017-07-07 17:01:00 26676 8

原创 Android 最全的AES加密算法及其实现(前所未有的震撼)

一:什么是AES加密AES高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。AES 是一个迭代的、对称密钥分组的密码,AES算法加密强度大,执行效率高,使用简单,实际开发中

2017-06-30 14:46:36 20208 4

原创 HTTP、TCP、UDP,Socket,HTTPS(史上最强理解,没有之一)

TCP   HTTP   UDP三者的关系如下:TCP/IP是个协议组,可分为四个层次:网络接口层、网络层、传输层和应用层。在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。在传输层中有TCP协议与UDP协议。在应用层有HTTP,FTP、TELNET、SMTP、DNS等协议。HTTP全称是HyperText Transf

2017-03-28 19:45:40 41834 10

原创 6.牛批了 Android 2021中高级面试题 一线大厂和二线大厂面试真题精选 (小米 附答案)第三套 28k+

笔者是面霸,面试500+场 当过考官:面过别人500+场 去过500强,也呆过初创公司。斩获腾讯、华为、字节跳动,蚂蚁金服,OPPO,美团,安卓岗offer!我有一套速通大厂技巧分享给你!12年毕业,专科生,做安卓9年了。横扫深圳各大互联网公司,从开始的4k工资到现在的4万。我经历了什么?本系列一共10套面试真题,适合快速找工作的人准备,薪资和公司分别如下。搞定前3套,可以去二线大厂,秒杀70%公司搞定前6套,可以去二线和一线大厂,秒杀80%公司 ,面试...

2021-08-04 17:56:01 156 1

原创 5.牛批了 Android 2021中高级面试题 一线大厂和二线大厂面试真题精选 (美团 附答案)第五套 28k+

笔者是面霸,面试500+场 当过考官:面过别人500+场 去过500强,也呆过初创公司。斩获腾讯、美团,字节跳动,蚂蚁金服,华为、OPPO,offer!我有一套速通大厂技巧分享给你!12年毕业,专科生,做安卓9年。横扫各大互联网公司,从4k工资现在的4万。我经历了什么?本系列一共10套面试真题,适合快速找工作的人准备,薪资和公司分别如下。搞定前3套,可以去二线大厂,秒杀70%公司搞定前6套,可以去二线和一线大厂,秒杀80%公司 ,面试官在你面前都是弟弟...

2021-07-22 16:41:47 161 2

原创 4.牛批了 Android 2021中高级面试题 一线大厂和二线大厂面试真题精选 (Shopee 附答案)第四套 27k+

笔者是面霸,面试500+场 当过考官:面过别人500+场 去过500强,也呆过初创公司。斩获腾讯、美团,字节跳动,蚂蚁金服,华为、OPPO,offer!我有一套速通大厂技巧分享给你!12年毕业,专科生,做安卓9年。横扫各大互联网公司,从4k工资现在的4万。我经历了什么?本系列一共10套面试真题,适合快速找工作的人准备,薪资和公司分别如下。搞定前3套,可以去二线大厂,秒杀70%公司搞定前6套,可以去二线和一线大厂,秒杀80%公司 ,面试官在你面前都是弟弟搞定前1...

2021-07-21 13:43:57 371 2

原创 3.牛批了 Android 2021中高级面试题 一线大厂和二线大厂面试真题精选 (顺丰 附答案)第三套 25k+

笔者是面霸,面试500+场 当过考官:面过别人500+场 去过500强,也呆过初创公司。斩获腾讯、美团,字节跳动,蚂蚁金服,华为、OPPO,offer!我有一套速通大厂技巧分享给你!12年毕业,专科生,做安卓9年。横扫各大互联网公司,从4k工资现在的4万。我经历了什么?本系列一共10套面试真题,适合快速找工作的人准备,薪资和公司分别如下。搞定前3套,可以去二线大厂,秒杀70%公司搞定前6套,可以去二线和一线大厂,秒杀80%公司 ,面试官在你面前都是弟弟搞定前1...

2021-07-20 10:54:12 203 3

原创 2.牛批了 Android 2021中高级面试题 一线大厂和二线大厂面试真题精选 (京东 附答案)第二套 22k+

笔者是面霸,面试500+场 当过考官:面过别人500+场 去过500强,也呆过初创公司。斩获腾讯、美团,字节跳动,蚂蚁金服,华为、OPPO,offer!我有一套速通大厂技巧分享给你!12年毕业,专科生,做安卓9年。横扫各大互联网公司,从4k工资现在的4万。我经历了什么?本系列一共10套面试真题,适合快速找工作的人准备,薪资和公司分别如下。搞定前3套,可以去二线大厂,秒杀70%公司搞定前6套,可以去二线和一线大厂,秒杀80%公司 ,面试官在你面前都是弟弟搞定前1...

2021-07-19 13:55:16 428 2

原创 1.牛批了 Android 2021中高级面试题 一线大厂和二线大厂面试真题精选 (平安 附答案)第一套 22k+

数据库的设计核心理念1.多个数据还是 创建多个表,一个用户多个表,对应关系2.基本信息表和设备更新表格3.什么作为主键4.更新的方法数据库设计的核心几个类1.Help2.manager====作为单列AI数据库转存失败重新上传取消第2个表,哪个作为主键1.进来的时候如果数据库不存在---去服务器拉接口保存到本地1).如...

2021-07-16 09:04:13 639 2

原创 Android 2021年最新深圳大厂面试真题腾讯,字节,蚂蚁金服,oppo,vivo (有图有真相,建议收藏)

笔者12年毕业,普通二本,做安卓9年了。从开始的4k工资到现在的4万。我经历了什么?我每年都跳槽,然后有很多经历,横扫深圳各大互联网公司,说出我的故事。宣言:本人也是一个屌丝,刚毕业的时候一直沉迷泡妞,没怎么学习。直到去年才去了腾讯!程序员没什么时候找女朋友。我一直换,换了9个女朋友,然后在去年终于结婚了。然后开始写博客。本来去年在腾讯呆着不错,但是我想搞NDK,openGL,音视频。然后就去了蚂蚁金服我刚入行的时候,几位安卓同行,也许你知道他们,不知道我!郭霖:《第一行代码》张鸿翔:百度专

2021-07-15 22:11:08 206 1

原创 8.Android 腾讯视频加载动画 加载框圆点旋转收缩放大缩小效果的实现

动画分析1.先旋转2.放大3.缩小具体实现:1.我的想法:画6个圆。让它旋转!圆的半径不变,就是x,y不停的变。因为角度不停变。有一个变量角度通过动画获取正确思路:0---360。拿到一个变化的旋转角度。然后画6个圆!2.放大通过插值器实现的2.收缩:通过动画和手动绘制,不应该是用transfer,x,y实现吗停止旋转动画注意的地方:1.smallAnimator.setInterpolator(newAnticipateInte...

2021-06-12 17:43:13 44 1

原创 1.Android 58同城数据加载动画(组合控件实战)

https://www.jianshu.com/p/e4de28b4d8achttps://blog.csdn.net/jxxfzgy/article/details/44182785https://www.jianshu.com/p/3c4dfc4541be#comments功能分析:包含:移动,缩放,旋转!!!组合自定义View动画直接写在控件里面进行控制。差值器的使用动画监听的使用总结:该动画可用组合控件 + AnimatorSet 实现动画不...

2021-06-07 22:39:54 30 2

原创 3.Android 仿QQ运动步数进度效果 keep运动效果(从入门到巅峰)

1.自定义控件的步骤2.构造函数有什么用3.自定义属性有什么用4.初始化一些画笔放在哪里5.onmesure()如何写6.invalide源码分析1.写一个类继承view或者其他控件public class CustomView extends View {}2.在xml中定义自定义的view<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" ..

2021-06-06 11:01:41 81 3

原创 Android 2分钟实现全埋点 Aspect AOP面向切面实现 插桩 app耗时和登入完美实现

笔者是面霸,面试200+场 当过考官:面过别人300+场 去过500强,也呆过初创公司。关注我就能达到大师级水平,这话我终于敢说了, 年薪60万不是梦!斩获腾讯、华为、oppo,VIVO,安卓岗offer!我有一套速通大厂技巧分享给你!AOP介绍Aspect Oriented Programming , 面向切面编程,优点如下。(1)针对同一类问题的统一处理(2)无侵入添加代码 (3) 运行在,,,,,,,但是注解在编译期间1)在项目grad...

2021-03-15 11:35:25 128

原创 Android recyclerView选中Item滚动到屏幕中间 / 指定位置 (完美实现)

之前用这个rvItemList.scrollToPosition(item.markPosition);换成这个:rvItemList.smoothScrollToPosition(position);public class CenterLayoutManager extends LinearLayoutManager { public CenterLayoutManager(Context context) { super(context); .

2021-03-05 19:31:26 860

原创 Android Charles抓包 3分钟手把手图文教程 支持https 7.0以上系统 fidder

Charles抓包https://blog.csdn.net/c10WTiybQ1Ye3/article/details/109733079https://www.jianshu.com/p/1338c9f5305e01.下载安装软件charles下载地址(下载对应的平台软件即可) https://www.charlesproxy.com/download/ 下载破解文件 https://assets.examplecode.cn/file/charles.jar..

2021-01-25 20:24:40 426 1

原创 3.Flutter布局UI 基本组件:文字和图片 自定义控件

如何在布局中添加或删除组件在Android中,您可以从父级控件调用addChild或removeChild以动态添加或删除View。 在Flutter中,因为widget是不可变的,所以没有addChild。相反,您可以传入一个函数,该函数返回一个widget给父项,并通过布尔值控制该widget的创建。例如,当你点击一个FloatingActionButton时,如何在两个widget之间切换:import 'package:flutter/material.dart';..

2021-01-21 17:48:33 363

原创 2. Flutter 第一个demo elloword

创建项目:项目名字不要一样,否则过不去项目结构如下,可以看到,默认有ios和Android两个目录,我们的代码位于widget_test.dart文件下:在项目目录中,您应用程序的代码位于lib/main.dart.Material组件:关于flutter的优点,有很多,跨平台(最核心的优点,但是由于windows不支持ios开发,暂时没法测试),热重载等等,热重载顾名思义,就是修改代码后能自动重载app,让我们来体验一下热重载吧:热重载的实际操作:...

2021-01-21 17:45:33 82 1

原创 1.Android Flutter环境安装 window MAC 10分钟搞定

flutter是什么谷歌开发,跨平台,可以在mac,windows,linux。ubentuFlutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。 Flutter可以与现有的代码一起工作。在全世界,Flutter正在被越来越多的开发者和组织使用,并且Flutter是完全免费、开源的。主流框架的对比其实说这一块是带有主观性的,很容易遭到攻击,我也不敢保证我说的就完全正确,但是我还是给大家简单介绍一下。Cordova:个人认为Flutt..

2021-01-12 19:23:05 36

原创 Android11 3分钟快速适配 实战demo 微信分享和qq分享

比较好的文档https://www.apkdv.com/android-11-api-30-adaptation-guide.html简单明了的https://www.cnblogs.com/evakang/p/13780056.htmldemo实战https://www.jianshu.com/p/95658c8fde03太复杂详细了https://www.pianshen.com/article/29011762075/=======================.

2020-12-24 18:01:11 1003 1

原创 9).Android Jetpack 一个demo两分钟ViewPager2 (实现抖音App上下滑动)

ViewPager2+Fragment+tablayouthttps://www.jianshu.com/p/351e695015d4ViewPager2 是 ViewPager 库的改进版本,可提供增强型功能并解决使用 ViewPager 时遇到的一些问题ViewPager有两个弊端:1.不能关闭预加载;2.更新adapter不生效我们在加载数据的时候,viewpager默认会帮我们预加载前后两个页面的数据,并且这2个view是不可见的。而目前ViewPager2对Fragment支持只能

2020-11-28 15:10:35 351

原创 8).Android Jetpack 一个demo两分钟实现底部滑动导航栏

Android底部导航栏的实现方式特别多,例如TabHost,TabLayout,或者TextView等,都可以实现底部导航栏的效果。BottomNavigationbar+ViewPager2实实现底部滑动导航栏功能支持 图片+文字 组合 支持 仅图片 支持 未读消息 支持 自定义布局 支持 切换动画(可关闭) 支持 选中tab再次点击事件(多用于返回顶部或刷新) BottomNavigationBar bottomNavigationBar;...

2020-11-28 15:09:33 250

原创 7).Android Jetpack 一个demo两分钟完全掌握 Navigation

主要用于fragment跳转,替代commit,add方法!navigation资源文件需要先创建:fragment会发现有2分属性:app:navGraph: 属性赋值的是 nagation 文件app:defaultNavHost: 这个是和返回键相关的一般通过拖动的形式<span style="color:#000000"><span style="color:#cccccc"><code class="language-xml"&g...

2020-11-28 14:37:53 105

原创 4).Android Jetpack 一个demo两分钟完全掌握 Data Binding

参考博客:https://www.jianshu.com/p/bd9016418af2自动转成databind打开布局文件,选中根布局的ViewGroup,按住Alt + 回车键,点击 “Convert to data binding layout”,就可以生成 DataBinding 需要的布局规则多出了一个layout标签将原布局包裹了起来,data标签用于声明要用到的变量以及变量类型,要实现 MVVM 的 ViewModel 就需要把数据(Model)与 UI(V...

2020-11-26 14:18:12 57

原创 4).Android Jetpack 一个demo两分钟完全掌握 LiveData

参考:https://juejin.cn/post/6844904117496725511LiveData 是一个可观察的数据持有者类,与常规 observable 不同,LiveData 是生命周期感知的LiveData和lifecycle 有什么区别?LiveData里面要传一个lifecycle对象mutableLiveData.observe(this, new Observer<String>() { @Override public..

2020-11-24 20:42:02 62

原创 3).Android Jetpack 一个demo两分钟完全掌握 ViewModel和AndroidViewModel 杀死进程数据存在

三个问题,重点原理分析:ViewModel是如何创建出来的? 为什么不同的Fragment使用相同的Activity对象来获取ViewModel,可以轻易的实现ViewModel共享? ViewModel为什么在Activity销毁重建时不会被销毁回收?答案:这里我们又学到了Activity的两个跟生命周期相关的函数调用:onRetainNonConfigurationInstance和getLastNonConfigurationInstance。Activity实现了Vi.

2020-11-19 19:54:52 114

原创 2).Android Jetpack 一个demo两分钟完全掌握 lifecycle 使用详解

说明:不仅可以用在MVVM,还可以MVP。用于监控生命周期,防止内存泄露原理比较清晰:Activity/Fragment实现LifecycleOwner接口,通过LifecycleRegistry在对应生命周期分发事件Lifecycle.Event,回调到生命周期观察者LifecycleObserver对应订阅方法。几个重要的类和接口Lifecycle Lifecycle是一个持有组件生命周期状态(如Activity或Fragment)的信息的类,并允许其他对象观察此状态。..

2020-11-18 18:47:31 84

原创 Android Jetpack 一个demo两分钟完全掌握Room数据库

Room:数据库封装1.Entity 基本2.interface 基本3.Database 基本4.ViewModel 封装整个流程,代替present5.Util:封装数据Room包含3个重要组件:Database:包含数据库容器,并作为到应用程序的持久关系数据的基础连接的主要访问点 Entity:表示数据库中的一个表。 DAO:包含用于访问数据库的方法数据库注意地方:1.唯一的对象2.多线程...

2020-11-17 11:07:36 69

原创 Android 抖音头像缩放特效 直播间特效 100%高度还原

原理分析:public class DouYinHeaderView extends View { private Bitmap bitmap; BitmapShader bitmapShader; Paint paint; Matrix matrix; private float currentScaleRatio = 1f; private float minScaleRation = 0.9f; private Pain..

2020-08-28 19:30:03 643

原创 Android 2020年最新保活方案 保活90% 已适配8.0 ,9.0, 10.0(酷狗音乐)

https://www.jianshu.com/p/cfc2a200e46d因为公司app要保活。像酷狗音乐,一直在后台播放音乐。所以研究了下系统如何杀死进程?内存阀值,不同进程优先级导致的不一样的阀值。空进程:加快启动速度ADJ红色部分是容易被回收的进程,属于android进程 绿色部分是较难被回收的进程,属于android进程 其他部分则不是android进程,也不会被系统回收,一般是ROM自带的app和服务才能拥有如何查看某个进程...

2020-08-18 17:32:52 4195 2

原创 Android 存储优化 —— MMKV 集成与原理 mmap binder通信 替代SharePreference

1.如何跨进程2.为什么效率高3.如何扩容4.probuffer数据结构5.binder机制6.用户空间和内核空间7.内存映射参考博客:https://github.com/733gh/Android-Notes/blob/master/MMKV框架原理解密,MMKV如何利用mmap函数实现储存优化100倍/MMKV框架原理解密之01MMKV使用.md目前项目中在轻量级存储上使用的是 SharedPreferences, 虽然 SP 兼容性极...

2020-08-04 18:14:32 429

原创 Android support升级到androidx (v4 v7 包冲突 解决方案)

androidx 是对android.support.xxx包的整理后产物。由于之前的support包过于混乱,所以,google推出了 androidX。在不使用Androidx时会导致出现许多错误,以下是将support包转为androidx过程:随着Android系统版本不断地迭代更新,每个版本中都会加入很多新的API进去,但是新增的API在老版系统中并不存在,因此这就出现了一个向下兼容的问题。Fragment的作用并不只局限于平板,以前的老系统中也想使用这个功能该怎么办?于是...

2020-08-04 17:37:45 3099 5

原创 Android 鼻子模型替换 ndk开发 (人工智能)

舌头模型bug问题:1.vivo有个5.0的版本用不了。以前也用不勒2.小米6.0.1,相机预览非常卡顿3.ren mi手机相册选择有问题4.分析页面提示不对,拍照已完成1.把最新的demo移植到项目中,通过bitmap的形式,能否识别图片=====不行。ncn版本不对2.在旧项目中改代码C++ unsigned char *是表示无bai符号字符指针的意du思。方案:1.确定camera2输入bitmap的格式2.opencv的功能3.必...

2020-08-04 17:20:27 241

原创 3.Android TensorFlow lite 3分种实现百度网盘图片分类 (人工智能)

我们都知道,谷歌有一个开源库叫做TensorFlow,可被用在安卓系统中实现机器学习。换言之,TensorFlow是谷歌为机器智能提供的一个开源软件库。TensorFlow:1.模型计算,训练模型2.推理主要作用:当我们有一个已经训练好的TF模型的时候,我们怎么去调用这个模型并且让他顺利在Android平台上运行起来呢?大概包括这几个方面:1、 保存训练完毕的TF模型2、 在Android项目中导入TF模型、导入Android平台调用TF模型需...

2020-07-10 14:20:42 537

原创 8.NDK Android jni开发 opencv 3分钟学会 身份证识别tess-two(人工智能)

openCV:图片处理OCR:文字识别技术调试的时候:Visulas studio;开发软件然后把这个代码移动到java里面去,因为用studio效率太低了。可以直接在Visulas studio进行调试。然后看到效果比如:如果要得到一张图片。要得到Bitmap对象,然后放到c里面在Visulas studio可以直接用到。图片灰度:图片灰度可以降低图片比较的复杂度,提高效率demo地址:https://links.jianshu.co...

2020-07-10 10:12:31 288

原创 2.Android OpenCV 3分种实现 身份证识别 脸识别 图片分类 图片特效(人工智能)

三点:集成OpenCV 使用官方的人脸识别模型写个Demo 训练库一、集成OpenCVOpenCV集成还是很简单的,不需要我们自己去交差编译生成动/静态库,解压后的文件已经包含了动态库。一般套路都是这样,下载库、导入.h和动/静态库、配置CmakeList。详细步骤:官网地址:https://opencv.org/releases/github地址:https://github.com/opencv/opencv在官网下载demo:一运行。里面所有的..

2020-07-06 16:51:34 455

原创 5.NDK Android jni开发 异常处理 native奔溃解决(相机图片美化)

http://www.droidsec.cn/常见android-native崩溃及错误原因/https://blog.csdn.net/ddxxii/article/details/84781110程序运行时常会碰到一些异常情况,例如:做除法的时候除数为 0; 用户输入年龄时输入了一个负数; 用 new 运算符动态分配空间时,空间不够导致无法分配; 访问数组元素时,下标越界;打开文件读取时,文件不存在。NDK异常信息一般有三个要素:信号 调用栈信息 寄存器信息..

2020-07-05 15:19:30 281

Android 轻松打造一个APP动态切换桌面图标Launcher

Android 轻松打造一个APP动态切换桌面图标Launcher

2017-03-09

反射的demo

反射的demo

2017-03-10

Android反射完全解析--强势来袭

Android反射完全解析--强势来袭

2017-03-10

静态(static)方法的继承和重写

静态(static)方法的继承和重写

2017-03-14

空空如也

空空如也

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

TA关注的人 TA的粉丝

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