프로그래밍/Kotlin52 [Kotlin] Sealed Class 상황: 쇼핑몰 앱에서 상품의 배송 상태를 나타내는 기능을 구현한다고 가정해 보겠습니다.sealed class 정의sealed class DeliveryStatus { object Preparing : DeliveryStatus() data class Shipped(val trackingNumber:String) : DeliveryStatus() object Delivered : DeliveryStatus() data class Failed(val reason: String) : DeliveryStatus()} DeliveryStatus sealed class는 상품의 배송 상태를 나타내는 네 가지 가능한 상태를 정의합니다.Preparing: 배송 준비 중Shipped: 배송 시작됨 .. 2024. 8. 20. [Kotlin] Tesseract를 이용한 OCR 기능 추가 한글을 인식하는 OCR 라이브러리중에서는 네이버클로버 API가 가장 인식률이좋고, 영수증 전용템플릿이 있다고 한다. 물론 가격은 다른 OCR 라이브러리에 비해서는 비싼편인듯 기본 OCR이 월 무료 100건, 영수증 OCR은 무조건 유료 OCR 라이브러리별 비교 (네이버 클로버, 테서랙트, EasyOCR, 카카오 PORORO) https://velog.io/@sionshin/OCR-%EC%B0%BE%EC%95%84-%EC%82%BC%EB%A7%8C%EB%A6%AC 해당 포스팅에 사용된 스틱코드 stickode.com/detail.html?no=2177 스틱코드 stickode.com # 환경 세팅 1. 라이브러리 추가 tess-two 추가 ▶ 해당 기능을 사용하기 위해서는 tess-two라는 모듈이 필요합.. 2024. 2. 21. [Kotlin] Async vs Launch (Deffered vs Job) 선요약 : Deffered는 return값이 있어서 변수에 바로 값을 넣을수있다. Job은 return값이 없어서 변수에 값을 넣으려면 Job 안에서 변수에 값을 넣어야한다. Deffered = async의 반환값, 즉 async를 사용할때 Job = launch의 반환값, 즉 launch를 사용할때 Async와 Launch는 반환값 이외의 차이점은 없다. Coroutines VS Async async/await kotlinx.coroutines.CoroutineScope.async - async : 코드 블락을 정의 - await : 코드 블락의 종료를 대기 - async(/* Thread type 지정 */) : launch와 동일하며, 지정하지 않으면 상위 scope thread type을 따른다... 2023. 1. 12. [Kotlin] 숫자 랜덤으로 출력 코틀린에서 랜덤을 쓰기 위해서는 java.util을 import 해야한다. 안드로이드 스튜디오에서는 Alt + Enter로 import하면 java.util.* 전체가 임포트 된다. import java.util.Random val random = Random() val num = random.nextInt(5) /* val num 변수에 0~4 사이의 무작위 Int 저장 */ 0부터 카운트하기 때문에 입력한 정수 -1 값이 최대치라는 점에 주의해야 한다. function 만들어서 사용하기 두 수를 입력하면 그 사이의 Int를 출력하는 function을 만들어 사용할 수도 있다. import java.util.random val random = Random() fun rand(from: Int, to: .. 2022. 12. 29. 이전 1 2 3 4 ··· 13 다음