코틀린으로 작성한 안드로이드에서 UUID 가져오기
오늘은 범용 고유 식별자라고 불리는 UUID를 안드로이드에서 코틀린으로 구해보려 합니다. 설정 <uses-permission android:name="android.permission.READ_PHONE_STATE" /> 안드로이드 오레오 6.0 이하 버전에서는 위와 같이 간단하게 처리할 수 있습니다. private fun make...
오늘은 범용 고유 식별자라고 불리는 UUID를 안드로이드에서 코틀린으로 구해보려 합니다. 설정 <uses-permission android:name="android.permission.READ_PHONE_STATE" /> 안드로이드 오레오 6.0 이하 버전에서는 위와 같이 간단하게 처리할 수 있습니다. private fun make...
오늘은 안드로이드에서 데이터 바인딩을 적용하여 바인딩어댑터를 코틀린으로 사용해보려 합니다. 설정 기존에 data binding을 적용했던 빌드 설정을 하시면 됩니다. apply plugin: 'kotlin-kapt' android { dataBinding { enabled true } } dependencies...
오늘은 안드로이드 mvvm 패턴을 코틀린으로 간단하게 작성해보았습니다. mvvm 패턴은 model과 view, 그리고 view model로 이루어져 있습니다. DataBinding 라이브러리를 같이 사용하는 패턴입니다. 아래는 간단한 문자열을 출력하고, 버튼을 누르면 값이 변경되는 예시입니다. model data class Test(var t...
안드로이드 6.0 오레오부터 권한을 요청해야 되는 방식이 존재합니다. 물론 모든 권한이 그러한 것이 아니고, 일부 위험하다고 판단되는 권한들만 그럽니다. 오늘은 안드로이드 6.0 오레오부터 달라진 권한 획득 방식을 코틀린으로 알아보려 합니다. 기존 권한 획득 <uses-permission android:name="android.permis...
오늘은 recycler view 안에 recycler view가 들어있는, 즉 recycler view를 중첩해서 사용하는 방식을 알아보려합니다. 보통 recycler view는 xml과 activity가 adapter로 연결되어 있어서 쉽게 구현할 수 있습니다. 하지만 중첩된 recycler view는 잠깐 생각해보면 recycler view 안...
오놀은 activity와 다르게 fragment에서 데이터 바인딩 유틸을 사용하여 xml에서 id를 가져와보겠습니다. 클래스 생성 class ProductReportFragment : Fragment(){ } android.support.v4.app.Fragment된 Fragment() 메소드를 상속받습니다. lateinit lateini...
오늘은 안드로이드에서 여러 fragment를 이용하여 viewpager를 사용해보는 것을 코틀린을 통하여 합니다. 설정 implementation 'com.android.support:design:28.0.0-alpha3' 디자인 지원 라이브러리를 추가해주고 gradle sync를 합니다. fragment 각각의 페이지를 담당하는 fragm...
오늘은 Firebase Messaging Service, 즉 FCM을 코틀린으로 안드로이드 프로젝트에서 써보려 합니다. 설정 apply plugin: 'com.google.gms.google-services' google-services를 추가해주고, implementation 'com.google.firebase:firebase-core:1...
오늘은 안드로이드에서 Shared Preferences를 사용하는 방법을 코틀린으로 알아보려 합니다. Application 클래스로 Shared Preferences를 전역에서 사용해보려 합니다. 개요 SharedPreferences는 간단한 문자열을 저장하기 좋은 저장 방식입니다. 어플리케이션이 삭제되기 전까지는 보존되기 때문에 최초 1회 실...
오늘은 문자열로 이루어진 수학 수식들을 계산해주는 라이브러리인 mXparser를 gradle로 추가하고 코틀린 프로젝트에서 사용해보았습니다. 설정 implementation 'org.mariuszgromada.math:MathParser.org-mXparser:4.2.0' 사용 val e1 = Expression("2018-7-21*100")...