- 博客(67)
- 收藏
- 关注
原创 Python-⽂件和⽂件夹的操作
readlines可以按照⾏的⽅式把整个⽂件中的内容进⾏⼀次性读取,并且返回的是⼀个列表,其中每⼀⾏的数据为⼀个元素。num表示要从⽂件中读取的数据的⻓度(单位是字节),如果没有传⼊num,那么就表示读取⽂件中所有的数据。模式:如果⽂件不存在则创建该⽂件;name:是要打开的⽬标⽂件名的字符串(可以包含⽂件所在的具体路径)。mode:设置打开⽂件的模式(访问模式):只读、写⼊、追加等。注意:此时的 f 是 open 函数的⽂件对象。2. r 模式:如果⽂件不存在则报错。作⽤:⽤来移动⽂件指针。
2024-07-18 20:05:37
523
原创 Python-对象、默认函数
注意:打印对象和self得到的结果是⼀致的,都是当前对象的内存中存储地址。中的self参数,不需要开发者传递,python解释器会⾃动把当前的对象引。当使⽤print输出对象的时候,默认打印对象的内存地址。对象属性既可以在类外⾯添加和获取,也能在类⾥⾯添加和获取。⽅法,那么就会打印从在这个⽅法中 return 的数据。⽅法,在创建⼀个对象时默认被调⽤,不需要⼿动调⽤。当删除对象时,python解释器也会默认调⽤。self指的是调⽤该函数的对象。创建对象的过程也叫实例化对象。⽅法的作⽤:初始化对象。
2024-07-12 17:03:08
235
原创 Python- lambda、⾼阶函数
将传⼊的函数变量func作⽤到lst变量的每个元素中,并将结果组成新的列表(Python2)/迭代器(Python3)返回。函数式编程⼤量使⽤函数,减少了代码的重复,因此程序⽐较短,开发速度较快。注意:这⾥的可变参数传⼊到lambda之后,返回值为元组。注意:两种⽅法对⽐之后,发现,⽅法2的代码会更加简洁。需求:⼀个函数完成计算任意两个数字的绝对值之和。需求:计算 list1 序列中各个数字的累加和。计算的结果继续和序列的下⼀个元素做累积计算。传⼊的参数func必须接受2个参数。序列中各个数字的2次⽅。
2024-07-11 15:40:55
395
原创 Android手机拍照或从本地相册选取图片设置头像-高版本适配
GitHub传送门新增FileProvider图片裁减需要的临时权限Android 10只能读取自己APP目录下的文件可以添加requestLegacyExternalStorage解决
2024-07-04 16:31:23
512
原创 grep使用
这里的-name "*.java"表示搜索所有扩展名为.java的文件,-exec后跟命令执行,{}代表每个找到的文件名。如果你想使用正则表达式搜索,可以直接在grep命令中使用。在需要检索的目录里打开bash窗口可以不写android-source。这里的-r选项表示递归搜索所有子目录。表示一个或多个字母数字字符。
2024-06-28 18:32:30
292
原创 Android-悬浮窗口
在Android系统中,如果应用需要弹出一个悬浮窗口,就需要申请一项特殊权限在Android O之前的系统中申请了该权限后,再给对应的window设置悬浮窗口就可以显示出来。但是在Android O的系统中,google规定申请悬浮窗口才能显示出来,“TYPE_APPLICATION_OVERLAY”是重点。另外说一下:申请权限不能使用 requestPermissions 方法。
2024-06-27 17:42:45
351
原创 Python-运算符、公共方法、容器类型转换、推导式
注意:range()⽣成的序列不包含end数字。作⽤:将某个序列转换成元组。作⽤:将某个序列转换成列表。作⽤:将某个序列转换成集合。
2024-06-26 11:17:59
153
原创 org.jetbrains.kotlin.kapt3.base.KaptContext cannot access class Context
升级Android studio后报错。
2024-06-20 11:09:25
454
原创 Python-元组
元组特点:定义元组使⽤⼩括号,且逗号隔开各个数据,数据可以是不同的数据类型# 多个数据元组# 单个数据元组t2 = (10,)注意:如果定义的元组只有⼀个数据,那么这个数据后⾯最好也添加逗号,否则数据类型为唯⼀的这个数据的数据类型t2 = (10,)t3 = (20)
2024-06-18 18:13:05
244
原创 Python-列表
注意:reverse表示排序规则,reverse = True 降序, reverse = False 升序(默认)列表追加数据的时候,直接在原列表⾥⾯追加了指定数据,即修改了原列表,故列表为可变类型。如果append()追加的数据是⼀个序列,则追加整个序列到列表。需求:查找⽤户输⼊的名字是否已经存在。
2024-06-14 17:11:43
271
原创 Python03-字符串
center():返回⼀个原字符串居中对⻬,并使⽤指定字符(默认空格)填充⾄对应⻓度 的新字符串,语法和ljust()相同。rjust():返回⼀个原字符串右对⻬,并使⽤指定字符(默认空格)填充⾄对应⻓度 的新字符串,语法和ljust()相同。注意:capitalize()函数转换后,只字符串第⼀个字符⼤写,其他的字符全都⼩写。join():⽤⼀个字符或⼦串合并字符串,即是将多个字符串合并为⼀个新的字符串。所谓修改字符串,指的就是通过函数的形式修改字符串中的数据。split():按照指定字符分割字符串。
2024-06-11 20:21:15
581
原创 鸿蒙DevEco Studio 4.1 Release-模拟器启动方式错误
4、任务管理器里面有没有qemu进程,单独启动提示找不到glib-2.0-0.dll,单独下载dll,放置到系统目录后重启电脑,再启动qemu,提示无法正常启动。1、“windows虚拟机监控程序平台”、"虚拟机平台"已开启。目录:File-> Settings-> SDK。目录:File-> Settings-> SDK。5、卸载System-image再重新安装。Size on Disk 显示1.0MB。6、卸载Emulator再重新安装。2、CPU虚拟化已启用。没有权限查看处理指导。
2024-05-08 10:33:47
1293
10
原创 DevEco Studio 3.1.1 Release没有代码补全提示
3、在菜单栏File->Close Project,关闭工程,然后在向导页面,通过Open Project打开原工程。Ctrl+Alt+S), –> 打开设置对话框。在 Basic 上点击右键,去除原来的 Ctrl+空格 绑定,然后添加 Alt+/ 快捷键。接着在右边的树型框中选择 Main menu –> Code –> Completion.移除原来的Cycle Expand Word 的 Alt+/ 快捷键绑定。目前官网最新版就是3.1.1 Release。在左侧的导航框中点击 KeyMap。
2024-05-07 18:03:28
228
原创 LiveData简介及使用-什么是LiveData的粘性事件(数据倒灌)?
LiveData是一种具有生命周期感知能力的可观察数据持有类LiveData可以保证屏幕上的显示内容和数据一直保持同步特点:1.LiveData了解UI界面的状态,如果activity不在屏幕上显示,livedata不会触发没必要的界面更新,如果activity已经被销毁,会自动清空与observer的连接,意外的调用就不会发生2.LiveData是一个LifecycleOwner,他可以直接感知activity或fragment的生命周期。
2023-08-16 22:08:54
352
原创 Lifecycle原理、源码解析
AppCompatActivity 实现了LifecycleOwner接口,同时持有实现了Lifecycle的LifecycleRegistry对象,这个对象就可以将其理解为观察者模式中的Observable,LifecycleRegistr聚合多个LifecycleObserver,生命周期改变时通知LifecycleObserver进行相应的方法调用。这种通过Fragment来感知Activity生命周期的方法其实在Glide的中也是有体现的。你会发现都调用了dispatch()方法。
2023-08-06 23:02:39
180
原创 Flutter-基础Widget
在Flutter中,几乎所有的对象都是一个Widget,与原生开发中的不同的是,Flutter中的widget的概念更广泛,它不仅可以表示UI元素,也可以表示一些功能性的组件如:用于手势检测的widget、用于应用主题数据传递的Theme等等。由于Flutter主要就是用于构建用户界面的,所以,在大多数时候,可以认为widget就是一个控件,不必纠结于概念。
2023-07-29 21:38:43
676
原创 Dart语法03-异步编程
同Android Handler类似,在Dart运行环境中也是靠事件驱动的,通过event loop不停的从队列中获取消息或者事件来驱动整个应用的运行,isolate发过来的消息就是通过loop处理。首先Loop检查微服务队列,依次执行Event,当微服务队列执行完后,就检查Event queue队列依次执行,在执行Event queue的过程中,没执行完一个Event就再检查一次微服务队列。 Future 表示稍后获得的一个数据,所有异步的操作的返回值都用 Future 来表示。当一个 future。
2023-07-20 10:12:17
65
原创 Dart语法02-类、构造方法、set、get、运算符重载、抽象类、接口、可调用的类、混合mixins
【代码】Dart语法02-类、构造方法、set、get、运算符重载、抽象类、接口、可调用的类、混合mixins。
2023-07-17 18:00:24
340
原创 Dart语法01-变量、内置类型、操作符、方法与异常
学习一门新的语言,我们可以以自己现有的熟悉的语言来类比,比如我们非常熟悉Java,那么剩下的就是需要掌握与Java不同的Dart语法,剩下的就需要靠自己多写多看来慢慢熟悉。 国际惯例,使用Dart完成一个:“Hello,World!运行Dart 代码可以使用,dart命令需要配置环境变量,将 “${FLUTTER_SDK}/bin/cache/dart-sdk/bin” 配置到变量 PATH 中即可。
2023-06-30 20:50:58
231
原创 electron打包运行白屏、Can not find modules ‘xxx‘,Dynamic Linking Error等问题
需要注意的是,dependencies和devDependencies之间的区别只是在打包和安装应用程序时的行为不同,但它们都是用来声明应用程序所依赖的npm包的。当开发人员使用npm安装应用程序时,这些依赖包会被一起安装。
2023-05-09 16:53:50
2891
原创 jni-04、静态注册、动态注册、JavaVM与JNIEnv与jobject的地址问题
静态注册、动态注册、JavaVM与JNIEnv与jobject的地址问题。
2022-09-05 19:05:41
795
原创 jni-01、宏、jni函数详解、数据获取、类型转换、签名规则
T2.h#ifndef CLIONCPPPROJECT_T2_H // 如果没有定义这个宏 解决循环拷贝的问题#define CLIONCPPPROJECT_T2_H // 我就定义这个宏// 100 行代码// 第一次能够进来// 第二次 第n此进不来 直接 解决循环拷贝的问题了#ifndef isRelease // 如果没有isRelease这个宏#define isRelease 1 // 是否是正式环境下 【我就定义isRelease这个宏】...
2022-08-04 19:10:08
241
原创 C++-04、可变参数、static关键字、const修饰函数的this、实战类写法、友元
C++-04、可变参数、static关键字、const修饰函数的this、实战类写法、友元。
2022-07-28 19:31:40
205
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人