Anriku Blog

In me the tiger sniffs the rose

Android属性动画探索

Android属性动画

众所周知,良好的动画不仅是APP的UI效果看着特别舒服,还会让用户得到及时的操作返回。这篇博客就带领大家来玩玩Android的属性动画。 属性动画如何在工作 这里就借官网的UML图来进行解释。注意这里以ValueAnimator来进行说明其它的属性动画类都是继承自ValueAnimator的,因此原理是一样的。: 重要的类说明 Animator 此类用于为创建属性动画主要类。其...

Android之ViewModel的使用

ViewModel的使用

Android中的ViewModel是一个可以用来存储UI相关的数据的类。ViewModel的生命周期会比创建它的Activity、Fragment的生命周期长。 这里拿官方的一张图: 这张图是在在没任何设置屏幕发生转换Activity的生命周期变化和ViewModel的生命周期。可以看重建的时候,ViewModel中的数据是不会被清理的。 借助于上面这一特点,ViewModel有...

Android数据库神器之Room

Room的使用

我们都知道原生的Android数据库API使用起来很恶心。特别是查询的参数是相信大家都觉得头疼的事情。那么今天的IO大会Google给Android开发带来了一件数据库神器,让我们的数据更加简单、更加清晰、使用更加容易。那么个容易法呢?通过这篇博客的例子就让它体验一下。 Room概述 首先要使用基本的Room引入如下依赖: implementation 'androidx.room:r...

Android具有生命周期感知的类

LiveData的使用

前面一篇博客中讲到了Lifecycle。而这篇博客中要将的LiveData其底层也是用Lifecyle来进行实现的。而且个人它是一个用来代替DataBinding中我们没有讲到的Observerxxx系列类的,但是官方有说在某些情况还是不能代替,我暂时没有发现Observable能做的事情LiveData不能做,感兴趣的可以去官方文档去看。因为相比于Observerxxx类有一系列的优点。其...

Android生命周期的管理之LifeCycles

LifeCyle学习

前面两篇博客,我们介绍了DataBinding的使用。这篇博客我们开始新的学习。本篇我们讲解LifeCycles相关的内容。 传统生命周期管理的缺陷 像Activity、Fragment中我们都很清楚它们是具有生命周期的。而生命周期对我们来说也是很重要的。但处理不好就很有可能导致内存泄漏。 传统的生命周期管理是在不同的生命周期的回调中进行相应操作的调用。比如说在进行播放器相关类的调用的...

DataBinding学习(二)

Binding Adapter

前一篇博客我们介绍了DataBinding的使用。这一篇我们来看点更高级的东西—Binding Adapter。话不多说,开始吧!!! 配置 由于BindingAdapter是通过注解处理器来实现的。因此我们在之前的BindingAdapter的启用基础上还有在依赖中添加如下内容: ... apply plugin: 'kotlin-kapt' android { ... ...

DataBinding学习(一)

DataBinding的布局与表达式

从这篇博客起。后面我会用几篇博客来讲解Android的架构组件。包括DataBinding、LiveData、Lifecycles、Navigation、Paging、Room、ViewModel以及WorkManager。讲解的代码将会用Kotlin进行编写。那么这就开始吧! 启用DataBinding 一般情况下、我们直接通过下图来进行DataBinding的启用。当前还可以在gra...

感受ConstraintLayout的魅力

ConstraintLayout的使用

ConstraintLayout也出了一段时间了。最近好好的去了解了下这个布局。感觉这个布局非常的强大。因此想在这里和大家进行一下分享。话不多说,开动! ConstraintLayout的基本位置控制 在这之前我们先来说明一下一些基本的概念: 简单的来说,ConstraintLayout基本上都是通过parent以及空间的四个边界以及内容的Baseline来进行位置、大小的控制的。...

Android中的Gradle分析

Gradle

Gradle是我们在Android开发中用来构建应用的工具。相信做Android开发的朋友们都不陌生。虽然大家从开始写Android的时候就和它一直相处的,其中的大部分人应该对Gradle如何构建Android的应用不太清楚吧!今天我想简单的通过一个Android应用来对Android中的Gradle相关的内容做一下说明。 创建一个Android应用 这个步骤大家都懂,所以略… 各个文...

C++数据保护之const

const的使用总结

前言 今天的博客我们来对const的使用以及注意细节做一下总结。 const一般在下面的地方使用 在对象前面使用声明为常对象(基本类型和常对象差不多) 在函数后面使用声明为常函数 在引用前使用声明为常引用 #常对象 常对象的数据成员值在对象的整个生命周期中是不能被改变的。因此,常对象必须进行初始化,而且不能被更新 const 类型说明符 对象名;//con...