23.12.26 리소스 관리

KSang·2023년 12월 26일
0

TIL

목록 보기
19/101

코틀린에선 else if문 왠만하면 when으로 쓴다

else if문은 보기 지저분하기떔에

리소스 관리

enum class

enum class를 이용해서 메시지들을 타입별로 관리하기 용이하게 할수있다.

enum class SignUpErrorMessage(
    @StringRes val message: Int,
){
    NAME(R.String.sign_up_name_error),
    ...
}

SignUpErrorMessage.NAME.message 를 사용하면 sign_up_name_error를 불러올 수 있다

valid 체크

valid체크는 데이터 클래스를 이용해서 관리 할 수 있다.

object SignUpValidExtension {

    /*
    * 이메일 정규 표현식
    */
    fun String.validEmailServiceProvider() = Regex("^[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,6}$").containsMatchIn(this)
    /*
    * 특문 포함
    */
    fun String.includeSpecialCharacters() =
        Regex("[!@#\$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?]+").containsMatchIn(this)

    /*
    * 대문자 포함
    */
    fun String.includeUpperCase() = Regex("[A-Z]").containsMatchIn(this)
}

사용할 액티비티에 import를 한뒤 사용가능하다

0개의 댓글