avatar
文章
86
标签
12
分类
25
Home
Posts
Learn
Note
Categories
Tags
LogoBravestSnail's BlogHandler
Home
Posts
Learn
Note
Categories
Tags

Handler

发表于2022-08-25|更新于2025-10-28|posts
|浏览量:
文章作者: BravestSnail
文章链接: https://bravestsnail.github.io/2022/08/25/posts/Handler/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 BravestSnail's Blog!
AndroidHandler
上一篇
SharedPreferences
SharedPreferences是以键值对的方式保存数据的,数据存放在xml文件中。 获取SharedPreferences Context类的getSharedPreferences()方法。参数一:指定文件名称;参数二:指定操作模式,Android4.2之后只有MODE_PRIVATE一种模式。 Activity类的getPreferences()方法。文件名称默认是当前Activity的类名,接受一操作模式参数。 PreferenceManager类中的getDefaultSharedPerferences()方法。这是一个静态方法,接受一个Context参数,并自动使用当前应用程序的包名作为前缀命名文件名。 SharedPreferences的使用SharedPreferences对象本身不支持存储和修改,只能获取数据,存储修改是通过SharedPreferences.edit()获取内部接口Editor对象实现。 12345678910111213141516171819202122232425 1)写入数据: ...
下一篇
LiveData原理
LiveData的使用123456789val livedata = LiveData<Int>()//发送数据livedata.setValue()//立即生效,只能在主线程调用livedata.postValue()//通过Handler转到主线程,有丢失数据的风险,可以用来在子线程调用//观察数据void observe(@NonNull LifecycleOwner owner, @NonNull Observer<? super T> observer)livedata.observe(this) {}//第一个参数是一个`LifecycleOwner`对象,这个让LiveData具有与生命周期绑定的能力。//第二个参数是一个`Observer`,是一个回调 LiveData的使用是十分的简单的,其原理也并不复杂。 observe方法123456789101112131415161718192021@MainThread //@MainThread...
相关推荐
2022-08-22
Activity的启动流程
Application的初始化从应用进程到系统进程ActivityThread在创建的时候,会将自己的ApplicationThread绑定到AMS中。 ActivityThread.main() ActivityThread.attach() IActivityManager.attachApplication(mAppThread) Binder.transact() 应用程序通过IActivityManager接口发起系统调用,调用attachApplication并传递IApplicationThread,执行流程从应用进程到了系统进程。 ActivityManagerService.onTransact() ActivityManagerService.attachApplication(IApplicationThread thread)AMS作为IActivityService的接口的服务端实现,会响应客户端的请求,最终attachApplication(IApplicationThread...
2022-09-22
LiveData原理
LiveData的使用123456789val livedata = LiveData<Int>()//发送数据livedata.setValue()//立即生效,只能在主线程调用livedata.postValue()//通过Handler转到主线程,有丢失数据的风险,可以用来在子线程调用//观察数据void observe(@NonNull LifecycleOwner owner, @NonNull Observer<? super T> observer)livedata.observe(this) {}//第一个参数是一个`LifecycleOwner`对象,这个让LiveData具有与生命周期绑定的能力。//第二个参数是一个`Observer`,是一个回调 LiveData的使用是十分的简单的,其原理也并不复杂。 observe方法123456789101112131415161718192021@MainThread //@MainThread...
2022-08-20
Paging3研究
从DataSource开始1234567891011121314151617181920212223242526class ActivityListDataSource(val groupId: String, val activityType: String) : PagingSource<Int, GroupActivity>() { override suspend fun load(params: LoadParams<Int>): LoadResult<Int, GroupActivity> { Log.wtf("test", Exception()) return try { val curPage = params.key ?: 0 val pageData = SuspendGroupApi.fetchGroupActivities(groupId,...
2022-08-24
SharedPreferences
SharedPreferences是以键值对的方式保存数据的,数据存放在xml文件中。 获取SharedPreferences Context类的getSharedPreferences()方法。参数一:指定文件名称;参数二:指定操作模式,Android4.2之后只有MODE_PRIVATE一种模式。 Activity类的getPreferences()方法。文件名称默认是当前Activity的类名,接受一操作模式参数。 PreferenceManager类中的getDefaultSharedPerferences()方法。这是一个静态方法,接受一个Context参数,并自动使用当前应用程序的包名作为前缀命名文件名。 SharedPreferences的使用SharedPreferences对象本身不支持存储和修改,只能获取数据,存储修改是通过SharedPreferences.edit()获取内部接口Editor对象实现。 12345678910111213141516171819202122232425 1)写入数据: ...
2022-09-22
ViewModel的研究
ViewModel的使用场景 Activity or...
2020-04-28
开始了Android了的学习
我的《第一行代码》第三版到货了!非常的开心😀。同时也意味着我Android的学习就要开始了✊。 开始接触到了kotlin语言了,来说说它与Java的不同吧。🤞konlin的每一行代码是不用加’;’的,这让我有点不习惯。konlin的数据类型相较于java,它抛弃了我从c到java一直在用的基本数据类型,改用了包装类。另我惊喜的是konlin加入了类型推导机制,我可以不表明一个变量的类型是Int或String,它会自己去分辨。另一个新奇的是它对代码的简化,如下代码:fun largerNumber(num1: Int, num2: Int): Int = max(num1, num2)省略掉了原本的{}和return,不过这种写法的适用范围只有当函数里只有一条语句的时候。🤞 暂时学到了这里。持续更新中。。。
avatar
BravestSnail
文章
86
标签
12
分类
25
Follow Me
公告
This is my Blog
最新文章
IO模型2025-10-27
Java并发2025-10-27
在U Boot环境下查看U盘文件2025-10-27
wsl代理2025-10-27
Android 系统导航栏模式切换与查询2025-10-27
©2019 - 2025 By BravestSnail
框架 Hexo 7.3.0|主题 Butterfly 5.3.5