自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【Android】 连接wifi时,强制应用使用流量

Android强制应用在Wi-Fi下使用移动数据的方法:1)全局绑定进程 - 通过ConnectivityManager.bindProcessToNetwork()将整个应用绑定到蜂窝网络;2)精准控制 - 为OkHttp等网络库配置特定Network对象,需额外设置socketFactory和自定义DNS解析。两种方法都要求Android 5.0+,使用时需注意及时解除绑定释放资源。方法二实现中发现需要额外配置DNS才能正常工作。

2025-08-22 21:30:00 462

原创 【Flutter】Container设置对齐方式会填满父组件剩余空间

Flexible嵌套Container时,对齐方式的设置会影响布局效果。当注释掉Container的alignment:Alignment.center时,蓝色Container会填满Column的剩余宽度;不注释时,文本会在Container内居中显示,但Container宽度仍会撑满。这种差异展示了Flexible如何控制子组件在Flex布局中的尺寸分配行为。

2025-08-21 15:48:40 215

原创 Flutter 局部刷新方案对比:ValueListenableBuilder vs. GetBuilder vs. Obx

Flutter局部刷新方案对比摘要 ValueListenableBuilder、GetBuilder和Obx是Flutter三种UI局部刷新方案。ValueListenableBuilder是Flutter原生方案,基于ValueNotifier实现响应式更新,无依赖但需手动管理生命周期。GetBuilder属于GetX的命令式方案,需手动调用update()触发重建,适合复杂场景。Obx是GetX的响应式方案,通过.obs自动追踪依赖,代码最简洁但依赖GetX框架。综合对比,Obx在开发效率上完胜,Va

2025-08-07 21:09:35 810

原创 Flutter 三棵树

Flutter框架的核心机制围绕"三棵树"展开:Widget树作为不可变的配置蓝图,Element树负责对比更新和生命周期管理,RenderObject树执行布局、绘制和命中测试。Widget声明UI需求,Element对比新旧Widget决定复用或重建,RenderObject处理具体渲染。当布局改变时,若Widget类型不同(如Column变Row),会触发Element和RenderObject的销毁重建;若仅属性变化(如文本修改),则复用现有节点仅局部更新。这种分层设计配合Key

2025-08-07 20:03:08 941

原创 Flutter报错...Unsupported class file major version 65

flutter项目运行报错> BUG!环境:gradle:7.4。

2025-08-07 20:00:01 236

原创 【Flutter】双路视频播放方案

双路视频播放(Dual-Video Playback),从字面上理解,就是指在一个屏幕或应用界面上,同时解码和渲染两个独立的视频流。可以把它想象成有两列火车在两条并行的轨道上同时行驶,你可以同时看到两列火车的状态。这两个视频流可以有多种关系和布局方式。

2025-08-01 21:00:00 770 3

原创 【Flutter】 使用table_calendar: ^3.2.0 星期标题栏被遮挡问题解决方法

摘要:在使用TableCalendar时,可以通过设置daysOfWeekHeight参数来调整星期标题栏的高度。本文建议将该值设为30,以优化日历控件的显示效果。这个简单的配置项调整能有效改善界面布局,使星期标题栏获得更明确和合理的空间分配。开发者可根据实际需求灵活调整此参数值,同时还可结合其他配置项来完善日历控件的整体外观和功能。

2025-07-22 21:00:00 128

原创 【Win10】新建系统变量的按钮忽然灰了解决方法

在尝试了多种网上搜索到的方法均无效后,通过以管理员权限运行命令提示符,成功打开了新建系统变量的页面,并顺利完成了系统变量的新建。这一步骤可能解决了之前无法创建系统变量的问题,尽管不确定是否适用于所有情况,但在特定环境下确实有效。

2025-05-09 09:00:00 385

原创 【Flutter】数据库实体类构造函数加密注意事项

假设:account = a;password=b;a加密后n0yvxAHkx5kZH3yB9brlsQ==

2025-03-14 19:30:00 193

原创 【Flutter】第一次textEditingController.text获取到空字符串

在initState()方法里面调用了一个async方法获取数据库数据,在async里面初始化TextEditingController并给TextEditingController.text赋值。原因分析:通过打印日志可以得知,initState()方法执行后,还没执行完async方法就走到了build()方法,导致textEditingController.text获取到的是空字符,甚至TextEditingController不能保证非空;刷新状态,不然显示不了值。

2025-03-10 20:00:00 350

原创 【Flutter】正方形的Dialog

以为很简单,showDialog,里面再使用Dialog就行,结果Dialog有最小宽度限制,这个最小宽度比UI的宽度还要大,使用UnconstrainedBox又各种包裹Container还是不行,最终决定放弃Dialog,直接使用Container。

2025-03-04 20:15:00 437

原创 Kotlin 协程与Flow

协程可以理解成线程中的线程,进程跟线程的关系,差不多就是线程跟协程的关系。一个进程里可以有多个线程,一个线程崩了整个进程不会崩;一个线程里可以有多个协程,一个协程崩了整个线程不会崩;当然,这只是简单的理解,系统的最小执行单位还是线程,协程的并行也只是线程的切换。

2025-02-27 13:56:44 505

原创 【Jetpack Compose】Color.kt 文件左侧没有显示颜色解决方法

跟着B站学项目练习Jetpack Compose的时候,发现我的Color.kt左侧没有显示颜色,网络搜索也没搜处理,只好出Plugin里输入color自己搜插件。看到这个安装即可在编辑器边缘显示颜色。

2025-02-11 21:00:00 256

原创 [repo] No such file or directory: ‘/xxxx/.repo/manifests/.git/HEAD‘error: manifest missing or unrea

【解决方法】:在~/.ssh/config添加这一行(config之前已经配置了Host跟User)。【原因分析】:缺了HEAD这个文件,至于为什么缺没有分析。【解决方法】:新建一个文件夹,重新运行repo命令。

2024-12-03 22:00:00 995

原创 【Android】默认应用程序与特定权限(读取通话记录和发送短信等)

应用必须先请求成为默认处理程序,然后才能请求与成为该处理程序相关的权限。例如,应用必须先请求成为默认短信处理程序,然后才能请求。默认应用程序就是在设置里设置的默认应用。记录新学到的知识点。

2024-10-25 22:00:00 379

原创 【SVN】clean up 显示database is locked, executing statement BEGIN IMMEDIATE TRANSACTION:

update的时候显示。

2024-08-28 22:00:00 382

原创 【Flutter】 webview_flutter避坑

webview_flutter没有SSL Error接口,也就是说等你的网页出现SSL 错误的时候这个插件无法捕捉处理,除非你改它的源码。下面这段是webview_flutter官网的例子,它有onHttpError、onWebResourceError、但没有任何捕捉 SSL 错误的选项,我曾经不信邪找了很久。通过日志发现可以取巧提醒SSL Error , SSL Error不会走onPageStarted,可以在这里加flag,然后在pageFinished的时候做判断即可。

2024-07-16 21:00:00 1015

原创 [Flutter] Android Studio pub get 不起作用

找到这些库在本地找到的地址,我的在C:\Users\用户名\AppData\Local\Pub\Cache\hosted\pub.dev下,如果找不到就随便进去一个库,然后右键copy path,就能看到这些库在本地的地址,找到webview_flutter目录,删除,再回到Android Studio pub get就好了。中试过flutter clean,到设置里打开开发者模式啥啥的,都没用。最后是删除这个库在本地的缓存解决的。

2024-07-09 11:16:31 1055

原创 【Flutter】 TextField限制长度时, 第三方手写输入法、ios原始拼音输入法输入被吞问题

TextField限制长度时, 当你的输入字符长度已经到了最大值-1时,使用第三方手写输入法或者ios原生拼音输入法输入liang(什么拼音都行,这里只是举例),输到i那么li都会消失。

2024-06-04 19:36:28 1228

原创 【Flutter】 webview请求权限问题

需求:webview可以通过录音后语音转文字。

2024-05-23 22:45:00 873 2

原创 Flutter 显示控件边界

总结:以下代码都在main.dart中。

2024-05-11 10:30:39 386

原创 【Java 8】Lambda: mAA::get 返回函数式接口实例

重点在于mProviders.put(AA.class,mAA::get),看了很久都没看懂,mAA::get返回的不是mAA本身吗,为什么能转化为LazyDependencyCreator存储在map里。双冒号有方法调用的作用我是知道的,在函数式接口里它能省略方法调用是第一次知道,记录一下,另外,感觉LazyDependencyCreator接口很多余,下面这样不也可以吗。涨知识了,在函数式接口的情景里,原来使用双冒号是能省略方法调用的,具体原理不知道,反正就是能这样用。

2024-05-08 11:13:40 372 1

原创 【Flutter】Android12 底部手势导航栏挡住一部分控件解决方法

bug来源:底部控件在其他Android版本上没有被遮挡,只有在Android12机器上会被设备底部手势控件挡住。解决方法:在Scaffold 下在添加一个 SafeArea包住别的控件即可。

2024-04-11 16:10:23 576 1

原创 【SVN】clean up报错:Cleanup failed to process the following paths 解决方法

报错来源:代码更新有一个文件既不能接受自己的也不能接受别人的,只能取消,再提交提醒clean up,随后报标题错误。解决方法:参考。

2024-04-09 22:45:00 4678 1

原创 【Flutter】 search_page使用心得

我在search_page中传入的builder是带有checkbox的ListTile,当我点击checkbox的时候,checkbox应该改变它的状态,然而search_page中checkbox并没有变化。解决方法:复制search_page的代码,在它的buildSuggestions方法最后的return的控件那里添加get的Obx或者是其他更新本页面的方法就行。以上就是search_page地址。使用方法跟具有哪些功能网页都有,这篇文章主要讲我在使用这个插件时遇到的坑。坑1:不能自己刷新界面。

2024-03-13 22:15:00 1343

原创 【Android】 ClassLoader 知识点提炼

除了系统提供的类加载器,还可以自定义类加载器,自定义类加载器通过继承java.lang.ClassLoader 类的方式来实现自己的类加载器,Extensions ClassLoader 和 AppClassLoader也继承了java.lang.ClassLoader 类。

2024-03-12 21:30:00 1157

原创 【flutter】报错 cmdline-tools component is missing

在flutterSDK目录下,双击flutter_console.bat,调出命令行。输入flutter doctor,如果第三个诊断为[x],报cmdline-tools component is missing错(我这已经修改好了,所以是勾了),那就可以用以下方法解决。

2024-02-05 21:15:00 4319 1

原创 【Android】屏幕锁

屏幕锁,就是锁住屏幕不让用户误触摸,从开发者的角度看就是不响应用户的点击事件。

2024-01-31 22:15:00 2610

原创 【git】记录一个git error解决方法

因为代码编写事件有点长,编写好之前有人提交过代码,而我这边没有git pull,所以提交失败了,然后pull的时候,提醒:error: The following untracked working tree files would be overwritten by merge:Please move or remove them 大概是当前状态下有些未被追踪的文件,请求你将它们移开或删除,但是我跟踪它后面说的文件,发现这些文件在本地已经不存在了(可能是我前面的瞎操作删的)。网上别的方法也试过,但只有下面

2024-01-25 22:30:00 523

原创 【Android 10】 BatteryController

BatteryStateChangeCallback就是抽象观察者,它是BatteryController的内部接口,里面有两个方法,看方法名字就可以知道一个是监听level改变的(例如电量低于15%是低电量),onPowerSaveChanged方法就是监听目前电池省电模式有没有改变。图应该挺清晰的,BatteryControllerImpl就是被观察者,BatteryControllerImpl重写了CallbackController的两个方法用于添加或移除观察者。

2024-01-22 22:30:00 704

原创 【Android】TypedArray的使用

这里的app:xxx取决于你在第二部给这个属性起的名字,如果你起的是barColor,那么当你在布局文件中给RoundSeekbarView添加属性时就会弹出barColor的提示,这就是declare-styleable的name也一定要是RoundSeekbarView的意义。

2024-01-22 22:15:00 923

原创 【Android】自定义View onDraw()方法会调用两次

我在构造函数中设置的画笔颜色是红色,但是实际画出的线是黑色的(画笔默认颜色是黑色),分析了一下发现是paint.reset()的问题,reset就是画笔重置设置嘛,如何它就会变成默认的黑色,这个我懂,可是为什么会把线的颜色改了?画线的代码明明在reset的前面。

2024-01-18 21:00:00 786

原创 【Android】ANR

目前也还没处理过anr,记录几篇学习过的anr文章。

2024-01-15 23:15:00 559

原创 【Android 10】应用全屏

true

2024-01-10 10:33:59 1049

原创 【Android】 ConstraintLayout实操

其实之前也小小的学过一波constraintlayout,不过因为用线性布局跟相对布局习惯了,加上使用constraintlayout的时候不熟练,控件经常没有出现在预想的位置,后面就没用了。这里只记录在官网学习的时候遇到的阻碍,官网有的就不写了。

2024-01-09 19:33:03 734

原创 【Android性能优化】 应用启动优化

这篇文字其实没什么内容,就是介绍了一下冷启动跟热启动以及白屏。

2023-12-26 09:07:36 429

原创 Android 画一个闹钟

先上结果图(下面的代码是没有数字左下角的点的,这个点就是为了提醒文字的(x,y)是它的左下角)画闹钟其实就是自定义一个View,重写它的onDraw()我创建了重写onDraw()方法如下:须知:画布的(0,0)在左上角。画外面的大圆圈就不说了,这个圈可画可不画。其中x,y是圆心。

2023-12-20 10:51:41 546

原创 设计模式:桥接模式

桥接模式就是首先分开两部分,然后搭建桥梁将两个部分联系起来。

2023-12-12 15:01:04 1145

原创 Android 记录一些Framework开发的命令

1. "source build/envsetup.sh" (source可以用 . 代替,即". build/envsetup.sh")adb push 本地framework-res.apk地址 /system/framework/framework-res.apk。4. "development/tools/idegen/idegen.sh",并继续等待,这个过程可能比较长。在导入项目前,手动对"android.iml"文件进行一下修改,可以使我们导入的时间尽可能的缩短一些。

2023-12-07 14:08:03 701

原创 Android 样式与主题背景学习

@style/Button

2023-12-07 09:09:31 853

空空如也

空空如也

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

TA关注的人

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