전체 글

Android/Kotlin

[Android][Kotlin] 안드로이드 view Binding 사용하기 findViewById 대체

지금까지의 글은 모두 findViewById 를 사용해 Button 이나 TextView 들의 객체를 가져왔지만 매번 findViewById를 사용하면 코드가 길어질 뿐더러 필요한 이벤트가 있을 때마다 객체들을 모두 전역변수로 만들어 findViewById를 사용해야한다 view Binding을 사용하면 이러한 점들을 고치고 전역변수를 1개를 두어 findViewById를 사용하지 않고 객체를 사용하는 것이 가능하다 코드 1 : MainActivity.kt class MainActivity : AppCompatActivity() { /** * @Android 공식 사이트 : https://developer.android.com/topic/libraries/view-binding?hl=ko * * 사용하는..

Android/Kotlin

[Android][Kotlin] strings.xml 파일 동적으로 데이터 처리 및 가져오기

android strings 파일에 하드코딩 되어 있는 text중 일부분을 데이터를 동적으로 처리 하고 싶을 때 사용하면 된다 코드는 크게 복잡한게 없어 별다른 주석 처리는 해놓지 않았다 코드 1 : MainActivity.kt class MainActivity : AppCompatActivity() { private lateinit var tvMsg: TextView private lateinit var bPlus: Button private var count = 0 override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) tvMsg ..

Android/Kotlin

[Android][Kotlin] 캘린더(Calendar)로 오늘 날짜(today), 마지막 일(last day) 가져오기

코틀린 Calendar 객체를 이용하여 오늘 날짜(today) 가져오는 방법과 이번 달 마지막 일(last day)를 가져오는 작업을 실시 코드 1 : MainActivity.kt class MainActivity : AppCompatActivity() { private lateinit var bToday: Button private lateinit var bLastDay: Button private lateinit var tvMsg: TextView override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) bToday = findVie..

Android/Kotlin

[Android][Kotlin] 단말기(device) 가로 세로 실제 해상도 가져오기

테스트의 경우 실제 단말기로 테스트 했으며, 1. M12 - 안드로이드 버전12(API 31) 2. S8+ - 안드로이드 버전9(API 28) 위 2가지의 기종으로 테스트를 진행함 30미만의 해상도 높이의 경우 Navigation Bar 높이도 가져와야 한다 S8+ 은 사용자가 직접 해상도를 선택할 수 있는 설정이 있다 해당 설정에 맞게 단말기 해상도를 가져온다 코드 1 : MainActivity.kt class MainActivity : AppCompatActivity() { private lateinit var bOutput: Button private lateinit var tvMsg: TextView override fun onCreate(savedInstanceState: Bundle?) { s..

Android/Kotlin

[Android][Kotlin] Thread 에러 처리 및 UI 변경 활용 예제

이때까지 작성한 글에 맞춰 1. new thread에서 작업 class 호출 2. 1초당 count 1증가 3. count 가 10이 될 시 강제 에러 발생 4. 특정 에러 상황 분기 처리 5. count 증가나 에러 발생 시 text를 ui에 반영 위 기준으로 예제를 만들어보기로 한다 작성한 쓰레드 생성 글은 상속받고 사용하지만 이번에는 상속받지 않고, class로 처리해서 쓰레드에서 class를 호출하도록 구현했다 ui 변동의 경우 고차 함수를 활용했으며, runOnUiThread를 통해 변경이 이루어지게 구현했다 코드 1 : MainActivity.kt class MainActivity : AppCompatActivity() { private lateinit var bStart: Button pri..

자판을 두드리다
탄탄 단단
728x90