안드로이드 프로그래밍[Kotiln Code] 54

Live Data + View Model + Data Binding 설명

안녕하세요. 훈츠 입니다. 금일은 Live Data 와 View Modle 그리고 데이터 바이딩 실습에 대해 포스팅 합니다. 실습 순서 Dependency 추가 Model class, ViewModel (LiveData object) 만들기 .XML DataBinding Setting DataBindingUtil 이용 해서 setContentView 하기 ViewModel 인스턴스 만들고 Data Binding object 에 assign 후 Data Binding object 에 라이프싸이클 set 하기 1. Dependency 추가 현재 최신 버전 이며, 추후는 안드로이드 AndroidX 에 배포 노트를 확인 하시면 됩니다. 1 2 3 4 5 6 7 8 apply plugin: 'kotlin-kapt..

[안드로이드] 뷰 View

안녕하세요. 금일은 뷰 내용에 대해 포스팅 합니다. View 뷰 실제 화면에 보이는 View View 의 종류 ImageView (파생) ImageButton TextView(파생) EditText : 편집 가능한 텍스트 박스 Button(파생) : 텍스트가 표시되는 버튼 RadioButton : 그룹 중 하나만 선택하는 버튼 CheckBox : 그룹에서 여러개를 선택하는 버튼 Switch : 스위치 모양으로 on/ off 를 하는 버튼 ViewGroup(파생) : View 들을 묶어 표시하는 View 레이아웃 계열 LinearLayout : 가로 또는 세로로 순서대로 View 들을 나열 ConstraintLayout : 여러가지 방법으로 View를 자유롭게 나열 리스트 계열 RecyclerLayout ..

[Live Data] 안드로이드 라이브 데이터 1

안녕하세요. 훈츠 입니다. Room Database 와 Realm Database 학습 하면서 라이브 데이터 관련하게 나와서 학습 하는김에 정리 해봅니다. 라이브 데이터 사용시 키 포인트 View Model 안에서 다음과 같이 구성 Live Data get() = Mutable Live Data Activity 혹은 Fragment 안에서 viewModel 가져오고 observer할 view 지정 viewModel.LiveData.observe (this , Observer { Change UI } ) 뷰모델 안에 라이브 데이터 생성 on Create() Observer 에서 UI 연결 다른 곳에서 라이브데이터 변경시 LiveData 개요 LiveData는 식별 가능한 데이터 홀더 클래스입니다. 식별 가..

[MVVM] ViewModelProviders.of() deprecated

안녕하세요. 훈츠 입니다. ViewModel ViewModelProviders.of() deprecated 되어서 다른 방식으로 하는 방법 포스팅 합니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 //Hoons Blog---https://rain2002kr.tistory.com------------------------------------------------------------------코드/// lateinit var viewModleFactory: ViewModelProvider.AndroidViewModelFactory private lateinit var contactViewModel : ContactViewModel //fragment 에서 받을때 viewMod..

[안드로이드] 액티비티 Activity

안녕하세요. 금일은 액티비티에 대한 내용에 대해 포스팅 합니다. Activity 액티비티 안드로이드 시스템에 의해 관리 되어지며, 사용자가 호출을 요청할수 있습니다. 시스템에 의해 관리 되어지는 액티비티는 생명주기가 있습니다. 물론 이 생명 주기로인해 데이터를 보존 하기 위해 지금도 배우기 위해 애쓰고 있는 LiveData 나 ViewModel 같은 것이 있습니다. onCreate() : activity 생성시 단 한번만 호출 되므로 공통적으로 사용되는 변수의 초기화, UI 의 초기값 설정 onStart() : activity 가 가려졌다 돌아올때, 혹은 완전히 전환되는 경우에 onStart와 onResume 차례로 동작 onResume() : 다른화면에서 입력받은 내용을 통해 바뀔 수있는 데이터를 초기..

[안드로이드] 안드로이드 시스템 Gradle

안녕하세요. 금일은 안드로이드 스튜디오 툴에 대한 내용에 대해 포스팅 합니다. 그레들 : Gradle 프로젝트에 포함된 파일과 그에 연관된 모듈들을 링크하여 앱을 컴파일하는 빌드 시스템입니다. 프로젝트에 포함되는 모듈이 추가되거나 변경될 때마다 Gradle에 의한 sync 과정이 발생합니다.

[MVVM] ROOM Database 정리

안녕하세요. 훈츠 입니다. 금일은 ROOM에 대해 정리해 보도록 하겠습니다. MODEL - VIEW - VIEW MODEL : MVVM Dependency 추가 ROOM 생성 (Contact(Entity), ContactDao, ContactDatabase) Repository 생성 (main Thread 접근 불가 하기 때문에, 별도의 Thread 생성) ViewModel 생성 (Application context를 사용하기 위해 Application을 인자로 받는다. 이유: 메모리릭 발생가능성) Activity or Fragment 설정 ( ViewModelProViders 를 이용해 get, observe 로 만들어서 생명주기 관찰을 정함) RecyclerView 설정 (xml, Adapter) 1..

[안드로이드] 안드로이드 시스템

안녕하세요. 훈츠 입니다. 금일은 안드로이드 시스템에 대해 포스팅 합니다. 안드로이드 시스템 아키텍처 리눅스 시스템 위에, C와 C++ 코드로 이루어진 그래픽, 브라우저, 미디어, Database... 와 안드로이드 가상머신과 함께 안드로이드 API Framework 위에서 시스템 앱과 유저 앱이 Running 됩니다. View System 눈에 보이는 기능 및 UI를 제공 하는 View System 입니다. Content Providers 앱간에 데이터들을 주고 받기 위해서, 데이터 형식을 등록합니다. Managers Activity Manager : 앱들이 가진 화면들을 관리 Location Manager : 단말기의 위치정보를 관리 Package Manager : 설치된 앱들을 관리 Resource..