Android
明年今日zhich
这个作者很懒,什么都没留下…
展开
-
Pair 了解一下
介绍Pair 的字面意思是“一对”、“一双”,瞄一眼它的源码,果不其然,里面只有两个字段 first 与 second .public class Pair<F, S> { public final F first; public final S second; public Pair(F first, S second) { this.f...原创 2019-01-30 14:35:36 · 727 阅读 · 0 评论 -
Android Jetpack 之 LiveData
概述LiveData 是一个持有数据的类,它持有的数据是可以被观察者订阅的,当数据被修改时就会通知观察者。观察者可以是 Activity、Fragment、Service 等。LiveData 能够感知观察者的生命周期,只有当观察者处于激活状态(STARTED、RESUMED)才会接收到数据更新的通知,在未激活时会自动解注册观察者,以减少内存泄漏。使用 LiveData 保存数据时,由于数...原创 2018-11-25 23:37:43 · 305 阅读 · 0 评论 -
Android Jetpack 之 Lifecycle
前言在日常的开发中,我们通常需要在 Activity / Fragment 的生命周期方法中进行一些繁重的操作,这样使代码看起来十分臃肿。Lifecycle 的引入主要是用来管理和响应 Activity / Fragment 的生命周期的变化,帮助我们编写出更易于组织且通常更加轻量级的代码,让代码变得更易于维护。Lifecycle 是一个类,它持有 Activity / Fragment 生命...原创 2018-11-12 08:36:46 · 402 阅读 · 0 评论 -
Android Jetpack 之 ViewModel
前言在 Android 中,ViewModel 的作用就是在 UI 控制器( 如 Activity、Fragment)的生命周期中保存和管理 UI 相关的数据。ViewModel 保存的数据在配置更改(如屏幕旋转)后会依然存在,不会丢失。在屏幕旋转的时候,Activity 会重建,为了不让数据丢失,我们通常的做法是在 onSaveInstanceState() 方法中通过 bundle 保存数...原创 2018-10-27 14:49:48 · 461 阅读 · 0 评论 -
Android 之 Activity
Activity正常生命周期流程Activity异常情况生命周期分析Activity生命周期附加说明configChanges属性的应用Activity启动模式四种加载模式LaunchMode附加说明Activity的FlagsIntentFilter的匹配规则action的匹配规则category的匹配规则data的匹配规则Activity正常生命周期流程...原创 2018-10-24 21:58:01 · 144 阅读 · 0 评论 -
Android 一个应用多个数据库
最近在做一个 IM 的项目,需要存储大量数据到本地数据库。考虑到同一台手机可能会被多个账号登录使用,为了提升数据库查询的效率,以分库的方式来存储不同账号的数据(使用用户账号来作为数据库名称)。以存储用户信息为例:先贴出使用代码:mUserDAO = new UserDAO(this, account); // 此处的 account 就是要操作的数据库名称mUserDAO.insert...原创 2018-10-24 15:32:02 · 3535 阅读 · 1 评论 -
Android 之 Fragment
产生原因Android 在 Android 3.0(API 级别 11)中引入了 Fragment(片段),主要是为了给大屏幕(如平板电脑)上更加动态和灵活的 UI 设计提供支持。由于平板电脑的屏幕比手机屏幕大得多,因此可用于组合和交换 UI 组件的空间更大。利用 Fragment 实现此类设计时,无需管理对视图层次结构的复杂更改。 通过将 Activity 布局分成 Fragment , 可以...原创 2018-10-24 14:17:31 · 404 阅读 · 0 评论