找不到`Fun Cursor.getString(columnName:String):String`实现

时间:2019-03-06 23:33:43

标签: android kotlin android-ktx

这些功能在哪里实现?

  

https://android.github.io/android-ktx/core-ktx/androidx.database/android.database.-cursor/index.html

我看到了androidx.core.database包,但找不到实现。 只有这些功能。

inline fun Cursor.getBlobOrNull(index: Int) = if (isNull(index)) null else getBlob(index)
inline fun Cursor.getDoubleOrNull(index: Int) = if (isNull(index)) null else getDouble(index)
inline fun Cursor.getFloatOrNull(index: Int) = if (isNull(index)) null else getFloat(index)
inline fun Cursor.getIntOrNull(index: Int) = if (isNull(index)) null else getInt(index)
inline fun Cursor.getLongOrNull(index: Int) = if (isNull(index)) null else getLong(index)
inline fun Cursor.getShortOrNull(index: Int) = if (isNull(index)) null else getShort(index)
inline fun Cursor.getStringOrNull(index: Int) = if (isNull(index)) null else getString(index)

1 个答案:

答案 0 :(得分:0)

Jake Wharton已删除了Cursor的基于名称的扩展名。

用他的话说:

  

他们鼓励低效率的模式。你应该查一下   列名称在迭代之前或使用更高级别的抽象   例如Room或SQL Delight会为您完成。

您可以在此处找到此软件包的完整git历史记录: https://android.googlesource.com/platform/frameworks/support/+log/android-room-release/core/ktx/src/main/java/androidx/core/database