본문 바로가기
[kotlin] CoroutineContext 에 대한 이해 - Kotlin coroutine 의 핵심은 CoroutieContext interface 이다. 모든 launch, async 같은 coroutine builder 는 첫번째 param 으로 CoroutineContext 를 받는다. 이 coroutine builder 들은 CoroutineScope interface 의 extension function 으로 정의되어 있으며, abstract read-only property 로 coroutineContext 를 가지고 있다. - fun CoroutineScope.launch( context: CoroutineContext = EmptyCoroutineContext, start: CoroutineStart = CoroutineStart.DEFAULT,.. 2022. 2. 3.
[Android] SMS Retriever API - SMS 권한 없이 인증번호 읽어오기! [Android] SMS Retriever API - SMS 권한 없이 인증번호 읽어오기! https://developers.google.com/identity/sms-retriever/ -SMS Retriever API 를 사용하면 SMS Permission 이 없어도 인증번호를 읽어올 수 있다.덧붙여 SMS Retriever API 는 SMS Verification 에 대한 녀석으로 권한 없이 “PhoneNumber” 까지도 얻어올 수 있다.그러나 예상했겠지만, 아무것도 하지 않고 그냥 읽어올 수 있는 것은 아니다. 우선 SMS 정보 읽어오기의 Key Idea 는.. Server 에서 인증코드를 내려줄 때 특정 Hash 값을 함께 내려주고, ( app 의 package name 과 sign key 조.. 2019. 1. 18.
SIM Card 연락처 정보 SIM Card 연락처 정보 -연락처 저장 갯수에 한계가 있으며 이는 SIM Card 의 용량에 따라 다르다.32K SIM 은 약 250개의 연락처.64K SIM 은 약 500개의 연락처.128K SIM 은 약 600개 이상의 연락처 저장이 가능하다. -USIM 의 종류에 따라 다를 수 있으나 필자가 가지고 있는 USIM 기준(SKT, Note3)이름, 전화번호 2개, 이메일주소 이렇게 총 4개의 Field 를 저장할 수 있다. 128 sim, 32k sim, 64sim, address, Email, Name, number of field, SIM CARD, SIM Card 연락처 정보, simcard contact, USIM, 이름, 이메일 갯수, 전화번호 갯수 2019. 1. 16.
[SQLite3] Appendix. SQLite3 커맨드 라인 도구, 관리도구 [SQLite3] Appendix. SQLite3 커맨드 라인 도구, 관리도구 이 글은 "빠르게 활용하는 모바일 데이터베이스 SQLite3” 이란 글을 보며 필요한 내용만 정리한 글입니다.자세한 내용은 책을 구매해서 보세요 1. 셸 모드 -SQLite3 의 셸 모드를 이용하면 윈도우의 명령 프롬프트나 리눅스의 셸과 같이 SQLite3 엔진과 대화식으로 명령어를 전달하고 그에 대한 결과를 받을 수 있다.셸 모드는 개발 과정에서 SQL 구문을 작성하거나 디버깅 과정에서 DB 내용을 확인할 때 가장 많이 사용된다. DB 생성 -SQLite3 은 기본적으로 DB 파일 하나에 테이블, 레코드, 인덱스, 설정 정보 등 모든 데이터를 저장한다. 아래 명령을 통해 DB 파일을 생성하면서 Shell 에 진입할 수 있다... 2018. 5. 26.
[android] earphone(headset) plug or unplug intent action [android] earphone(headset) plug or unplug intent action https://developer.android.com/reference/android/media/AudioManager.html#ACTION_HEADSET_PLUG-Action 은 AudioMangaer.ACTION_HEADSET_PLUG. intent extra 로 아래 값들이 있다."state"0 : unplugged1 : plugged "name"headset type, human readable string "microphone"0 : microphone 기능이 없음1 : microphone 기능이 함께 있음 -manifest 를 통해서 receiver 등록되지 않는다.앱에서 명시적으로 등록해야 .. 2018. 1. 22.
[Objective-C] 메시지 송신 패턴 [Objective-C] 메시지 송신 패턴 출처 : OS X 구조를 이해하면서 배우는 Objective-C Chap 15. Notice : 정리자(돼지왕 왕돼지)가 remind 하고 싶은 내용이나 모르는 내용 기반으로 정리하는 것이기 때문에 구체적인 내용은 책을 사서 보시기를 권장드립니다. 15.1. 앱과 실행 반복 * 15.1.1. 실행 반복 -마우스 클릭 등의 이벤트를 OS에서 받아 그에 따른 처리를 하는 루틴 실행을 반복하는 부분이 있는데, 이것을 실행 반복(run loop) 또는 이벤트반복이라고 부른다. -GUI 를 갖춘 Cocoa 앱에서 실행 시작 이후에는 반드시 하나의 실행 반복이 시작된다.이것을 메인 실행 반복이라고 부른다.동시에 앱 동작과 리소스 관리를 하는 객체가 생성되는데, 이것이 Ma.. 2018. 1. 7.
[Kotlin Tutorial] DSL construction - Chap 11. [Kotlin Tutorial] DSL construction - Chap 11. 참조 : Kotlin in action 11.1. From APIs to DSLs -DSL 을 작성하기 전에 생각해봐야 할 것이 있다. 우리의 (Kotlin?) 궁극적 목표는 가독성과 유지보수성을 최대로 늘리는 것.그것은 곧 좋은 API 를 설계하는 것으로 이어진다. 그렇다면 API 가 clean 하다는 것은 무슨 의미일까?1. 사용자가 읽기 좋은 것. 그것은 name 과 concept 을 잘 잡는 것이다.2. 의미없는 syntax 는 빼고, 최소한의 코드로 code 가 읽기 좋은 것. -Kotlin 에서는 clean API 를 위해서 extension function, infix calls, lambda syntax sh.. 2017. 9. 14.
[Kotlin Tutorial] Kotlin 기초 #1 - Chap2. Kotlin basics [Kotlin Tutorial] Kotlin 기초 #1 - Chap2. Kotlin basics 참조 : Kotlin in Action 2.1. Basic elements : Functions and variables 2.1.1. Hello, world! -fun main(args: Array){ println(“Hello, world!”)} fun 는 function 을 정의하는 keywordtype 은 variable 이름 다음에 옴function이 class 정의 안에 있지 않아도 된다Array 가 class 이다 ( Java 는 아니징 ) -> Kotlin 에서는 모든 것이 Object 이다System.out.println 대신 println; (semicolon) 넣을 필요 없다 ( option.. 2017. 7. 25.
[iOS Study] 연락처 프로그래밍 가이드 in iOS - Direct Interacting [iOS Study] 연락처 프로그래밍 가이드 in iOS - Direct Interacting https://developer.apple.com/library/ios/documentation/ContactData/Conceptual/AddressBookProgrammingGuideforiPhone/Chapters/DirectInteraction.html -address book 은 유저의 정보이기 떄문에 다룰 때 주의해야 한다.보통 변경사항에 대해 user 에게 confirm 을 받는다.group 에 대해서도 마찬가지이다. -record 에는 id 가 있는데, 이 id 를 오랫동안 잡고 있는 것은 정확성이 떨어질 수 있다.그래서 이 id 와 pair 로 name 을 가지고 있어서, operation 을.. 2017. 6. 20.
반응형