일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- Kotlin
- Java8
- 워치
- JNI
- socket.io
- AWS
- git-push
- Dva
- firebase-storage
- firebase-database
- hung-up
- cloud-firestore
- TIZEN
- Android
- Galaxy Watch
- Flavors
- google-login
- NoSuchMethodError
- socket-server
- ActivityResult-API
- mosquitto
- mqtt
- OZViewer
- ozd
- 오즈뷰어
- gradle
- socket-client
- git
- BottomSheetDialog
- Firebase
- Today
- Total
목록개발/Android (60)
Hyeyeon blog
# 함수형 프로그래밍 : 함수의 응용을 강조하는 프로그래밍 패러다임 # 함수형 인터페이스 : 추상 메서드 1개를 가진 인터페이스 # 람다식 (Lambda Expression) 람다 함수(Lambda function), 익명 함수(Anonymous function)를 지칭하는 용어 프로그래밍에서 식별 값 없이 실행할 수 있는 함수 표현 방법함수형 인터페이스를 사용하여 람다식을 사용객체 생성 없이 함수를 호출 하듯 바로 사용 # 함수 타입 (Function Type) : 함수를 저장할 수 있는 변수 타입 # 함수 리터럴 (Function Literal) 함수를 나타내는 리터럴보통 '고차 함수'를 위해 사용된다. (Int) -> Unit은 매개변수가 Int 타입이고 반환 타입이 Unit인 함수를 저장할 수 있..
1. viewModel 에 onTextChanged() 구현- s: 입력된 문자열- start: 변경된 문자열의 시작 index- before: 이전 텍스트에서 변경된 문자열의 길이- count: start 위치부터 변경된 문자열의 길이 fun onTextChanged(s: CharSequence, start :Int, before : Int, count: Int){ // handle } 2. xml에서 EditText의 onTextChanged 지정
1. 정의 A pragmatic lightweight dependency injection framework for Kotlin developers (Dependency Injection 보다 Service Location에 가까움) 2. 대상 코드 생성의 부하 때문에 작거나 중간 사이즈의 앱에 적합 3. Dagger vs Koin Dagger는 컴파일 과정에서 DI를 주입하기 때문에 컴파일 오버헤드가 있는 반면, Koin은 런타임 시 DI를 주입하기 때문에 상대적으로 런타임 오버헤드가 있음 4. 기본 사용법 (1) gradle.xml 1. build.gradle(Project) buildscript { ext.koin_version = '2.2.2' } 2. build.gradle(Module) dep..
1. Encode Base64 - Base64.NO_WRAP : Base64 값의 마지막에 붙는 '\n'를 삭제 val target = "TEXT" val base64 = Base64.encodeToString(target.toByteArray(StandardCharsets.UTF_8), Base64.NO_WRAP) 2. Encrypt SHA-512 - MessageDigest algorighm으로 MD5, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512 사용 가능 fun getEncrypt() : String{ val target = "TEXT" val messageDigest = MessageDigest.getInstance("SHA-512") val digest = md...
※ SMS, 전화 퍼미션 관련 구글 정책 1. AndroidManifest.xml 2. 사용하려는 Activity에 BroadcastReceiver 구현 및 등록 import android.content.BroadcastReceiver lateinit var receiver : BroadcastReceiver ... private fun initSmsReceiver() { receiver = object : BroadcastReceiver() { override fun onReceive(context: Context?, intent: Intent?) { if ((intent!!.action as String) == Flag.SMS_RECEIVED) { val bundle = intent.extras va..
::.isInitialized 사용 lateinit str : String if(::str.isInitialized) { ... }
1. Dependency Injection - 컴포넌트간의 의존 관계를 소스코드 내부가 아닌 외부 설정 파일등을 통해 정의되게하는 디자인 패턴중 하나- 객체를 직접 생성하지 않고 외부에서 주입한 객체를 사용하는 방식- 코드간의 커플링을 줄이며 유닛테스트를 용이하게 함 2. Service Locator [Wikipedia]- '서비스 로케이터' 라는 중앙 등록자를 두어, 요청이 들어왔을 때 특정 업무를 수행하기 위한 정보를 반환한다.- apk 크기, 빌드 속도, 메서드 수 등 복잡한 제약이 있는 경우 사용하기 편하다. 3. Dependency Injection vs Service Locator Dependency Injection Service Locator 일부 핵심 클래스에 종속성을 주입 모든 클래스가..