自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

原创 Android xUtils3网络框架

【代码】Android xUtils3网络框架。

2025-03-20 20:38:15 67

原创 AI(Adobe illustrator)设计矢量图工具,常用快捷键总结,毕生所学都在这了

你只要把这些学会了就可以设计大部分网站还有logo了,还可以去做个设计小兼职。有什么不理解和错误欢迎评论区吐槽,各个回复哦!

2025-03-20 20:21:15 162

原创 android 方式实现imageview圆角

/ 如果图片的宽或者高与view的宽高不匹配,计算出需要缩放的比例;所以我们这里取大值;//view的宽度/bitmap的宽度=缩放倍数。// 默认为Circle。初始化BitmapShader//给paint附加一个具有某种魔力(缩放)的shader。// 默认为10dp。// 先给paint设置shader;// shader的变换矩阵,我们这里主要用于放大或者缩小。// 拿到bitmap宽或高的小值//我们需要画正方形。//以下为drawable转bitmap的通用方法。// 圆角图片的范围。

2025-02-08 01:34:18 953

原创 Android 技巧之巧用Range注解(IntRange,FloatRange) 和自定义Range

Retention 类型 常用的 RunTime/CLASS/SOURCE。这个需要我们要有一些自定义注解的基本知识(后续会写如何自定义注解)可见它是一个注解,可用于方法/参数/字段/局部变量。这里我们自定义注解需要使用CLSS。先看下FloatRange源码。target 作用域。

2025-02-08 01:32:15 657

原创 Android BroadcastReceiver,广播与进程通讯,APK安装广播,获取已安装列表

/过滤器,其中传入一个action。//自定义的广播接收器。

2025-02-07 23:10:03 203

原创 Android AsyncTask源码解析

可以看到,这里先new出了一个SERIAL_EXECUTOR常量,然后将sDefaultExecutor的值赋值为这个常量,也就是说明,刚才在executeOnExecutor()方法中调用的execute()方法,其实也就是调用的SerialExecutor类中的execute()方法。这里我们模拟了一个下载任务,在doInBackground()方法中去执行具体的下载逻辑,在onProgressUpdate()方法中显示当前的下载进度,在onPostExecute()方法中来提示任务的执行结果。

2025-02-07 23:08:01 765

原创 android移动开发基础案例教程答案,渣本毕业两年经验,文末有彩蛋

具体使用// 与方式1的使用不同:此处无复写Handler.handleMessage()源码分析/*** 源码分析:Handler的构造方法* 作用:* a. 在此之前,主线程创建时隐式创建Looper对象、MessageQueue对象* b. 初始化Handler对象、绑定线程 & 进入消息循环* 此处的源码分析类似方式1,此处不作过多描述*/工作流程类似,区别在于1、Handler.post不需外部创建消息对象,而是内部根据传入的Runnable对象封装消息对象。

2025-02-06 17:04:34 872

原创 Android移动应用开发之界面跳转以及数据传输_android页面跳转及数据传递

绑定展示demo界面,获取按钮绑定返回原界面的事件。绑定展示主界面,获取按钮绑定跳转事件。其实就是比上面那个例子加了点东西。自己创建一个界面,用于跳转。创建好此类记得申明一下。

2025-02-06 17:02:36 238

原创 软件测试工程师的工作,可以干一辈子吗?(1)

相比于国外对IT行业的年龄包容度而言,在国内要求就严苛的多,“35岁就会被淘汰”成为了测试员口中广为流传的梗。但事实真的是这样吗?软件测试工程师的工作,可以干一辈子吗?在知乎“软件测试可以做到多大岁数”这个问题下,小编统计了一下大家的回答,对于是否能够长久做下去这个问题,赞成与反对的人数比例是7:3。反对的人大部分给出的理由在于:互联网发展太快,害怕随着年纪增大,身体素质和学习能力跟不上技术的发展速度,被公司淘汰。在行业焦虑榜中,IT行业占领了第一的位置,在内卷逐渐严重的今天,入行即焦虑,更是成为了一种普遍

2025-01-29 22:11:44 571

原创 软件测试发展技能前景问题?大专生找工作容易吗?

许多同行入行软件测试一段时间后,少则一两年,多则三五年,对软件测试这个行业就会有比较深入的了解,也拥有了一定的测试经验。到了这个阶段,自然而然的会进入一个瓶颈期。一方面,不知道如何去继续提升自己,如果没有比较细致的职业规划,对未来的发展也没有头绪,那么就会毫无方向。另一方面,容易陷入个人的舒适区,不想去改变自己,也害怕去改变。一般从入门软件测试开始,学习各种技术,到晋升一个比较好的职位,拥有比较高的薪资水平。这是一个很漫长、很痛苦的过程。

2025-01-29 22:09:39 715

原创 开发人员有用的Vue

这是Animate.css 的一个端口,用于 Vue.js 2.0/3.0 和Alpines.js 中的转换。它是一个非常简单和小型的 Vue.js 组件,用于 Vue.js 应用程序的动画输入,它还用于约 400 字节的 JavaScript动画输入。是 Vue.js 一个组件,用于应用平滑的垂直数字过渡效果,一个非常平滑和轻量级的库,可用于快速构建的个人前端项目。是Vue.js一个视差指令,它对应用程序中的图像应用可定制的视差滚动效果,它可以为平移和背景位置设置动画。

2025-01-29 04:07:30 643

原创 到底是学STM32还是学嵌入式linux?

所以你学到的GUI技术全都是MCU领域使用的,而这些和主流的GUI的前端与业务逻辑分离的设计模式(典型的如微软的WPF,Android,或web前端设计等)是有不同的,因此你学到的东西也是有局限的。你对比这2个就好像对比自行车和小汽车,你说自行车的优势是便宜,好修理,不堵车,不用交停车费,不耗油等等,你可以说出来自行车相对小汽车的很多优势,然而该买小汽车的你给他个自行车行吗?此后我就认识到linux的重要性了,下功夫好好学了linux,这么多年过来,太多事实案例证明,当时的决策非常英明。

2025-01-28 18:19:59 814

原创 别装啦!一看就知道你要跳槽了

几个小时后,等同事A再回来时,胸前竟然贴着一张形状为圆形,白色背景,×××字体的贴纸标签,上面凸显着两个大字——面试。后来才知道,他去隔壁的公司面试时贴上的,由于时间赶得太紧,回来后竟然忘记撕掉。我内心开始怀疑,有一天下班的路上我终于没忍住,问道”你准备跳哪去啊“,他一脸惊奇的看着我,”你怎么知道的,我才刚开始准备“。但实际上并不如此,至少我认识的程序员很大多数表示下班后从不学习,一是下班确实很晚没有太多的业余时间,二是白天在公司撸了一天代码已经伤元气了,晚上回家再敲真的能吐。好吧,估计你没我这么幸运吧。

2025-01-28 18:17:55 117

原创 View和ViewGroup

自定义viewGroup的子类时,一般要覆写OnMeasure方法,这这个Onmeasure方法里,可以调用ViewGroup的MeasureChildren,也可以自己直接调用所有子view的Measure(MeasureChildren不是自动调用的,只是提供给用户需要时手动调用的,很多android应用层的viewGroup子类都调用它来对子view做measure)

2025-01-28 09:12:55 314

原创 uniapp不同平台获取文件内容以及base64编码特征_小程序 uni-file-picker 获取base64

app方面是直接先读取base64,再读取arrayBuffer,所以一气呵成。http://xxxxx 形式的。

2025-01-28 09:08:47 570

原创 Python最重要的知识:字符串教程

小编创建了一个Python学习交流QQ群:531509025。寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!index:查找字符串中子字符串所在位置i,如果有该字符串,查询其。

2025-01-24 16:25:20 583

原创 python random模块_radom 上下范围变化 python

random.randrange的函数原型为:random.randrange([start], stop[, step]),从指定范围内,按指定基数递增的集合中 获取一个随机数。random.uniform的函数原型为:random.uniform(a, b),用于生成一个指定范围内的随机符点数,两个参数其中一个是上限,一个是下限。如果 a <b, 则 b <= n <= a。random.randint()的函数原型为:random.randint(a, b),用于生成一个指定范围内的整数。

2025-01-24 02:06:51 266

原创 MySQL进阶系列: 一文详解explain各字段含义

在包含UNION或者UNION ALL的大查询中,如果各个小查询都依赖于外层查询的话,那除了最左边的那个小查询之外,其余的小查询的select_type的值就是DEPENDENT UNION。:全索引扫描这个比all的效率要好,主要有两种情况,一种是当前的查询时覆盖索引,即我们需要的数据在索引中就可以索取,或者是使用了索引进行排序,这样就避免数据的重排序。type显示的是访问类型,访问类型表示我是以何种方式去访问我们的数据,最容易想的是全表扫描,直接暴力的遍历一张表去寻找需要的数据,效率非常低下。

2025-01-24 00:33:31 1041

原创 Linux基础-crontab(定时任务)_service cron restart(1)

crontab命令常见于UnixUnix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于"crontab"文件中,以供之后读取和执行。与windows的计划任务类似,crond进程会按照用户设置的规则定期检查是否有要执行的任务,如有则自动执行该任务。其中:cron是服务名、crond是守护进程、crontab是任务记录表。用途:按照设置的时间间隔为用户反复执行某一项固定的系统任务该服务需要安装的软件包:cronie、crontabs守护进程:crond。

2025-01-23 22:53:29 326

原创 js中==和===的区别和使用

严格相等,会比较两个 抽象相等,比较时,会然后我就更迷惑了,先类型转换,我擦,怎么转换,左边转换成右边类型还是右边转换成左边类型?先看几个例子:console.log([10] == 10); //trueconsole.log(‘10’ == 10); //trueconsole.log([] == 0); //trueconsole.log(true == 1); //tru

2025-01-23 21:33:10 549

原创 Java第03次实验提纲(面向对象1-基本概念与覆盖)

给jar包中的Person类的构造方法与其它方法编写符合规范的注释(Javadoc)。定义Person类、无参构造方法、getter\setter,定义Main类,创建Person、输出Person。这个类,然而这个类是以第三方jar包的形式提供。如果jar文件中包含声明为public的Main类,类中包含一些public方法,比如。**注1:**类的属性名必须按照题目中出现的顺序定义。如果当前类是Main类,想调用jar文件中的Main类,要怎么调用?如何调用jar包中Main类的这些public方法。

2025-01-23 18:51:55 660

原创 JavaScript设计模式 Item10 -- 策略模式Strategy

minLength:6: 是以一个冒号隔开的字符串,冒号前面的minLength代表客户挑选的strategys对象,冒号后面的数字6表示在效验过程中所必须验证的参数,minLength:6的意思是效验 registerForm.password 这个文本输入框的value最小长度为6位;策略模式指的是 定义一系列的算法,把它们一个个封装起来,将不变的部分和变化的部分隔开,实际就是将算法的使用和实现分离出来;如上使用策略模式来编写表单验证代码可以看到好处了,我们通过add配置的方式就完成了一个表单的效验;

2025-01-23 17:30:38 853

原创 IntelliJ IDEA(2019)之Web项目创建

点击Paths旁边的Dependencies 点击右边的”+”号 → 选择”Jars or Directories” -> 将Output path和Test output path都选择刚刚创建的classes文件夹 → 选择”Jar Directory” 然后一路OK就行了.点击项目的WEF-INF文件夹 ,右键,New → Directory 创建两个文件夹,classes(用来存放编译后输出的class文件) 和 lib(用于存放第三方jar包)3、指定项目的名称及项目文件的保存地址。

2025-01-23 16:10:21 324

原创 Git 这些小技巧你知道吗?_git tab

因为git是liunx是一个人开发的所以提示的方式是一样的对于命令可以使用Tab键补全。

2025-01-23 14:38:20 366

原创 echarts+node+ajax实现时间天气服务器_echarts气象图

1.搭建一个前台页面,要求简单易懂2.搭建服务器,用于向前端发送需要的数据3.点击数据展示,颜色改变,双击切换一些背景颜色。

2025-01-23 00:58:20 708

原创 CMake opencv时Download opencv_ffmpeg

再看看CMakeDownloadLog.txt的第一句:use_cache "D:/Kits/OpenCV/opencv-source/opencv-3.4.1/.cache"说的就是这个意思。那么这个文件就类似脚本进行自动化下载,那么我们就知道手动要怎么搞了。这几个错误是类似的就是Download failed。那只能手动下载了(没网络的换个有网的下载,下载一直失败也直接手动下载),那么问题来了。

2025-01-22 23:24:17 362

原创 Android进阶:最简单的方式实现自定义阴影效果_android cardview设置渐变阴影

但是现在我自己探索了一个新的较为简单的添加阴影的实现方案,仅供参考。

2025-01-22 21:54:39 566

原创 Android中常见的设计模式

然后所有添加到监听队列的Activity都会更新数据,ObserverManager.getInstance().add(this)就是添加到监听队列的方法,更新操作执行在observerUpData(String content)方法中。我们创建的activity或者fragment中,定义基类的时候,可以将每个界面不同的地方抽象出来,让真正实现的子类去实现该统一的方法。在安卓中观察者模式用的比较多的地方在数据库变化或者listview内容有变化时,使用notifyDataSetChanged()方法。

2025-01-22 20:33:26 757

原创 Android Studio 3

Android Studio 3.6 Windos、mac最新版安装教程图片。

2025-01-22 19:12:05 858

原创 6-SpringSecurity:数据库存储用户信息

首先看下表结构,是实际应用中相对比较通用的,共5张表,遵循了RBAC的模式:三个抽象实体(用户、角色、权限)表,两张关系表(用户-角色,角色-权限),即:;USE;t_useridbigint(20) NOT NULL COMMENT ‘用户id’,usernamepasswordrealnamevarchar(255) NOT NULL COMMENT ‘真实姓名’,mobilevarchar(11) DEFAULT NULL COMMENT ‘手机号’,enabled。

2025-01-22 17:45:41 736

原创 2024年Android面试题含答案--适合中高级(下)

1、组合控件。这种自定义控件不需要我们自己绘制,而是使用原生控件组合成的新控件。如标题栏。2、继承原有的控件。这种自定义控件在原生控件提供的方法外,可以自己添加一些方法。如制作圆角,圆形图片。3、完全自定义控件:这个View上所展现的内容全部都是我们自己绘制出来的。比如说制作水波纹进度条。View的绘制流程:OnMeasure()——>OnLayout()——>OnDraw()第一步:OnMeasure():测量视图大小。

2025-01-22 16:14:06 624 1

原创 2021年面试阿里字节,90%被问到的JVM面试题(附答案)

当Eden区空间满了的时候,就会触发一次Minor GC,以收集新生代的垃圾,存活下来的对象会被分配到Survivor区大对象(需要大量连续内存空间的对象)会直接被分配到老年代如果对象在Eden中出生,并且在经历过一次Minor GC之后仍然存活,被分配到存活区的话,年龄+1,此后每经历过一次Minor GC并且存活下来,年龄就+1,当年龄达到15的时候,会被晋升到老年代;引用计数法:给每一个对象设置一个引用计数器,当有一个地方引用该对象的时候,引用计数器就+1,引用失效时,引用计数器就-1;

2025-01-22 15:09:10 893

空空如也

空空如也

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

TA关注的人

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