목록분류 전체보기 (238)
Nuke Olaf - Log Store
TextView 에 clickable 과 focusable 속성 을 추가하면, TextView 를 눌렀을때 버튼과 같은 효과를 줄 수 있다고 한다. focusable 의 focus 란, 다음 키입력을 받을 뷰가 누구인지를 가리키는 표식이다. 키보드 이벤트는 포커스를 가진 뷰에게만 전달된다. 안드로이드는 포커스 표시를 무조건 하지 않고 터치 모드에 따라 표시 여부를 결정한다. 방향키를 한번 누르면 일반 모드로 전환되면서 포커스를 가진 버튼이 포커스색으로 변한다. 안드로이드 포커스 처리 관련 포스팅 : https://dreamchallenger.blogspot.com/2011/02/focus.html 참고 사이트 >>> https://dreamchallenger.blogspot.com/2011/02/focu..
안드로이드 checkbox 에 커스텀 이미지를 사용해야하는 경우가 생겼다. 커스텀 이미지를 사용한 체크박스 만드는 방법 1. Selector 만들기 res/drawable 폴더에 custom_checkbox.xml 리소스를 만들어준다. 태그 안에 체크박스 해제상태, 체크박스 선택상태의 item 을 만들어준다. 태그 안에는 체크박스의 상태와 해당 상태에 따른 drawable 이미지를 지정해 준다. 2. layout 에 체크 박스 추가 res/layout 에서 체크 박스 커스텀해준다. CheckBox 를 작성할 때, android_button="@null" 또는 android:button="@android:color/transparent" 이렇게 button 속성에 null 값을 주거나 투명색을 지정해야 커..
현재시간 가져오기 // 현재시간을 가져오기 val now: Long = System.currentTimeMillis() // 현재 시간을 Date 타입으로 변환 val date = Date(now) // 날짜, 시간을 가져오고 싶은 형태 선언 val dateFormat = SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale("ko", "KR")) // 현재 시간을 dateFormat 에 선언한 형태의 String 으로 변환 val stringTime = dateFormat.format(date) // String 형태의 시간을 다시 Long 으로 변환 val longTime = dateFormat.parse(stringTime).time https://developer.a..
앱을 만들고 배포할때, 사용자의 기기정보나 앱의 버전 정보가 필요한 경우가 있다. 이때 사용하는 함수들을 클래스로 만들어보았다. device id => 기기의 고유한 하드웨어 식별자 Android ID (SSAID) device model => 어떤 제품인지 (안드로이드 기기의 제품 모델명) device os => 안드로이드 버전 몇인지 app version => 해당 앱의 버전이 몇인지 class DeviceInfo(val context: Context) { // android device id 확인 fun getDeviceId(): String { return Settings.Secure.getString(context.contentResolver, Settings.Secure.ANDROID_ID) ..
코틀린 표준 라이브러리는 간결하고 명료한 코드를 작성하는 데 도움을 주는 확장 함수(extension function)들을 제공한다. 확장함수는 람다(lamda) 를 인자로 받아 동작하며, 확장함수를 실행하는 주체를 수신자 또는 수신자 객체라고 한다. 확장 함수에는 범위 지정 함수(scope-functions) let, with, run, apply, also 가 있다. 람다식이 제공된 객체에서 범위 지정 함수를 호출하면 임시 범위가 형성되는데, 이 범위에서 이름없이 객체에 접근할 수 있다. 이러한 기능을 가진 함수를 범위 지정 함수라고 한다. 이 다섯가지 범위 지정 함수들은 기본적으로 동일한 기능을 수행한다. 객체에서 코드 블럭을 실행하는 기능이다. let, with, run, apply, also 의..
1. 프로젝트 Fork 하기 우선 작업할 프로젝트의 레포지토리를 Fork 하여 내 레포지토리로 가져온다. 레포지토리 오른쪽 상단에 Fork 버튼이 있다. android/architecture-samples 를 Fork 하니 내 레포지토리에 nukeolaf/architecture-samples 가 생겼다 2. Fork 한 프로젝트를 local 에 clone 하기 clone or download 버튼을 누르면 clone 할 URL 이 나온다. $ git clone https://github.com/nukeolaf/architecture-samples.git 3. 기존 원격저장소를 연결한다 내 레포지토리에 fork 한 프로젝트는 기존 프로젝트가 변경되어도 반영되지 않는다. local 레포지토리를 기존 원격 저..
1. 지금까지의 협업 방법 : Collaborator 지금까지는 깃허브를 통해 협업할때, 하나의 프로젝트 레포지토리에 Collaborator 를 추가한 다음, 각자의 브랜치를 만들고 자신의 브랜치에 직접 체크아웃하여 작업을 진행해 왔었다. 내가 nukeolaf, 협업하는 팀원이 friend 라고 가정했을때, 우리는 team 이라는 팀프로젝트용 깃허브 계정을 새로 만든 다음, github.com/team/project 라는 레포지토리의 collaborator 에 nukeolaf 와 friend 를 설정하고, 각자이름의 브랜치를 만든 다음, 각자 브랜치에서 작업하고, pull request 와 merge 를 하는식으로 진행했다. 아래는 원래 진행하던 협업방식을 도식화한 그림이다. 이렇게 Collaborato..