- 博客(6)
- 收藏
- 关注
原创 【Jetpack】DataBinding学习笔记
下面代码中用到了@BindingAdapter和@InverseBindingAdapter@BindingAdapter用于实现数据源->View的正向绑定。用于自定义属性绑定逻辑,允许开发者扩展布局 XML 中的属性行为@InverseBindingAdapter用于实现View->数据源反向绑定。InverseBindingAdapter需要指定两个参数:attribute(属性),指定要反向绑定的 XML 属性名(即数据从 View 回传到数据源时对应的属性)
2025-08-07 16:44:49
286
原创 【Jetpack】LiveData学习笔记
让它在不同的生命周期事件中去逐一通知其所有的观察者,当然也包含了我们的。对象(即使数据更新了,我们也无从进行对应UI的更新操作),因此。方法,在这种情况下,它能够响应到任何生命周期中数据的变更事件。互不干涉,大幅降低了互相持有的依赖关系所带来的强耦合性。2.方法内部实际上将我们传入的2个参数包装成了一个新的。的数据发生变化,我们都能在回调函数中进行对应的处理。4.将第2步包装生成的对象交给我们传入的。方法,我们当然不会关心运行在后台的。3.在第三步中,对于一个可观察的。实际就是我们的观察后的回调。
2025-08-05 20:27:11
692
原创 【Jetpack】ViewModel学习笔记
通过一个String类型的状态来表示一个TextView,同理,我们也可以通过一个List<T>类型的状态来维护一个的列表。每当String的数据状态发生变更,View层就能检测并自动执行UI的更新,同理,每当列表的数据源List<T>发生变更,也会自动刷新列表。开发过程中可以大幅减少UI层和Model层相互调用的代码。
2025-08-04 20:57:23
641
原创 【Jetpack】Lifecycle学习笔记
非常好的系列文章,清晰透彻,推荐阅读原文。lifecycle可以和Activity或Fragment生命周期绑定,方便我们做一些跟生命周期相关的业务逻辑。常见的生命周期处理方法是在Activity onResume()、onStart()等中处理相关逻辑,随着业务复杂,也容易出bug,可以使用Lifecycle来,解耦出去这些逻辑,并自动在适当的生命周期内执行。
2025-08-04 20:50:23
771
原创 【Android基础】第一行代码-广播学习笔记
每个应用程序都可以对自己感兴趣的广播注册,这些广播有可能是来自于系统,也有可能是来自于其他应用程序。广播主要分为两种类型:1.标准广播:完全异步执行的广播,这种广播效率比较高但是无法被截断。2.有序广播:在广播发出之后,同一时刻只有一个广播接收器能够接收到这条广播消息,广播接收器中的逻辑执行完毕后,广播才会继续传递。自定义一个广播接收器(这里采用静态注册)<receiver@Override//接收到广播后执行的操作比如在MainActivity里面实现发送广播@Override//...
2025-07-29 20:34:06
340
原创 【Android基础】第一行代码-Service学习笔记
服务常被用作去执行不需要与用户交互而且需要长期运行的任务。服务的运行不依赖于任何用户界面,即使程序被切换到后台,或者打开了另一个应用程序,服务依旧可以保持正常运行。当我们执行一些耗时操作,比如发送网络请求,如果不把这类操作放到子线程里去执行,会导致主线程被阻塞。在子线程中更新UI在android里面如果需要更新UI元素,则必须要在主线程中进行,否则会出现异常。对于这一问题android给出了一套异步消息处理机制。异步消息处理主要由四个部分组成:Message 在线程之间传递的消息,它可以在内
2025-07-28 21:00:55
521
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人