반응형

코틀린 35

[Kotlin] How to use Kakao Navigation in my app

Use KaKao Navi 1. build.gradle (android) 설정 2. build.gralde (:app) 설정 3. Custom Application 생성 4. AndroidManifest.xml 설정 5. 메서드 생성 6. 메서드 활용 Use KaKao Navi 내 앱에서 카카오 내비게이션의 길 찾기 기능을 이용하려면 어떻게 해야 할까요? 우선 카카오로부터 API 승인을 받은 후 아래와 같이 어플에 권한 및 API를 적용해 주면 됩니다. 1. build.gradle (android) 설정 allprojects { repositories { google() mavenCentral() maven { url 'https://devrepo.kakao.com/nexus/content/groups/..

[Kotlin] How to Handle Events in EditText

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

[Kotlin] How to Applying Bold and Italic to TextView

레이아웃에서 적용 Kotlin 소스에서 적용 레이아웃에서 적용 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.setTypefa..

[Kotlin] How to Use the Confirm window

// 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..

[Kotlin] How To enter a null value for "ContentValues" (putNull)

SQLite에서 데이터 입력 시에 ContentValues가 필요합니다. val dbHelper:DBHelper = DBHelper(context, "DB명", null, 1) val database:SQLiteDatabase = dbHelper.writableDatabase val contentValues = ContentValues() contentValues.put("title", "ContentValues putNull") contentValues.put("contents", "글 메모입니다.") database.insert("테이블명", null, contentValues) 위는 기본적으로 테이블에 insert하는 로직입니다. 이를 수행하면, title / memo가 "테이블명"이라는 테이블에 ..

[Kotlin] How to Use "IN" Clause in SQLite

1. 기본 방법 2. 문자열 기준 방법 1. 기본 방법 SQLite에서는 이를 활용해서 IN절의 조건을 넣을 수 있습니다. 만약 아래와 같은 상품 코드 기준의 상품을 삭제하는 Query를 실행해야 한다면 DELETE FROM PRODUCT WHERE PRDT_CODE IN (1, 2, 3, 4, 5) // 삭제할 상품 코드 목록 val params = arrayListOf(1, 2, 3, 4, 5) // SQLite Helper val dbHelper:DBHelper = DBHelper(context, "데이터베이스명", null, 1) // 쓰기 데이터베이스 val database = dbHelper.writableDatabase // 삭제 실행 val tableName = "PRODUCT" datab..

[Kotlin] How To Enter Text in TextView and EditText

0. 미리보기 1. TextView 2. EditText 0. 미리보기 // TextView findViewById(R.id.tvTitle).text = "안녕하세요" // EditText findViewById(R.id.etTitle).setText("안녕하세요") 1. TextView TextView에서는 조회한 뷰 클래스에 text 값을 입력해 주면 됩니다. findViewById(R.id.tvTitle).text = "안녕하세요" 2. EditText EditText의 경우 TextView처럼 텍스트를 입력하면 아래와 같은 오류가 발생합니다. EditText에서 text는 Editable이 입력되어야 하기 때문인데, 이 경우 당황하지 말고 그냥 setText를 써주면 해결됩니다. findViewB..

[Kotlin] How To Place Overlapping using Frame Layout

최근에 View의 배치를 하는데, 아래와 같은 부분이 있었습니다. 왼쪽에 보이는 "테"라는 TextView와 "30일"일이라는 TextView가 겹쳐져야 하는데 이를 위해서 어떻게 할 수 있을까요? 답은 FrameLayout에 있습니다. 1. 관련 소스 ※ 처음 아이콘 처럼 되기 위해서는 style이나 background 등을 조정하여 맞춰주어야겠지만, 겹쳐 보이기 위한 최소한의 위치 조정을 위와 같이 적용하면 되기 때문에 적용하지 않았습니다. 2. 속성 설명 속성 내용 layout_width 해당 View의 너비 (match_parent인 경우 부모 View인 FrameLayout 너비 만큼 지정) layout_height 해당 View의 높이 (match_parent인 경우 부모 View인 Frame..

[Kotlin] How to Replace "registerForActivityResult"

1. Callback 변수 생성 2. Activity 이동 실행 3. 결과 반환 4. Callback 처리 오랜만에 안드로이드 개발을 하려고 보니, startActivityForResult가 Deprecated가 되었습니다. 그러면 어떻게 동일한 결과를 받아 와야 할까 하고 찾아보니 registerForActivityResult를 선언하여 사용하는 방법입니다. 1. Callback 변수 생성 // Callback 변수 private val callback = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result -> when (result.resultCode) { RESULT_OK -> { // TODO }..

반응형