kotlin 24

[프로그래머스] 자릿수 더하기 LV1 / kotlin

자릿수 더하기 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/12931 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1차 시도 class Solution { fun solution(n: Int): Int { var answer = 0 if (n < 10) { answer = n } else { ..

Dev/Algorithm 2022.12.04

Stream Chat 구현 - Android / 안드로이드

기본적으로는 공식 페이지를 참고해서 구현하면 되며, 추가적으로는 Stream 에서 일하고 계신 한국인 현직자 skydoves 님 블로그를 추가적으로 참고하면 도움이 크게 됩니다. 저는 제 기준으로 진행하면서 알았으면 좋았겠구나 싶은 부분을 기준으로 설명합니다. ⚠ Stream 에 계정이 있다는 전제하에 설명합니다. 모바일 채팅 구현에 앞서서 Stream 대시보드에 가서 채팅 앱(서버 역할)을 구성해야합니다. 1. Stream 대시보드에서 채팅에 사용할 서버 앱 구성 앱 생성 시 설정 환경이 PRODUCTION / DEVELOPMENT 2가지 형태가 있습니다. 앱 환경에 따라서 모바일에서 채팅을 구현할때 Token 필요 여부가 정해집니다. Development 환경으로 셋팅을 하면 Token 을 실제 생성..

Dev/Android 2022.09.29

Kotlin Gson 활용해서 Json 파싱하는 방법

Json 값을 Gson 을 활용하여서 Data 클래스로 변환하는 방법 Converting from Data Class to JSON String var gson = Gson() var jsonString = gson.toJson(TestModel(1,"Test")) Assert.assertEquals(jsonString, """{"id":1,"description":"Test"}""") Converting from JSON String to a Data Class var jsonString = """{"id":1,"description":"Test"}"""; var testModel = gson.fromJson(jsonString, TestModel::class.java) Assert.assertEqua..

Dev/Android 2022.07.28

Room DB 마이그레이션

안드로이드 공식 페이지 - Room 데이터베이스 이전 기존 Room DB 구성 더보기 @Database( entities = [Alarm::class, MedicationHistory::class], version = 1 ) abstract class AppDatabase : RoomDatabase() { abstract fun alarmDao(): AlarmDao abstract fun medicationHistoryDoa(): MedicationHistoryDao companion object { @Volatile private var instance: AppDatabase? = null fun getDatabase(context: Context): AppDatabase = instance ?: sy..

Dev/Android 2022.07.14

[kotlin] Loop 문 사용 Tip

코틀린 반복문 Kotlin 언어의 Loop 문 사용하는 방법입니다. class Test { private val fruits = listOf("Apple", "Banana", "Cherry") @Test fun `Loop - 전통(?)적인 방식 사용`() { for (index in 0 .. fruits.size -1) { val fruit = fruits[index] println("$index: $fruit") } } @Test fun `Loop - until 사용`() { for (index in 0 until fruits.size) { val fruit = fruits[index] println("$index: $fruit") } } @Test fun `Loop - lastIndex 사용`() {..

Dev/Kotlin 2022.03.25

Flutter - 함수 파라미터에 기본 인자 설정하기

Flutter 함수에 기본 인자값이 들어가는 파라미터 설정하는 방법 Kotlin 1. 기본 인자 설저하는 방법 fun bottomSimpleButton(title: String, name: String = "후니") 2. 해당 함수를 다음과 같이 호출하면 된다. // Title 만 입력하고 Name 은 기본값 사용. bottomSimpleButton("Title") // Title 과 Name 모두 입력. bottomSimpleButton("Title", "Name") bottomSimpleButton(title = "Title", name = "Name") bottomSimpleButton(name = "Name", title = "Title") Flutter 1. 함수에 아래와 같이 기본 인자 부분을..

Dev/Flutter 2021.11.23

AndroidX 로 바뀌면서 Activity, Fragment 에 유용한 작업 기능

참고 한 Medium 글 How AndroidX changes the way we work with Activities and Fragments Over the last couple of months, many improvements to the Activity/Fragment APIs have been introduced via the AndroidX packages. medium.com 1. Fragment 에서 OnBackPressed 관리 class MyFragment : Fragment() { override fun onAttach(context: Context) { super.onAttach(context) val callback = object : OnBackPressedCallback(tr..

Dev/Android 2021.06.29