sqldelight:ColumnAdapter

什么是adapter

适配器,适应物

举个例子
手机没电了,要充电。这时候你需要插座来充电吧。

手机电池与电流两个不相干的东西,怎么结合在一起?适配器:插座。

你的数据库中,某张表的一个字段:性别。
该字段实际上就是个 text 文本。
性别有男女之分,对应到你的java代码中可能是个枚举:

enum{
man,
woman
}

你的枚举类,和字段string之间肯定需要转换。这时候就需要适配器啦。

ColumnAdapter

public interface ColumnAdapter {
  @NonNull T decode(S databaseValue);
  S encode(@NonNull T value);
}

对象--》string要 encode
string---》随性要 decode

代码实现

  1. 枚举转换器


    sqldelight:ColumnAdapter_第1张图片
  2. 日期转换器


    sqldelight:ColumnAdapter_第2张图片

你可能感兴趣的:(sqldelight:ColumnAdapter)