- 博客(10)
- 收藏
- 关注
原创 Android开发日常问题-10
sb.append(year).append("年").append(month).append("月").append(day).append("日").append(week).append("\n").append(hour).append(":").append(minute)Toast.makeText(MainActivity2.this, "用户点击的是:"+content.getText(), Toast.LENGTH_LONG).show();// 获得字符串的字节长度。
2025-01-03 16:05:46
818
原创 Android开发日常问题-9
id : 调用的是PluginDependenciesSpec中的id(String id)函数,返回PluginDependencySpec对象,PluginDependencySpec对象可以理解为是PluginDependenciesSpec的一层封装,version和apply被封装在此对象中。resources { excludes += “/META-INF/{AL2.0,LGPL2.1}” }: 排除特定的资源文件,这里排除了指定路径下的一些文件,通常用于处理第三方库的冲突或不必要的资源。
2024-12-06 17:17:50
1009
原创 Android开发日常问题-8
在协程中,等待 2 秒后将 data.value 更新为 "更新后的数据",此时依赖 data.value 的 Text 组件会被刷新,Objects.requireNonNull(LDModel.Companion.getInstance()).getLd().postValue("请求数据返回-1");Objects.requireNonNull(LDModel.Companion.getInstance()).getLd().postValue("请求数据返回-2");
2024-12-06 17:16:00
1307
原创 Android开发日常问题-7
一行代码就完成了生成对象以及给三个变量赋值的操作,这个在kotlin里面就叫做解构声明,将一个单独的有多个属性值的对象拆分开来,给多个变量进行赋值,这其中也用到了约定,像上面的代码其实编译器自动给People加上了componentN()的方法,N就是属性的位置,所以像上面的代码,编译器的眼里其实是这样的。2、有<action android:name="android.intent.action.VIEW" />时,android:exported的值需要为true,是为了给外部应用访问,则否会有告警,
2024-12-06 17:15:13
1758
原创 Android开发日常问题-6
launch是在自定义的coroutineScope作用域内启动协程,这个作用域由SupervisorJob()和Dispatchers.Main定义,具有特定的任务管理和线程执行配置。coroutineScope中的SupervisorJob在子协程失败时不会影响兄弟协程,但lifecycleScope的任务管理通常是基于组件的生命周期,当组件销毁时,所有相关协程取消,而不是基于类似监督任务的方式。请注意,如果使用 PEM 格式,文件必须仅包含 PEM 数据,且没有额外的文本。
2024-12-06 17:14:21
812
原创 Android日常开发问-5
launchWhenCreated、launchWhenStarted 和 launchWhenResumed 的主要区别在于它们启动协程的时机:launchWhenCreated 会在组件的生命周期状态至少为 CREATED 时启动协程,launchWhenStarted 会在组件的生命周期状态至少为 STARTED 时启动协程,launchWhenResumed 会在组件的生命周期状态至少为 RESUMED 时启动协程。Job 是一个可以被取消的工作,Deferred 是一个可以获取结果的工作。
2024-12-06 17:13:37
768
原创 Android开发日常问题-4
lazy() 是一个函数, 接受一个 Lambda 表达式作为参数, 返回一个 Lazy <T> 示例的函数,返回的示例可以作为实现延迟属性的委托: 第一次调用 get() 会执行已传递给 lazy() 的 lamda 表达式并记录结果, 后续调用 get() 只是返回记录的结果。设置WindowManager的View的位置,这里要注意,WindowManager.LayoutParams的x和y属性的位置是指的距离WindowManager.LayoutParams指定的Gravity的距离。
2024-12-06 17:12:49
921
原创 Android开发日常问题-3
在 Java 中,if (object instanceof LocationMenu locationMenu) 这种语法是在进行类型判断的同时进行类型转换,并将转换后的对象赋给新的变量 locationMenu。val NoOpUpdate: View.() -> Unit = {} 定义了一个名为 NoOpUpdate 的变量,它是一个函数类型,接受一个 View 类型的对象作为接收者,并且函数体为空,即不执行任何操作。这意味着,如果你直接在@Composable函数中创建一个对象或启动一个协程,
2024-12-06 17:11:46
797
原创 Android开发日常问题-2
对,你没看错,他不但拦截了点击事件,还消费了,就说为什么传不下去,既然知道了问题的所在,解决起来就简单多了,我们可以自定义一个DrawerLayout,代码如下,其实很简单就是我们自己来控制DrawerLayout是否相应点击事件,(DrawerLayout为了响应抽屉的打开和收起,所以拦截了点击事件,当初没想起来)需要注意的是,当 payloads 为 空的时候,说明是该条目的整个数据都变化了, 需要更新所有的数据,所以你可以在当 payloads 为 空 的时候调用不带 payloads 参数的函数。
2024-12-06 17:10:54
793
原创 Android开发日常问题—1
完整路径是:C:\Users\用户名\.gradle\caches\modules-2\files-2.1\com.google.http-client\google-http-client-jackson\1.15.0-rc\哈希值\jar或aar文件。//设置锚点为中央底部。1、打开Android Studio,点击菜单栏中的"File"--->Settings--->Editor--->Console--->Override console encoding勾选,而且语言和Java还是有区别。
2024-12-06 17:10:11
919
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅