找不到"有趣的 Cursor.getString(columnName: String): String" 实现



这些功能在哪里实现?

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)

杰克·沃顿(Jake Wharton)已删除了Cursor的基于名称的扩展。

用他的话:

他们鼓励一种效率低下的模式。你应该查找 迭代前一次列名或使用更高级别的抽象 像房间或SQL Delight一样为您做到。

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

相关内容

  • 没有找到相关文章

最新更新