반응형

Kotlin 50

[Kotlin] A Variety of Brief Knowledge #1

1. Activity.this 지정 방법 2. Null을 안전하게 사용하는 방법 3. 상속 extends implements 4. Calendar 시간 지정 1. Activity.this 지정 방법 만약 MainActivity라는 파일이 있으면 Java에서는 Intent 등에서 사용할 때 아래와 같이 지정하여 사용했습니다. MainActivity.this Kotlin에서는 아래와 같이 사용합니다. this@MainActivity 2. Null을 안전하게 사용하는 방법 java에서는 아래와 같이 그냥 변수에 Null을 넣어 사용했지만 String value = null; 코틀린에서는 Null을 사용하기 위해서는 물음표를 붙여주어야 합니다. // error!! var valueA:String = null /..

[Kotlin] How to Extract Initial Consonants

How to Extract Initial Consonants 1. 첫 번째 글자 가져오기 2. 초성을 가져오는 방법 테스트 전체 소스 How to Extract Initial Consonants 일반적으로 영문이나 숫자 등에서는 초성을 추출하는 게 그리 어렵지 않습니다. 만약 아래와 같이 영문이 있다면 How to extract initial consonants 첫 번째 글자만 가져오면 초성을 가져오는게 끝,,, 이니 매우 간단합니다. 하지만 한글에서는 조금 다릅니다. 초성을 추출하는 방법 위에서 첫 글자는 "초"이고 이 중에서 "ㅊ"만을 추출하고 싶으면 어떻게 해야 할까요? 1. 첫 번째 글자 가져오기 첫 번째 글자를 가져오기 위해서는 substirng와 toCharArray를 쓸 수 있습니다. // ..

[Kotlin] How to Resolve the Deprecate of onBackPressed

How to Resolve the Deprecate of onBackPressed OnBackPressedCallback 테스트 전체 소스 AndroidManifest.xml activity_from.xml FromActivity.kt How to Resolve the Deprecate of onBackPressed API 33부터는 onBackPressed가 deprecated가 되어 더 이상 호출되지 않습니다. 때문에 이를 해결할 방법이 필요합니다. OnBackPressedCallback 이를 해결하기 위해서는 이제 override 함수가 아닌 callback 선언을 통하여 사용해주어야 합니다. // back key 처리를 위한 handler 선언 private val hndlBackPress = o..

[Android] How to use launchMode

How to use launchMode Launch Mode의 종류 사용방법 How to use launchMode Activity를 사용할 때, 가끔 드는 생각이 있습니다. 이 Activity는 한 번만 불러지는 걸까? 아니면 불러질 때마다 복사가 되는 걸까? Activity를 옮겨 다니다가(startActivity) 뒤로 가기 키(BackPressKey)를 누르면 이전 Activity는 어디를 가리킬까? Launch Mode의 종류 Type Mode Description 일반적인 시작 standard Default. 다중 인스턴스 : Y 인텐트 호출 (ex. startActivity를 사용) 할 때마다 새로운 인스턴스를 생성 후 이동합니다. 일반적인 시작 singleTop 다중 인스턴스 : 조건부 인..

[Kotlin] How to check the resume and pause of all activities

How to check the resume and pause of all activities 1. 종속성 추가 2. Application 생성 3. Application 적용 How to check the resume and pause of all activities 일반적으로 onCreate와 onStop, onPause, onResume를 이용하여 activity의 생명주기를 체크합니다. 하지만 이는 해당 activity만을 체크하기 때문에 전체 application을 사용자가 사용 중인지, 사용을 멈췄는지에 대해 알 기 어렵습니다. 어렵다고 하는 이유는, 아예 없는 건 아니기 때문인데, 가령 모든 activity의 상태를 공통으로 관리하는 array를 만들어 각각의 activity이 생명주기가 변할..

[Kotlin] 카카오 내비게이션을 내 앱에서 호출하는 방법

Use KaKao Navi 내 앱에서 카카오 내비게이션의 길 찾기 기능을 이용하려면 어떻게 해야할까요? 우선 카카오로 부터 API 승인을 받은 후 아래와 같이 어플에 권한 및 API를 적용해 주면 됩니다. 1. build.gradle (android) 설정 allprojects { repositories { google() mavenCentral() maven { url 'https://devrepo.kakao.com/nexus/content/groups/public/' } } } 프로젝트 수준의 build.gradle에 api호출을 위한 maven repository를 추가해줍니다. maven { url 'https://devrepo.kakao.com/nexus/content/groups/public/..

[Kotlin] EditText에서 이벤트를 처리하는 방법

How to handle events in EditText Kotlin을 이용해 입력창을 만드는 경우 EditText를 사용하게 됩니다. 이 때 단순히 안드로이드 가상 기보드의 Enter가 입력되는 경우 어떠한 처리를 하려고 하면 어떻게 해야할까요? 사용 예 우리는 주로 이런 경우 Enter키를 이용하여 다음 작업들을 하곤 합니다. ex #1. 카카오톡과 같은 채팅 앱에서 특정 버튼 외에 바로 입력을 원하는 경우 ex #2. 로그인 아이디/비밀번호 입력하고 버튼 외에 바로 로그인 하는 경우 ex #3. 검색 조건에 입력하고 버튼 외에 엔터로 바로 검색하는 경우 선언 방법 findViewById(R.id.etText).setOnEditorActionListener { textView, action, key..

[Kotlin] TextView에 Bold와 Italic체를 적용하는 방법

레이아웃에서 적용 TextView에 두껍게(Bold) 또는 기울게(Italic)을 적용하려면 아래와 같이 작업하면 됩니다. Kotlin 소스에서 적용 Kotlin에서 동적으로 적용하려면 어떻게 해야 할까요? 해당 TextView의 아이디가 txtTitle이라고 가정하면, 아래와 같이 선언하여 사용 가능합니다. val txtTitle = findViewById(R.id.txtTitle) txtTitle.setTypeface(txtTitle.typeface, Typeface.NORMAL) // Normal인 경우 txtTitle.setTypeface(txtTitle.typeface, Typeface.BOLD) // Bold인 경우 txtTitle.setTypeface(txtTitle.typeface, Typ..

[Kotiln] SQLite "IN"절 사용하는 방법

이전에 joinToString에 대해 글을 쓴 적이 있습니다 2023.07.23 - [개발 창고/안드로이드 개발] - [Kotlin] String 배열을 한 개의 String으로 만드는 방법 [Kotlin] String 배열을 한 개의 String으로 만드는 방법 1. 기본 문법 문자열 또는 숫자형 배열을 사용하다 보면 join을 해야 하는 경우가 많습니다. fun Sequence.joinToString( separator: CharSequence = ", ", prefix: CharSequence = "", postfix: CharSequence = "", limit: Int = -1, trunc royzero.tistory.com 1. 기본 방법 SQLite에서는 이를 활용해서 IN절의 조건을 넣을 ..

[Kotlin] Confirm 창을 사용하는 방법

// import androidx.appcompat.app.AlertDialog val builder = AlertDialog.Builder(this) builder.setTitle("확인 타이틀") // Confirm 제목 builder.setMessage("확인 메시지") // Confirm 내용 builder.setPositiveButton("확인") { dialog, which -> // 긍정 (확인 / 저장 등등) 팝업의 하단 맨 우측에 표기 됨 } builder.setNegativeButton("취소") { dialog, which -> // 부정 (취소 / 닫기 등등) 기본적으로 Positive Button 좌측에 표시 됨 } builder.show() // 선언된 Confirm을 띄워줌 C..

반응형