自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

家驹六月天的博客

分享前端平台知识

  • 博客(37)
  • 收藏
  • 关注

原创 Flutter企业级项目实战——博时App

| 前言在当前大前端愈演愈烈的情况下,前有大名鼎鼎的QT、Facebook的RN、阿里的Weex,后有不断追赶的Flutter及原生+H5混合开发,大家都想要在跨平台这碗饭上夺取饭碗。在这种趋势下,前端开发者会有一丝迷惘,到底是跟随大家的脚步去学各种跨平台技术,还是把当前的技术精以至精,专注于某一平台!在学习各种技术之前,也有想过把时间花在看源码、学习他人成熟的框架,亦或是花时间写出一款高性能的框架!为什么要学习Flutter?大家都在学习,都在不断追赶,且相对来说跨平台会比单平台会更有竞争力,假如.

2021-10-28 10:02:22 6143 7

原创 解决VMware中VMTools无法安装的问题

解决VMware中VMTools无法安装的问题

2022-12-19 16:09:38 1038 1

原创 笔记:YUV444、YUV422、YUV420、YU12、YV12、NV12、NV21的区别

比较YUV各个格式的排列顺序,占用字节等

2022-10-25 15:51:06 3633

原创 Jetpack Compose:自定义阴影绘制,支持阴影颜色、圆角、偏移量

Compose没有可支持的阴影控件,也不支持设置阴影颜色封装了一个Compose可用的阴影控件,可自由Copyimport androidx.compose.foundation.layout.paddingimport androidx.compose.foundation.shape.RoundedCornerShapeimport androidx.compose.material.Cardimport androidx.compose.runtime.Composableimpo

2021-11-23 20:38:32 6146

原创 ffmpeg for android编译全过程与遇到的问题

编译前准备编译环境:Ubuntu16,可自行下载VMWare最新版并百度永久许可证或在服务器上安装Ubuntuffmpeg源码:ffmpeg4.2.2NDK下载:Android NDK r21e有条件的最好还是在Liunx平台下编译吧,Windows平台下编译坑更多,文章末尾有Github源码可自取开始编译1.解压NDK,执行 unzip android-ndk-r21e-liunx-x86_64.zip如果提示没有unzip,执行此命令安装sudo apt-get insta.

2021-11-22 15:38:37 5561 2

原创 Flutter混合开发-Null check operator used on a null value

标题Flutter与Android混编在Android与Flutter混编中导入flutter的GetX框架时,配置getPages参数出错,在编译时不报错,但是运行之后,debug模式下出现红底白色的错误,错误显示为 Null check operator used on a null value,看一眼懵了,本地开发版本使用的是flutter2,配置的Getx库也确实在很早的版本中就支持了Null safety ,且配置的getPages为数组并且可为空,按照常理怎么也不可能出现这个错误!尝试的方案

2021-08-16 09:06:12 5029 1

原创 Flutter全部图标之快速找到合适的Icon图标

**1.由于Flutter中的图标太多,并且无法直观地进行预览,因为把所有的图标截图下来展示,以便可以快速找到你想要的图标!**

2021-08-09 17:36:28 7675 1

原创 Kotlin 中使用AspectJ 遇到的 org.aspectj.apache.bcel.classfile.ClassFormatException

在增加Kotlin之后,原本没有问题的项目直接出现java.util.zip.ZipException: zip file is empty在增加kotlin之前是没有问题的,基本上可以判断是kotlin导入出现的问题,这个问题搞了一天了,差点把我送走后面在项目作者的issues中找到了答案,问题的原因是:kotlin 1.4.10里加了个META-INF/versions/9/module-info.class,可以使用配置的方式把他排除掉aspectjx { exclu.

2020-12-14 15:15:25 841

原创 DataBinding + Kotlin 之坑:Unresolved reference: BR

Kotlin搭建MVVM框架大坑之——使用DataBinding出现:XXX Unresolved reference: BR使用模块化 + Kotlin + DataBinding导入BR文件时出现该错误,BR文件生成并导入成功,但还是一直报错,应该是目前kotlin-android-extensions暂时还不支持跨模块解决办法:生成kapt,在模块的build.gradle中添加Kotlin-apt插件apply plugin: 'kotlin-kapt'kapt {

2020-12-11 09:13:58 3733 2

原创 1.Kotlin函数大全

1.Kotlin的基本使用

2020-12-03 13:53:07 1202

原创 Git 使用大全——使用场景

1.提交代码1、# 将你本地所有修改了的文件添加到暂存区$ git add .2、# 设置推送日志$ git commit -m "推送日志"3、 #如果确定远程没有更新,可以不用执行,最好是每次都执行以下,完成之后打开代码查看有没有冲突,并解决,如果有冲突解决完成以后再次执行1跟2的操作$ git pull origin master4、# 将master分支推至远程$ git push origin master2.删除远程仓库的文件夹或文件1、# 假...

2020-08-13 16:32:37 182

原创 Android 事件分发机制——以Demo实例了解

前言网上很多关于事件分发的原理、源码分析、流程图解析等等,有些说的比较清楚,有些只是借鉴他人并添加自己的理解,在这里就不对原理神马的进行分析啦,直接通过一个ViewGroup和View来进行探讨因为只是简单测试,所以就没有写的那么的严谨1.代码+注释DecoreViewGrouppublic class DecoreViewGroup extends ViewGroup{ public DecoreViewGroup(Context context) { .

2020-08-05 15:09:51 447

原创 Java学习之路——Windows下安装mysql解决方案

Windows下安装MySQL详细教程Windows下安装MySQL详细教程  1、安装包下载   2、安装教程    (1)配置环境变量    (2)生成data文件    (3)安装MySQL    (4)启动服务    (5)登录MySQL    (6)查询用户密码    (7)设置修改用户密码    (8)退出   3、解决问题  1、安装包下载。下载地址:https://dev.mysql.com/downloads/mysql...

2020-07-03 17:55:45 205

原创 Android消息机制原理——为什么不能在子线程更新UI?

序言从Android开发的第一课开始,我们就有一个常识,即子线程不能更新UI,只能在转到主线程去更新?所以我们在编码时都遵照着这个原则,获取到数据后通过handler去转到主线程,通过Message拿到子线程发送过来的数据,具体可以看我的另一篇博客:Android之Handler消息机制——深入理解 Looper、Handler、Message、MessageQueue那么问题来了,为...

2019-12-18 10:34:54 1716

原创 Android之Handler消息机制——深入理解 Looper、Handler、Message、MessageQueue

序言handler是我们日常编码中经常使用的一个类,通常用来由子线程转到主线程,或子线程与子线程之前的通信(消息传递),那么什么是Looper呢?什么是MessageQueuene呢?不要着急,我们一步一步看!1.示例一般我们编码最基本的常识就是,不能在主线程执行耗时操作(如网络请求、读取数据、数据库读写、io流操作等等),必须创建一个子线程去执行,如以下示例:Android消息机...

2019-12-17 14:43:22 445

原创 Android注解的使用——(一)注解属性解析

序言注解分为两种,一种是元注解,即java自带的注解,所有的自定义注解都是通过元注解进行自定义的,一种是已定义注解,即在元注解的基础上定义符合业务的注解。java中使用的注解也比较多,比如@Override使用来覆盖父类的方法,@IdRes是通过ID来查找资源文件的等等注解可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明 。注解不会改变编译器的编译方式,...

2019-12-16 18:10:56 518

原创 Retrofit2之文件上传和文件下载

1.文件上传 /** * @param taskId * @param file * @return 上传文件 */ @Multipart @PUT("api/censor/uploadVideo") Observable<Result> uploadFile( @Part("taskId"...

2019-12-12 09:54:06 1011

原创 Android反编译之路

1.下载反编译dex2jar-2.0dex2jar-2.0传送门:http://sourceforge.net/projects/dex2jar/files/下载完之后解压缩解压完之后的文件目录,将需要反编译的apk后缀改成zip,变成压缩文件打开压缩文件,将classes.dex解压出来我们所有的资源文件将会在res文件夹,经过编译后的java代码将生成在clas...

2019-12-11 16:26:41 250 2

原创 Android OKHTTP修改请求头,Retrofit&Rxjava修改请求头

1.Retrofit请求头默认为表单,将请求头修改为json添加注解@Headers@Headers({"Content-Type: application/json", "Accept: application/json"})2.OKHttp修改请求头 Request request = original.newBuilder() .head...

2019-12-11 15:16:12 1613

原创 RxJava使用实例——在开发中使用rxjava

在学习rxjava的过程中,总结了在实际应用中rxjava的运用!下面会将学到的rxjava操作符用于实际运用!(一)循环+过滤io.reactivex.Observable.fromIterable(users) .filter(new Predicate<User>() { @Override ...

2019-12-09 14:46:38 572

转载 rxjava操作符汇总

转摘自作者:maplejaw(https://blog.csdn.net/maplejaw_/article/details/52396175)本篇只解析标准包中的操作符。对于扩展包,由于使用率较低,如有需求,请读者自行查阅文档。本篇文章主要是介绍Rxjava的操作符,不对rxjava的原理与实现进行说明!创建操作以下操作符用于创建Observable。 create: 使...

2019-11-27 14:12:04 127

原创 抓包工具Fiddler的安装与使用

直达Fiddler官网:https://www.telerik.com/fiddler下载Fiddler最新版本,我是在西西软件园下载的汉化版下载之后直接解压,界面如下1.捕捉Web请求如果是捕捉web请求的话,可以直接打开浏览器就可以看得到请求以后返回结果,类型有JSON、XML、Raw当然,必须在先设置允许远程计算机连接首先,勾选允许远程计算机连接, 然后记住监...

2019-10-15 09:43:49 534

原创 Android学习之——ButterKnife注解框架

ButterKnife是一个注解框架,从此以后可以不用再写findviewById()方法来初始化控件了,接下来直接硬核告诉大家怎么搭配环境和简单使用就行了,具体教程会在接下来的博客中放出一.添加依赖在app的Gradle.Project文件中添加apply plugin: 'com.jakewharton.butterknife'以及添加依赖implementation ...

2019-07-11 14:16:40 403

原创 Failed to find provider for user 0 ; expected to find a valid ContentProvider for的解决办法

使用了DBFlow的同学会碰到异常,原因是因为Android8.0以后Android对于ContentProvider进行了权限限制,必须要在AndroidManifest.xml文件中进行配置<provider android:name="android.support.v4.content.FileProvider" android:...

2019-06-24 15:35:33 5780 1

原创 Android学习之——画笔样式

画笔的基本属性 mPaint.setStrokeWidth(10);//设置画笔宽度 mPaint.setColor(Color.BLUE);//设置画笔颜色 mPaint.setStyle(Paint.Style.STROKE);//设置画笔样式 mPaint.setTextSize();//字体大小 mPa...

2019-06-11 17:47:44 849

原创 Android学习之——Path画图

路径是画图最重要的部分,类似于PS的钢笔工具,可以对图像、文字进行路径处理!基本上Android的自定义View都是用路径画出来的!如果对基础不熟悉的同学,可以看我的另一篇博客:Android学习之——Canvas画图,里面对各个参数有详细的解析首先,初始化画笔属性!private void init() { //初始化画笔 mPaint = new P...

2019-06-10 17:33:06 1009

原创 Android学习之——Canvas画图

记一次重新温故Android画图,学过的知识很容易忘记,特在此记录!前期准备首先,需要新建一个类,继承View或其他控件(依需求而定),然后实现两个构造方法(一定要两个),然后重写onDraw()方法public class Canvas extends View { private Paint mPaint = new Paint(); public Canv...

2019-06-10 14:30:04 1405

原创 Android——通知栏Notification

Android在不同版本会对底层进行一些修改,有趣的是一般大的修改都是在双数,例如Android6.0是一个分水岭,基本上一些重要的权限都要在代码中进行动态的适配,例如下面一段代码//Android 6.0以上请求权限 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { // Android M Permission...

2019-06-06 16:12:52 201

原创 Android中级进阶之——onSaveInstanceState()和onRestoreInstanceState()

Android学习已经将近一年了,感觉技术进步很慢,习惯不了安逸的生活,所以对安卓开发进行了一些整合,计划进阶!了解savedInstanceState首先,savedInstanceState是Android用来恢复一些因异常情况下(如由竖屏切换横屏时Activity会进行重启)而导致Activity销毁的数据。因为 Activity 在变为不可见以后,系统随时可能把它回收用来释放内存。...

2019-05-24 14:43:41 531 1

原创 使用知乎开源图片加载框架出现java.lang.NoClassDefFoundError: Failed resolution of: Lcom/zhihu/matisse/R$plurals

因为项目中出现了知乎的开源框架MatisseActivity,其实就是一个图片选择器,但是有一个问题就是:我点击了9张图片,并设置最多只能选择9张,但是选择第十张时,图片就崩溃了,并且报了以下错误java.lang.NoClassDefFoundError: Failed resolution of: Lcom/zhihu/matisse/R$plurals原因是因为缺少资源plurals...

2019-03-01 17:32:10 2597

原创 Android学习之——Activity的生命周期

Activity是安卓的四大组件之一,基本上学习Android最开始学习的就是activity的生命周期,安卓程序界面是由无数个activity组成的,每个activity相当于不同的界面,当我们对程序进行操作时,activity会调用它的生命周期,来保证程序的正常运行,接下来给大家看官方给出的一张图片:activity一共有其中状态,就是它的七个方法,本文的主要目的,就是让大家知道七个方...

2019-01-21 11:12:35 138

原创 Android学习之——广播接收器

广播是安卓的四大组件之一,基本上学习安卓都要熟悉四大组件!广播的注册最常用的大概就两种方法——静态注册和动态注册,静态注册可以常驻在程序中,即使程序关闭之后也能收到广播,从而进行对应的操作,而动态注册则在需要的时候调用,即它的生命周期只在activity存在的范围中,当activity销毁时它便消失了,所有动态注册的广播在onResume()方法中便要把它销毁掉,话不多少,开始写代码,我尽量用...

2019-01-21 10:56:20 277

转载 Android学习之——跳转到系统设置页面

Intent 的 意图: Intent intent = new Inetnt(Setings); Setings:   1. ACTION_ACCESSIBILITY_SETTINGS : // 跳转系统的辅助功能界面   Intent intent = new Intent(Settings.ACTION_ACCESSIBILITY_SETTIN...

2019-01-18 14:40:50 163

转载 Android动画学习之——补间动画

本文摘自博友野狗道人,博文地址:https://www.cnblogs.com/glimpse/p/5256182.html介绍:补间动画是一种设定动画开始状态、结束状态,其中间的变化由系统计算补充。这也是他叫做补间动画的原因。补间动画由Animation类来实现具体效果,包括平移(TranslateAnimation)、缩放(ScaleAnimation)、旋转(RotateAnim...

2019-01-16 13:56:51 362

转载 Android之——XML文件的属性详情

本文摘自一位博客园的网友,地址如下:https://www.cnblogs.com/jiuyi/p/5867452.htmlXML文件的属性有很多,但是很多时候都会忘记,为此摘了网友的文章来做个笔记!第一类:属性值 true或者 false           Android:layout_centerHrizontal 水平居中      android:layout_center...

2019-01-15 08:54:28 338 1

原创 Android设置drawableTop时对图片进行比例缩放

本文针对的是通过底部导航栏布局时图片所出现的问题,假如使用小像素的图片,则图片显示会非常模糊,若使用大像素图片,则会导致底部菜单栏溢出!当我们对RadioButton设置android:drawableTop="@drawable/rb_main_bg"属性时,可以将radiobutton添加到Drawable数组中,然后通过Rect对图片进行缩放,代码如下:RadioButton[...

2019-01-14 18:12:57 2583

原创 Android之底部菜单栏的实现

在我们的项目中,基本上都会用到底部菜单栏,通过点击不同的底部菜单导航到不同的Fragment,布局采用的是RadioButton+Fragment,先看与一下效果(如下图) 因为手机没有录屏,所有不能展示效果,但总算是实现了代码也很简单,还不到百行,废话少说,上代码和详细的步骤(1)第一步:UI布局,底层一个Radiogroup和四个RadioButton,中间一个Fragme...

2019-01-14 15:50:00 14239 11

空空如也

空空如也

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

TA关注的人

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