- 博客(28)
- 收藏
- 关注
原创 Android 自定义编译时注解1 - 简单的例子
首先:我们新建一个 java library:接着: 编写我们的自定义注解// 表示是基于编译时注解的// 表示可以作用于成员变量,类、接口如果对元注解还步了解的话,建议先阅读我之前写的博客注解使用入门(一),这里不再讲解最后:在 resources/META-INF/services/javax.annotation.processing.Processor 文件中 添加 我们自定义注解的全限定路径 com.example.JsonProcessor。
2025-02-08 01:58:44
868
原创 Android SDK 开发应该注意哪些?
一旦 SDK 的出现引起崩溃的 bug,这将对众多 App 造成灾难性的影响,如果出现这种情况,是非常致命的。所以对于 Android SDK 开发来说,要注意 try…catch 的使用、对象的检查等等。
2025-02-07 23:42:06
754
原创 Android Recovery 的流程分析
l 6 功能recover_image=BACKUP:update.img是从BACKUP分区获取update.img,然后取出recovery-script脚本命令并执行,还原固件。7 --update_image=SDCARD:update.img默认路径,从SD卡根目录下固件update.img升级。12 --update_recovery单独升级recovery,从SD卡update.img中取得recovery固件。用于生成recovery.img,有ramdisk和cramfs两种格式。
2025-02-07 23:40:01
1008
原创 Android自定义View之事件分发机制总结
在所有子元素没有消耗事件时,ViewGroup会调用父类,也就是View的dispatchTouchEvent方法,从而调用到onTouchEvent方法来自己处理事件,如果自己没有消耗事件,dispatchTouchEvent方法就会返回false,从而将事件反向往上层传递。(3)也就是说如果View设置了onTouchListener,那onTouchListener的onTouch方法会被调用,如果onTouch方法返回true,那事件就被消耗了,事件分发结束,onTouchEvent不会被调用。
2025-02-06 17:26:33
692
原创 Android自动化页面测速在美团的实践
我们都知道ViewPager的Tab切换是可以通过一个 OnPageChangeListener 对象进行监听的,所以我们可以为ViewPager添加一个自定义的Listener对象,在切换时记录一个时间,这样可以通过用这个时间减去页面创建后的时间得出这个多余的等待时间,上报时在总时间中减去即可。这里的 getConfigModel() 方法中,会使用页面的类名或者全路径类名,去初始化时解析的配置Map中进行id的匹配,如果匹配到说明页面需要测速,就会创建测速对象 PageObject 进行测速。
2025-02-06 17:24:49
437
原创 轻快小miniconda3在linux下的安装配置-centos9stream-Miniconda3 Linux 64-bit
总的来说,如果您需要一个集成了大量数据科学工具的完整平台,并且希望快速开始数据分析和机器学习,那么 Anaconda 是一个不错的选择。而如果您更倾向于精简和灵活性,并且愿意手动安装需要的软件包,那么 Miniconda 可能更适合您。这里很多地方会提出使用命令 “ chmod +x Miniconda3-latest-Linux-x86_64.sh ” 给安装脚本授予执行权限,个人认为不必要,直接使用sh或bash 加上脚本名开始执行。一般测试环境下可能会安装多个。
2025-01-29 22:41:04
863
原创 软考-嵌入式系统设计师:[网络安全 笔记(六)]_软考嵌入式工程师csdn
接收方原理:B接收到密文后,首先使用B的私钥解密,获取一次性对称密钥,然后使用对称密钥来解密密文,获取经过数字签名的信息摘要和明文,接着使用A的公钥核实数字签名,得到信息摘要,再使用SHA算法将得到的明文生成信息摘要,和接收到的信息摘要进行比对,如果无误,则安全。发送方原理:A使用SHA,将明文生成信息摘要,然后使用A的私钥,对信息摘要进行数字签名,将摘要和明文都用一次性对称密钥加密,然后将对称密钥用B的公钥加密,最终将这套数据传输到互联网。安全电子邮件协议,多用于电子邮件传输的安全协议,比较完美。
2025-01-29 22:36:48
330
原创 引人遐想,用 Python 获取你想要的 “某个人” 摄像头照片_用python编程把电脑里同一个人照片找出来
仅用来学习,希望给你们有提供到学习上的作用。
2025-01-29 04:31:58
210
原创 前端实现科学计算器_前端插件计算器
在刚开始,对输入的数字或者运算符进行简单的拼接字符串仅仅可以实现简单的加减乘除,难以实现三角函数等科学运算。改进之后,将显示和计算的字符串分开存储,这样便于计算操作。尽量减少对DOM的频繁操作,将多个DOM操作合并成一个,使用DocumentFragment来减少DOM重绘。5. 由于 js 的 eval 产生的结果会有多数的小数,这里进行优化,对小数取两位小数,对整数则正常输入。项目由 html、css、js 完成。要求实现一个具有图形化界面简易计算器。2. 减少DOM操作。
2025-01-28 18:46:16
628
原创 前端安全相关_{ from path
MD5 曾经是广泛使用的哈希算法,但由于其存在碰撞(collision)漏洞和对抗性较弱,已经不再被推荐用于安全性要求较高的场景。Crypto-JS是一个纯JavaScript编写的密码学库,提供了许多常见的加密算法,如AES、DES、Triple DES、Rabbit、MD5、SHA-1、SHA-256等。这是因为哈希算法是单向的(不可逆),而对称加密算法是可逆的。SHA-256哈希:SHA-256是一个强大的哈希算法,提供较高的抗碰撞性,即相同的哈希值几乎不可能由不同的输入产生。② 监听窗口大小变化。
2025-01-28 18:44:08
357
原创 Vue 项目接入使用超图 SuperMap
然后就可以了,项目里面就成功的添加了 SuperMap。但是有一个问题哈,就是项目ES6的语法能不能转为ES5的,这个可能需要配置一下,不然后期的项目在使用超图加载数据的时候会哐哐报错。在 webpack.base.conf.js 文件中加入 supermap 的转换。},这样应该就没有问题了,然后二维的相对简单,我们简单来一个案例。超图二维案例。
2025-01-28 09:41:40
1161
原创 Vue 采用blob下载后端返回的pdf流或者excel流文件乱码问题解决方案_blob pdf
打开或者预览全是乱码。解决办法:1. 后端接口返回的blob文件流,你下载下来的文件是乱码的?解决办法 :让你的后端设置流的编码为utf-8。请跟后端大佬说,一定要给blob格式的文件流。2. 后端返回的blob文件流,并且已经设置了utf-8,但是你接受的接口返回值,依然是乱码?解决办法: 肯定没有设置 responseType: “arraybuffer”。
2025-01-28 09:39:38
393
原创 Python浮点算术:争议和限制_python中的小数取值都是近似表示,不能精确的表示小数。
有趣的是,有许多不同的十进制数共享相同的最接近的近似二进制小数。虽然病态的情况确实存在,但对于大多数正常的浮点运算使用来说,你只需简单地将最终显示的结果舍入为你期望的十进制数值即可得到你期望的结果。它会在数值被添加到总计值的时候跟踪“丢失的位”。你会在所有支持你的硬件中的浮点运算的语言中发现同样的情况(虽然某些语言在默认状态或所有输出模块下都不会。由于这种表示法是精确的,它适用于跨越不同版本(平台无关)的 Python 移植数值,以及与支持相同格式的其他语言(例如 Java 和 C99)交换数据.
2025-01-24 16:30:13
997
原创 Python 列表 extend()函数使用详解_python list extend
extend() 可以添加「字符串」类型的数据,字符串的每一个「字符」,都被当做一个新「元素」。extend() 可以添加「元组」类型的数据,和添加列表类似,每个「元素」都被当做一个新元素。extend() 可以添加「字典」类型的数据,只添加键,每一个「键」都被当做一个新「元素」。extend() 添加列表,是将列表中的「每个元素」都当做一个新元素,添加到原来的列表中。append() 添加列表,是将「>整个列表」当做一个新元素,添加到原来的列表中。配合算术「运算符」添加列表。
2025-01-24 02:12:40
325
原创 MySQL高可用之主备同步:MySQL是如何保证主备一致的?_mysql 高可用主备同步
对比前面的M-S结构图,可以发现,双M结构和M-S结构,其实区别只是多了一条线,即节点A和B之间总是互为主备关系。在状态1中,客户端的读写都直接访问节点A,而节点B是A的备库,只是将A的更新都同步过来,到本地执行。这时候客户端读写访问的都是节点B,而节点A是B的备库。当节点A同时也是节点B的备库时,节点B的binlog也会发送给节点A,造成循环复制。M-S结构,两个节点,一个当主库、一个当备库,不允许两个节点互换角色。双M结构,两个节点,一个当主库,一个当备库,允许两个节点互换角色。
2025-01-24 00:38:25
558
原创 Linux环境基础开发工具使用(上)
这个工具用于 windows 机器和远端的 Linux 机器通过 XShell 传输文件安装完毕之后可以通过拖拽的方式将文件上传过去。
2025-01-23 22:58:22
869
原创 js相等操作符深层次的理解,以及其他运算符的运算规则
③、根据上面提到的规则(如果一个操作数是对象,另一个操作数不是,则调用对象的valueOf()方法,用得到的基本类型值按照前面的规则进行比较,如果对象没有valueOf()方法,则调用 toString())③、如果一个操作数是对象,另一个操作数不是,则调用对象的valueOf()方法,如果得到的不是基本类型,那就再用toString(),用得到的基本类型值按照前面的规则进行比较****①、如果有一个操作数是布尔值,则在比较相等性之前先将其转换为数值——false转换为0,而true转换为1;
2025-01-23 21:36:56
640
原创 Java经典算法50题(01-10)
例如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方。题目:利用条件运算符的嵌套来完成此题:学习成绩> =90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。(2)如果n > k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。
2025-01-23 18:56:48
600
原创 javaScript预习(五) 数组
/这边count就变成了4,因为通过push方法,我们往数组a里面新增了一个内容,“black”,此时的数组a=[“red”,“green”,“yellow”,“black”];,例如上面的数组a,如果我定义a[100]=“4”,那么,即时a[3]~a[99]都是undefined,但是长度仍然显示的是101;a.toString()=a.valueOf(),这两个是等价的,都是输出数组,或者也可以直接是a,例如console.log(a);var m=a.slice(1,3),则m=[20,10];
2025-01-23 17:35:32
281
原创 ios开发之UITextField特性
define NUMBERS @”0123456789\n” (这个代表可以输入数字和换行,请注意这个\n,如果不写这个,Done按键将不会触发,如果用在SearchBar中,将会不触发Search事件,因为你自己限制不让输入\n,好惨,我在项目中才发现的。除了UITextField对象的风格选项,你还可以定制化UITextField对象,为他添加许多不同的重写方法,来改变文本字段的显示行为。2、Placeholder :可以在文本框中显示灰色的字,用于提示用户应该在这个文本框输入什么内容。
2025-01-23 16:15:14
659
原创 GitHub标星13
字面量都可以直接使用,但是我们一般不会直接使用字面量。如果直接使用字面量的话,比较麻烦。比如说,多个地方要用到同一个字面量,还不如事先定义一个变量,用来保存字面量。变量更方便我们使用,所以在开发中都是通过变量去保存一个字面量,而不会直接使用字面量。变量的概念变量:是用于存放数据的容器。我们通过「变量名」获取数据,甚至可以修改数据。变量还可以用来保存字面量。本质:变量是程序在内存中申请的一块用来存放数据的空间。二、变量的声明和赋值在ES6语法之前,统一使用var关键字来声明一个变量。
2025-01-23 14:45:58
953
原创 ECMAScript 2018(ES9) 的新特性总结
这意味着匹配会发生,但不会有任何捕获,并且断言没有包含在整个匹配字段中。此外,它只适用于每个对象的顶层,如果对象中嵌套对象则无法适用。在某些情况下,你想要在无论Promise运行成功还是失败,运行相同的代码,例如清除,删除对话,关闭数据库连接等。代码很难读懂,并且改变正则表达式的结构有可能改变匹配对象的索引。另外,如果一个对象A的属性是对象B,那么在克隆后的对象cloneB中,该属性指向对象B。这段代码中,循环本身依旧保持同步,并在在内部异步函数之前全部调用完成。循环一起使用,以串行的方式运行异步操作。
2025-01-23 01:03:13
902
原创 computed用发_Vue的computed和watch的细节全面分析
2.console.log打印的结果,发现oldVal和newVal值是一样的,所以深度监听虽然可以监听到对象的变化,但是无法监听到具体对象里面那个属性的变化。如果定义会报如下图片的错误,因为对应的computed作为计算属性定义fullName并返回对应的结果给这个变量,变量不可被重复定义和赋值。方法二:watch如果想要监听对象的单个属性的变化,必须用computed作为中间件转化,因为computed可以取到对应的属性值。这个错误是说的避免直接修改父组件传入的值,因为会改变父组件的值,贴上官网介绍。
2025-01-22 23:30:05
921
原创 android入门视频教程!Flutter全方位深入探索,帮你突破瓶颈_flutter学习宣讲会
技术面试自我介绍时请focus在技术方向上,有些同学会准备一段华丽的开场白,介绍自己大学期间的学生会、组织活动等经验,这些内容对于技术面试没有太多吸引力,不利于面试官找到对应你的合适问题,有时候反而会在面试官心目中减分(感觉不够专注技术)。
2025-01-22 20:38:19
678
原创 Android studio 插件之 GsonFormat (自动生成javabean)
lastest_content : {“type”:2,“data”:{“name”:“16837286”,“nickname”:“阿莲”,“gender”:“female”,“signature”:“”,“vip”:“0”,“logourl”:“http://aliimg.yizhibo.tv/online/user/2c/17/60ec3f44e8a0de9db1d87f1a59875ce1.jpg@100h_100w_90Q_0e_1c”}}易直播愚人节无敌大王争霸集结号也借势邪恶吹响!
2025-01-22 19:16:57
867
原创 70多套java必练项目,适合小白上手!
项目地址:java实现银行柜员业务绩效考核系统java实现挖掘机配件营销系统Java实现酒店管理系统Java停车场管理系统Java实现的健身俱乐部会员系统Java实现银行排号系统Java实现敬老院管理系统JAVA实现机场航班起降与协调管理系统java实现保险业务管理系统Java实现超市积分管理系统Java实现码头船只出行及配套货柜码放管理系统java实现医院管理住院系统Java实现医院在线挂号系统JAVA实现私人牙科诊所管理系统java实现病历管理系统javaEE实现健康管理系统Java实现网络考试系统ja
2025-01-22 17:51:31
551
原创 2024年【大学生Python学习】社区&&小博主【孤寒者】的年度总结
而且,为了壮大我们的社区小家庭,本社区也会不定时开展福利,比如:打卡送技术书籍,社区表现优异的成员送优快云官方定制T恤以及背包等。“学习一直都是自己的事”,本社区目的是给各位在校生营造一个良好积极向上的学习环境,给那些初入大学感觉迷茫没有方向的大学生一条明亮的Python学习之路。希望大家不只是加入社区,更要做到每日学习,每日打卡,一起变强!二、2021年年度总结——优秀社区成员表彰我们社区从一开始的几个人,发展壮大到如今的4.0w+,这离不开社区每一位成员的努力。
2025-01-22 16:19:00
701
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人