안드로이드 개발 팁 #64 - android.database.Cursor 클래스의 확장 함수

android.database.Cursor 클래스의 확장 함수

No. 64
2024. 06. 01 (토) | Written by @dorian-mobileapp

시작하며...

SQLite 데이터베이스로부터 쿼리를 실행하여 데이터를 받아올 수 있죠. 이는 Cursor 객체를 통해 접근할 수 있는데요. 불편한 점들이 있어 이를 해결하기 위한 확장 메소드들을 정의해 보았습니다.


android.database.Cursor 클래스의 확장 함수

정수, 문자열을 읽기 위한 readInt(columnName, defValue), readString(columnName, defValue)를 정의하였습니다. columnName은 테이블의 컬럼 이름이고요. defValue은 데이터를 읽지 못한 경우 대신 읽을 기본 값입니다.

fun Cursor.readInt(columnName: String, defValue: Int): Int {
    val columnIndex = getColumnIndex(columnName)
    return try {
        when {
            (columnIndex < 0) -> defValue
            else -> getInt(columnIndex)
        }
    }
    catch (e: Exception) {
        e.printStackTrace()
        defValue
    }
}

fun Cursor.readString(columnName: String, defValue: String): String {
    val columnIndex = getColumnIndex(columnName)
    return try {
        when {
            (columnIndex < 0) -> defValue
            else -> getString(columnIndex)
        }
    }
    catch (e: Exception) {
        e.printStackTrace()
        defValue
    }
}

지난 안드로이드 개발 팁


Layout provided by Steemit Enhancer hommage by ayogom


Posted through the ECblog app (https://blog.etain.club)
Sort:  

Thank you, friend!
I'm @steem.history, who is steem witness.
Thank you for witnessvoting for me.
image.png
please click it!
image.png
(Go to https://steemit.com/~witnesses and type fbslo at the bottom of the page)

The weight is reduced because of the lack of Voting Power. If you vote for me as a witness, you can get my little vote.

안녕하세요.
SteemitKorea팀에서 제공하는 'steemit-enhancer'를 사용해 주셔서 감사합니다. 개선 사항이 있으면 언제나 저에게 연락을 주시면 되고, 관심이 있으신 분들은 https://cafe.naver.com/steemitkorea/425 에서 받아보실 수 있습니다. 사용시 @응원해 가 포함이 되며, 악용시에는 모든 서비스에서 제외될 수 있음을 알려드립니다.

[광고] STEEM 개발자 커뮤니티에 참여 하시면, 다양한 혜택을 받을 수 있습니다.


안녕하세요.
이 글은 SteemitKorea팀(@ayogom)님께서 저자이신 @dorian-mobileapp님을 응원하는 글입니다.
소정의 보팅을 해드렸습니다 ^^ 항상 좋은글 부탁드립니다
SteemitKorea팀에서는 보다 즐거운 steemit 생활을 위해 노력하고 있습니다.
이 글은 다음날 다시 한번 포스팅을 통해 소개 될 예정입니다. 감사합니다!

You've got a free upvote from witness fuli.
Peace & Love!

Coin Marketplace

STEEM 0.20
TRX 0.13
JST 0.029
BTC 67584.80
ETH 3438.61
USDT 1.00
SBD 2.70