안드로이드

    [ Kotlin ] 코틀린에 존재하는 특이한 자료형 (Unit, Any, Nothing)

    1. Unit - 자바의 void와 같음 fun unitMethod(): Unit { println("반환값이 없는 함수입니다.") } 2. Any/Any? - Any - non-null 타입의 조상격 (Int, Float, ...) - Any? - nullable 타입의 조상 (Int?, Float?, ...) 3. Nothing ex) fun 함수명(변수명: 타입, ...) : Nothing { 함수내용 -> " 너 뭔가 잘못했다. " } - 이 함수를 호출하면 뭔가 잘못되었다는 것을 표현 - 명시적으로 알려줌

    [ Kotlin ] Null

    NULL - 상태를 모름, 존재하지 않음 - 0과는 다름 - Null을 대상으로 연산할 수 없음 NullSafety (Null로 부터 안전해지는 이유) - 코틀린의 가장 큰 특징 ?를 이용하여 Null 처리 val number : Int? = null // Null 가능 val number : Int = 10 // Null 불가능 val num1: Int? = 3 + 5 val num2: Int? = 10 val num3: Int? = num1 + num2 // 결과 -> 에러 왜 Error일까? => 컴파일할 때 num1과 num2가 Int로 보장되지 않기 때문에 에러 num1이과 num2가 nullable타입이라서, 만약 nullable타입이 아닌 Int 형식이었으면 성공적으로 출력 => 에러만 없애..

    [ Kotlin ] 변수와 자료

    변경 가능한 변수 - var 변경이 불가능한 변수 - val 변수 네이밍이 중요한 이유 - 가독성을 향상시키는 가장 좋은 방법 - 코드가 길어질수록 변수의 이름을 보고 어떤 것인지 파악하는 일이 많다. 자료형 1. 정수형 - Byte - Short - Int - Long 2. 실수형 - Float - Double 3. 논리형 - Boolean - True, False 표현 4. 문자형 - 한글자 ( 'A', '1', 'b' ) 5. 문자열형 - 여러 글자 ( "안녕하세요", "abc" ) * 자료형 추론 var number:Int = 10 변수종류 변수명:변수타입 = 값 var number = 100 -> 정수의 경우 코틀린은 기본적으로 Int로 추론한다. 따라서 number는 Int형으로 추론 * 추론..

    [Android] Android Beam에 관해...

    2개의 Android 장비간 쌍방향 데이터 교환 가능 Android 4.0 이상 버전에서 지원 빔을 통해 데이터(NdefMessage)를 다른 장비로 전송하길 원하는 앱은 포그라운드로 동작하고 있어야 함 데이터를 수신하는 장비도 unlock 되어 있어야 함 수신 장비 접근시 공유하고자 하는 화면이 작아지면서 "Data 공유" 라는 사용자 인터페이스가 표시되고, 해당 화면 선택 시 사용자가 선택한 Data(NdefMessage)가 전송됨. Android Beam 구현을 위한 함수 setNdefPushMessage() : NdefMEssage를 Beam을 통해 전송 :: 자동적으로 2개의 장비가 근접해졌을 때 메세지가 전송됨 setNdefPushMessageCallback() : 데이터를 빔을 통해 전송할 ..

    [Android] NFC에 관해...

    NFC 가까운 거리에서 동작하는 근거리 무선 통신 기술 RFID의 기술을 확장한 것 - RFID : 태그에 있는 데이터만 읽기 가능 최대 848Kpbs의 Data 전송 가능 양방향 실시간 데이터 통신이 가능 블루투스 보다 전송속도는 느리나, 통신설정 시간이 짧아 인식과 반응속도 빠름 NFC 운용모드 태그 읽기/쓰기 - 태그의 데이터를 읽기와 쓰기 가능 P2P 통신 - 디바이스끼리 P2P 데이터 통신 가능 HCE 모드 (Host Card Emulation) - Tag Emulation Mode NFC Tag Dispatch System 우선순위 ACTION_NDEF_DISCOVERED - NDEF 페이로드가 포함된 태그 또는 태그의 유형이 인식될 경우 - 우선 순위가 가장 높음 ACTION_TECH_DIS..