목록코딩 일기장/Android(Kotlin) (102)
와챠의 우당탕탕 코딩 일기장
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/k4ASA/btrEia5weIk/Ha2c6ypPH4Tj9xhC3llj41/img.png)
목차 머티리얼 디자인 Ratio(ConstraintLayout 제약사항) BaseLine(ConstraintLayout 제약사항) theme의 Primary/Secondary color textStyle 확장 toolbar-scroll 애니메이션 구현 svg(vecter assets) 추가 방법 툴바 뒤로가기 버튼 이미지 추가+ 동작하기 WebP란? 기타 배운 것들,,, 1. 머티리얼 디자인 https://material.io 머티리얼 디자인이라고 컴포넌트를 잘 사용하는 방법, 주의사항 등을 가르려주는 곳이다. 컴포넌트 사용법의 사전같은 곳,,, 구경할 게 많아보인다. 2. Ratio width에 맞춰 1:1 크기로 맞추기 (더 많은 ConstraintLauout 제약 보기) app:layout_cons..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bszGnC/btrD3ShWhdO/S5RDi2AuAHgOTQuwkbwIB1/img.png)
목차 Object Object 무명 객체 class / interface생성 시의 Object companion object const inner class Extension functions Extensions properties lambda trailing lambda Scope function let with run apply also enum class sealed 1. Object object: 싱글톤 패턴 언제 사용?: 언제나 같은 결과 반환을 기대할 때 주의해야할 점: 싱글톤 객체가 어느 위치에서 값을 수정했는지 파악 어려움 // 장바구니 object CartItems { // private 제품 리스트, mutableKist: 수정, 추가 가능 private val mutableProduc..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/V0sZ4/btrEvNAorhH/VMAQ4ULekAv0PAAUd00h0K/img.png)
목차 """ """: Triple-quoted Array 종류 complier / complie time / run time !!: not-null assertion operator Type Check loop-break data class Module visiblilty modifier(가시성 변경자): package, class member Collections(List, Set, Map) 데이터 가져오기 조건으로 값 반환하기 Map joinToString Filtering Partition Grouping 1. Triple-quoted Triple-quoted를 사용하면 \n이나 \$를 하지 않아도 줄바꾸기, 특수문자 인식 가능 val text = """ 그냥 이렇게 아무무렇게나 쓰면 됨 """.t..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dygmgS/btrDNVAhYLJ/EINqnKHFEZWh9Uo3aarFk0/img.png)
Lifecycle (Easy handling lifecycles) LiveData (Lifecycle aware observable) ViewModel (Managing data in a lifecycle) Room (Object Mapping for SQLite) Paging (Gradually loading information) 3. ViewModel 공식 문서 ViewModel 개요 | Android 개발자 | Android Developers ViewModel을 사용하면 수명 주기를 인식하는 방식으로 UI 데이터를 관리할 수 있습니다. developer.android.com ViewModel이란 무엇인가? 공식 문서의 설명을 보면 아래와 같다. ViewModel 클래스는 수명 주기를 고려하여 U..
Lifecycle (Easy handling lifecycles) LiveData (Lifecycle aware observable) ViewModel (Managing data in a lifecycle) Room (Object Mapping for SQLite) Paging (Gradually loading information) 2. LiveData 공식문서 LiveData 개요 | Android 개발자 | Android Developers LiveData를 사용하여 수명 주기를 인식하는 방식으로 데이터를 처리합니다. developer.android.com LiveData이란 무엇인가? LiveData는 생명주기와 데이터의 변경을 감지할 수 있는 클래스이다. LiveData은 어떻게 사용하는가? 1..
Lifecycle (Easy handling lifecycles) LiveData (Lifecycle aware observable) ViewModel (Managing data in a lifecycle) Room (Object Mapping for SQLite) Paging (Gradually loading information) 1. Lifecycle 공식문서 수명 주기 인식 구성요소로 수명 주기 처리 | Android 개발자 | Android Developers 새 Lifecycle 클래스를 사용하여 활동 및 프래그먼트 수명 주기를 관리합니다. developer.android.com LifeCycle이란 무엇인가? LifeCycle은 안드로이드 생명 주기를 말하기도 하지만, 여기서 소개할 것은 라..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/VfdOp/btrDlGbfdcF/4RY7kPXkR0nMKfNWmY9GfK/img.png)
... 무신사 앱으로 옷 좀 보다가 너무 귀여워서 캡쳐했는데,,, 내가 캡쳐한 사진을 공유하겠나고 토스트를 띄운 거임?? 아니 내가 캡쳐한 거 어케 알았지!?!?!? 너무너무 신기해서 나도 만들어보고 싶었다. 아래는 무신사에서 캡쳐하면 나오는 토스트다. 진짜 열심히 찾았는데 공식에서 제공해주는 이벤트 리스너는 없고, 대신... 깃허브에서 라이브러리를 찾음!! 얼릉만들어보자 결과 화면 1. 라이브러리 추가 // 스크린샷 탐지 implementation 'com.akexorcist:screenshot-detection:1.0.2' 2. 코드 짜기(깃허브 리드미에 잘 설명되어져 있음) package com.example.mycapture import android.Manifest import android.c..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ccFcbr/btrC8c9qff9/pFq78d7G8ikDliszZdIf9k/img.png)
요즘 여기저기서 AndroidStudio로 파일 만들기를 많이,,,접하게 되어서 궁금해져서 만들어봄 더 많은 활용은 더 공부해봐야할듯 일단 파일 생성까진 했으니 올려두기 결과 화면 먼저 1. 라이브러리 추가 implementation 'org.apache.poi:poi-ooxml:4.1.2' implementation 'javax.xml.stream:stax-api:1.0' + minSdk로 26으로 변경해준다^__^ minSdk 26 // 21 2. Manifest에 파일 읽고 쓰기 위한 권한 추가 3. xml 만들기 4. kt 코드 짜기 package com.example.mycapture import android.content.pm.PackageManager import android.graphi..