본문 바로가기

분류 전체보기67

Android Studio Request Code 안드로이드 스튜디오에서 requestCode를 쓰는 이유는 각 액티비티를 구별하고 데이터를 좀 더 원활히 주고받을 수 있도록 하기 위해서이다. 둘 중 한 가지를 꼽자면 그냥 액티비티를 구별하기 위해서이다. requestCode를 쓰려면 startActivityForResult()를 호출해야한다. 참고로 원래 Intent 쓰는 법을 보자면, val intent = Intent(this, MainActivity::class.java) startActivity(intent) 이런 식으로 startActivity에 intent를 넣어주면 그만이다. 하지만 requestCode를 주고받으려면 쓸 수가 없다. 그래서 사용하는 것이 startActivityForResult()이다. 이에 대해 짧게 말해보자면, 응답하.. 2020. 4. 7.
Android Studio Room Database 안드로이드 스튜디오에서 로컬 DB를 사용할 때 쓸 수 있는 것으로 SQLite와 Room이라는 것이 있다. Room은 2017년에 새로 나온 것이다. Room은 일종의 라이브러리라고 볼 수 있는데, SQLite의 기능을 쓸 수가 있으며, DB로 접근을 편하게 도와준다. SQLite를 쓸 경우에는 데이터에 변화가 생기면 수동으로 업데이트를 해주어야 한다. 이 과정에서 생각보다 시간이 많이 소요되며 오류가 생길 수가 있다. 또한 무의미한 boilerplate code를 많이 사용하게 된다. 이러한 단점들을 보완해서 나온게 Room이라고 볼 수 있다. 참고로 Room은 안드로이드 아키텍처의 구조 중 하나에 포함되어 있다. MVVM 아키텍처의 구성은 View-ViewModel-Model의 구조이다. 이 구조에 .. 2020. 4. 2.
Kotlin Weekly 191 Android Best Architecture = MVI + LiveData + ViewModel Best of MVVM and MVI architecture patterns merged into one, for a perfect architecture for any Android project. 1. Separation of concerns : It is a design principle for separating a computer program into distinct sections such that each section addresses a separate concern. 2. Drive UI from a model -> MVC : Model-View-Controller / It is the .. 2020. 3. 31.
Android MVVM Architecture MVVM 아키텍처란 View(뷰), ViewModel(뷰모델), Model(모델)로 이루어진 구조를 말한다. 뷰에서는 뷰를 참조하고 뷰모델에서는 모델을 참조하는 방식으로 뷰에서 모델로의 직접 참조는 불가능한 구조다. 뷰에서는 일을 시키지 않고 뷰모델의 LiveData들을 관전만 한다. LiveData를 보면서 변화하는 부분들이 있으면 바로 캐치하여 자동으로 업데이트되게끔 하는 구조이다. 각각의 역할들을 완전히 분리시킨 패턴으로 가독성과 재사용성을 높인 디자인 패턴이다. MVVM의 특징으로는 뷰에서 곧바로 DB에 접근하지 않는 다는 점이다. MVVM에서의 뷰는 그저 UI 갱신에만 충실할 뿐. 그 외적으로는 뷰모델을 참조하는 것 말고는 없다. 그리고 뷰모델에서는 모델에서 잘 정리된 데이터를 참조한다. 좀 더.. 2020. 3. 27.
Android Studio 그림자 생성 안드로이드 스튜디오에서 그림자를 만들 때, 밑에 사진처럼 버튼에 그림자를 다는 경우가 생긴다. (ex_view, ImageView 등 다양한 뷰에도 사용가능) 그림자를 추가할 때에는 drawable에 xml 파일을 생성해야 한다. 그리고 아래의 코드와 같이 layer-list라는 것을 사용하여 만든다. layer-list는 차곡차곡 레이어 한다는 의미로 말그대로 쌓는 것을 말한다. 색을 어두운 회색으로 살짝씩 변화를 주면서 자연스럽게 그림자처럼 만드는 원리이다. 색깔은 본인이 수정해도 된다. 가장 처음에 나타나는게 가장 바깥쪽에 있는 것이기 때문에 가장 밝은 그레이색 그리고 점차적으로 어둡게 해주면 된다. item을 차곡차곡 쌓아 만드는 형태로 xml 코드를 작성한 다음 이 파일을 넣고 싶은 해당 뷰에 .. 2020. 3. 24.
Koltin의 특징 - null값이 변수에 들어갈 수 없음. 하지만 ? 를 붙인다면 null값을 넣을 수 있음. - 변수 선언 시 무조건 초깃값이 존재해야 함. 그러나 lateinit을 사용하면 나중에 데이터 값을 넣어줘도 됨. - 함수는 fun을 이용하여 만든다. - fun 함수에서 Java에서의 void 함수처럼 리턴값이 없도록 하는 함수를 만들 때에는 Unit 타입을 사용한다. - 코틀린의 강점으로 findViewById를 굳이 사용하지 않아도 된다는 점이 있다. - 변수의 타입을 굳이 정하지 않아도 초깃값에 따라 타입이 자동적으로 생성된다. 2020. 3. 24.