Android/Android with Kotlin
-
/* 본 게시물은 ' ' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [Android developer - Android 라이브러리 만들기] : https://developer.android.com/studio/projects/android-library?hl=ko [Multi Module로 Android project 구성하기] : https://leveloper.tistory.com/201 #모듈 1. 모듈이란? 모듈은 안드로이드 공식 사이트에 다음과 같이 정의되어 있다. 모듈은 소스 파일 및 빌드 설정으로 구성된 모음이며, 이를 통해 프로젝트를 별개의 기능 단위로 분할할 수 있습니다. 프로젝트에는 하나 이상의 모듈이 포함될 수 있으며, 하나의 모듈이 다른 모듈을 종속 항목으로 사용할 수 있습니..
[Android] 모듈/* 본 게시물은 ' ' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [Android developer - Android 라이브러리 만들기] : https://developer.android.com/studio/projects/android-library?hl=ko [Multi Module로 Android project 구성하기] : https://leveloper.tistory.com/201 #모듈 1. 모듈이란? 모듈은 안드로이드 공식 사이트에 다음과 같이 정의되어 있다. 모듈은 소스 파일 및 빌드 설정으로 구성된 모음이며, 이를 통해 프로젝트를 별개의 기능 단위로 분할할 수 있습니다. 프로젝트에는 하나 이상의 모듈이 포함될 수 있으며, 하나의 모듈이 다른 모듈을 종속 항목으로 사용할 수 있습니..
2021.08.24 -
참고 자료 [Github - ComposeCookBook] : https://github.com/Gurupreet/ComposeCookBook #Kotlin DSL Github에서 JetPack ComposeBook 오픈소스를 분석하던 중, buildSrc를 통해 dependency를 관리하는 방법을 알게 되었다. 이 프로젝트에서는 많은 모듈로 이루어져 있는데 모듈의 build.gradle을 kotlin-dsl 을 사용하여 혁신(?)적으로 관리한다. (모듈이 많으면 gradle이 많아지는 단점이 있다.) 관련글 [우아한 형제들 기술 블로그Gradel Kotlin DSL 이야기 ] : https://techblog.woowahan.com/2625/ 위 글을 통해 kotlin-dsl 에 대해 알아보았다. 개..
[Android] kotlin - dsl 을 통한 Dependency 관리참고 자료 [Github - ComposeCookBook] : https://github.com/Gurupreet/ComposeCookBook #Kotlin DSL Github에서 JetPack ComposeBook 오픈소스를 분석하던 중, buildSrc를 통해 dependency를 관리하는 방법을 알게 되었다. 이 프로젝트에서는 많은 모듈로 이루어져 있는데 모듈의 build.gradle을 kotlin-dsl 을 사용하여 혁신(?)적으로 관리한다. (모듈이 많으면 gradle이 많아지는 단점이 있다.) 관련글 [우아한 형제들 기술 블로그Gradel Kotlin DSL 이야기 ] : https://techblog.woowahan.com/2625/ 위 글을 통해 kotlin-dsl 에 대해 알아보았다. 개..
2021.08.23 -
/* 본 게시물은 '참고 자료' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [안드로이드 부트캠프 Room 사용법] : https://www.youtube.com/watch?v=_A2FDHPQX0E [안드로이드 Room의 사용법과 예제] : https://todaycode.tistory.com/39 #Room 1. Room이란? Room은 스마트폰 내장 DB에 데이터를 저장하기 위해 사용하는 라이브러리이다. SQLite를 통해 스마트폰 내장 DB에 접근할 수 있지만 아래와 같은 단점 또한 존재한다. 우리가 직접 sql문을 써서 관리하기 때문에 오타로 인한 오류 가능성이 높다. 이러한 단점을 해결하기 위해 Room을 사용한다. Room은 기존 SQLite를 활용해서 객체를 매핑하는 역할을 한다. 2...
[Android] Room/* 본 게시물은 '참고 자료' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [안드로이드 부트캠프 Room 사용법] : https://www.youtube.com/watch?v=_A2FDHPQX0E [안드로이드 Room의 사용법과 예제] : https://todaycode.tistory.com/39 #Room 1. Room이란? Room은 스마트폰 내장 DB에 데이터를 저장하기 위해 사용하는 라이브러리이다. SQLite를 통해 스마트폰 내장 DB에 접근할 수 있지만 아래와 같은 단점 또한 존재한다. 우리가 직접 sql문을 써서 관리하기 때문에 오타로 인한 오류 가능성이 높다. 이러한 단점을 해결하기 위해 Room을 사용한다. Room은 기존 SQLite를 활용해서 객체를 매핑하는 역할을 한다. 2...
2021.08.10 -
/* 본 게시물은 '참고자료' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [boostcourse - 앱 프로그래밍 - 데이터 베이스] : https://www.boostcourse.org/mo316/joinLectures/13174?isDesc=false #SQL 사용자가 앱의 화면에서 데이터를 입력하면 서버에 보내어 저장할 수도 있고 단말에 저장할 수 있다. 저장소로 많이 사용되는 것이 데이터베이스이며 실무에서는 관계형 데이터베이스를 많이 볼 수 있다. 웹서버쪽에서 데이터베이스를 사용하는 것처럼 단말에서도 데이터베이스를 사용할 수 있다면 좀 더 쉽게 데이터를 저장하고 조회할 수 있는데 안드로이드에서는 SQLite라는 관계형 데이터베이스를 제공한다. 1. 데이터 베이스 데이터베이스는 저장소이며 관..
[Android] SQLite/* 본 게시물은 '참고자료' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [boostcourse - 앱 프로그래밍 - 데이터 베이스] : https://www.boostcourse.org/mo316/joinLectures/13174?isDesc=false #SQL 사용자가 앱의 화면에서 데이터를 입력하면 서버에 보내어 저장할 수도 있고 단말에 저장할 수 있다. 저장소로 많이 사용되는 것이 데이터베이스이며 실무에서는 관계형 데이터베이스를 많이 볼 수 있다. 웹서버쪽에서 데이터베이스를 사용하는 것처럼 단말에서도 데이터베이스를 사용할 수 있다면 좀 더 쉽게 데이터를 저장하고 조회할 수 있는데 안드로이드에서는 SQLite라는 관계형 데이터베이스를 제공한다. 1. 데이터 베이스 데이터베이스는 저장소이며 관..
2021.08.06 -
/* 본 게시물은 ' ' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [RecyclerView에 View Binding 적용하기] : https://cliearl.github.io/posts/android/viewbinding-recyclerview/ [RecyclerView 클릭 이벤트 적용하기] : https://yunaaaas.tistory.com/57 #CardView RecyclerView Dependency 추가 android { viewBinding { enabled = true } } dependencies { implementation 'androidx.cardview:cardview:1.0.0' } MainActivity import androidx.appcompat.app.App..
[Android] ViewBinding 을 사용한 CardView RecylcerView/* 본 게시물은 ' ' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [RecyclerView에 View Binding 적용하기] : https://cliearl.github.io/posts/android/viewbinding-recyclerview/ [RecyclerView 클릭 이벤트 적용하기] : https://yunaaaas.tistory.com/57 #CardView RecyclerView Dependency 추가 android { viewBinding { enabled = true } } dependencies { implementation 'androidx.cardview:cardview:1.0.0' } MainActivity import androidx.appcompat.app.App..
2021.07.20 -
/* 본 게시물은 '이것이 안드로이드다 with Kotlin | 고돈호 지음' 의 내용을 토대로 작성되었습니다. */ #리사이클러뷰 안드로이드의 대표적인 컨테이너로 리사이클러뷰가 있다. 컨테이너는 데이터를 반복적으로 표시하는 용도로 사용하는데 대표적인 컨테이너로는 목록을 화면에 출력할 때 사용하는 리사이클러뷰가 있다. 가장 많이 사용되는 것이 리사이클러뷰이고 가장 복잡한 것도 리사이클러뷰이다. 코드의 난이도가 갑자기 올라갈 수 있으니 리사이클러뷰의 축소 버전이라고 할 수 있는 스피너를 먼저 알아보자. 컨테이너는 레이아웃과는 다르게 내부 요소의 위치를 결정할 수 있는 속성이 없으므로 컨테이너를 사용할 때는 다른 레이아웃을 컨테이너 안에 삽입해서 사용한다. 1. 스피너 스피너는 여러 개의 목록 중에 하나를 ..
[Android] RecyclerView/* 본 게시물은 '이것이 안드로이드다 with Kotlin | 고돈호 지음' 의 내용을 토대로 작성되었습니다. */ #리사이클러뷰 안드로이드의 대표적인 컨테이너로 리사이클러뷰가 있다. 컨테이너는 데이터를 반복적으로 표시하는 용도로 사용하는데 대표적인 컨테이너로는 목록을 화면에 출력할 때 사용하는 리사이클러뷰가 있다. 가장 많이 사용되는 것이 리사이클러뷰이고 가장 복잡한 것도 리사이클러뷰이다. 코드의 난이도가 갑자기 올라갈 수 있으니 리사이클러뷰의 축소 버전이라고 할 수 있는 스피너를 먼저 알아보자. 컨테이너는 레이아웃과는 다르게 내부 요소의 위치를 결정할 수 있는 속성이 없으므로 컨테이너를 사용할 때는 다른 레이아웃을 컨테이너 안에 삽입해서 사용한다. 1. 스피너 스피너는 여러 개의 목록 중에 하나를 ..
2021.07.19 -
/* 본 게시물은 ' ' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [취준생을 위한 안드로이드 앱만들기 뷰바인딩 - viewBinding] : https://www.youtube.com/watch?v=J_e8N7vwCFI&t=242s [Android] ViewBinding vs DataBinding : https://velog.io/@jaeyunn_15/AndroidViewBinding-vs-DataBinding #ViewBinding 1. ViewBinding 이란? 뷰 바인딩은 뷰와 상호 작용하는 코드를 보다 쉽게 작성할 수 있는 기능이다. 모듈의 build.gradle에서 뷰 바인딩 속성이 활성화 되면 해당 모듈에 있는 각 XML 레이아웃 파일에 대한 바인딩 클래스가 자동으로 생성된다. 바인..
[Android] ViewBinding/* 본 게시물은 ' ' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [취준생을 위한 안드로이드 앱만들기 뷰바인딩 - viewBinding] : https://www.youtube.com/watch?v=J_e8N7vwCFI&t=242s [Android] ViewBinding vs DataBinding : https://velog.io/@jaeyunn_15/AndroidViewBinding-vs-DataBinding #ViewBinding 1. ViewBinding 이란? 뷰 바인딩은 뷰와 상호 작용하는 코드를 보다 쉽게 작성할 수 있는 기능이다. 모듈의 build.gradle에서 뷰 바인딩 속성이 활성화 되면 해당 모듈에 있는 각 XML 레이아웃 파일에 대한 바인딩 클래스가 자동으로 생성된다. 바인..
2021.07.16 -
/* 본 게시물은 'Android developers LiveData Document, 취준생을 위한 안드로이드 앱만들기 뷰모델' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [Android developers LiveData Document] : https://developer.android.com/topic/libraries/architecture/livedata?hl=ko [취준생을 위한 안드로이드 앱만들기 뷰모델] : https://www.youtube.com/watch?v=-b0VNKw_niY&list=PLgOlaPUIbynqmlbCQ_dHAgY7lRj5-Ti_f #ViewModel & LiveData 1. ViewModel ViewModel은 안드로이드 생명주기의 상관없이 ViewMode..
[Android] LiveData & ViewModel/* 본 게시물은 'Android developers LiveData Document, 취준생을 위한 안드로이드 앱만들기 뷰모델' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [Android developers LiveData Document] : https://developer.android.com/topic/libraries/architecture/livedata?hl=ko [취준생을 위한 안드로이드 앱만들기 뷰모델] : https://www.youtube.com/watch?v=-b0VNKw_niY&list=PLgOlaPUIbynqmlbCQ_dHAgY7lRj5-Ti_f #ViewModel & LiveData 1. ViewModel ViewModel은 안드로이드 생명주기의 상관없이 ViewMode..
2021.07.15 -
/* 본 게시물은 '이것이 안드로이드다 with Kotlin | 고돈호 지음' 의 내용을 토대로 작성되었습니다. */ #Fragment 1. Fragment 란? 안드로이드의 액티비티는 화면을 표현하기 위한 기본 단위이다. 액티비티를 구성하다 보면 화면이 너무 복잡하거나 또는 코드의 양이 너무 많아졌거나 하는 이유로 화면의 부위별로 따로 동작시키고 싶을 때가 있다. 그럴 때 각각의 화면을 분할해서 독립적인 코드로 구성할 수 있게 도와주는 것이 프래그먼트이다. 프래그먼트는 서로 다른 크기의 화면을 가진 기기에서 하나의 액티비티로 서로 다른 레이아웃을 구성할 수 있도록 설계되었다. 목록 프래그먼트와 상세 프래그먼트가 있을 때 태블릿과 같은 큰 화면에서는 두 프래그먼트를 한 화면에 표시하고, 스마트폰처럼 작은..
[Android] Fragment/* 본 게시물은 '이것이 안드로이드다 with Kotlin | 고돈호 지음' 의 내용을 토대로 작성되었습니다. */ #Fragment 1. Fragment 란? 안드로이드의 액티비티는 화면을 표현하기 위한 기본 단위이다. 액티비티를 구성하다 보면 화면이 너무 복잡하거나 또는 코드의 양이 너무 많아졌거나 하는 이유로 화면의 부위별로 따로 동작시키고 싶을 때가 있다. 그럴 때 각각의 화면을 분할해서 독립적인 코드로 구성할 수 있게 도와주는 것이 프래그먼트이다. 프래그먼트는 서로 다른 크기의 화면을 가진 기기에서 하나의 액티비티로 서로 다른 레이아웃을 구성할 수 있도록 설계되었다. 목록 프래그먼트와 상세 프래그먼트가 있을 때 태블릿과 같은 큰 화면에서는 두 프래그먼트를 한 화면에 표시하고, 스마트폰처럼 작은..
2021.07.15 -
1. 안드로이드 애뮬레이터 "http://10.0.2.2" 로 설정. 2. 안드로이드 디바이스 실제 컴퓨터 IPv4 주소로 접속. (cmd -> ipconfig로 확인가능) ex) "http://[IPv4 주소]"
[Android] 안드로이드에서 로컬 서버 접속하기1. 안드로이드 애뮬레이터 "http://10.0.2.2" 로 설정. 2. 안드로이드 디바이스 실제 컴퓨터 IPv4 주소로 접속. (cmd -> ipconfig로 확인가능) ex) "http://[IPv4 주소]"
2021.07.12 -
/* 본 게시물은 '안드로이드의 MVC, MVP, MVVM 종합 안내서', '코틀린으로 쇼핑몰 앱 만들기', '[디자인패턴] MVC, MVP, MVVM 비교' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [안드로이드의 MVC, MVP, MVVM 종합 안내서] : https://academy.realm.io/kr/posts/eric-maxwell-mvc-mvp-and-mvvm-on-android/ [[디자인패턴] MVC, MVP, MVVM 비교] : https://beomy.tistory.com/43 #MVVM 1. MVVM란? MVVM은 Model-View-ViewModel의 약자로 Model, View, ViewModel의 관심사를 분리해 서로간의 의존성을 줄이고 뷰를 단순화시켜 유지보수성을 높일..
[Android] 안드로이드 아키텍처 패턴 - MVVM/* 본 게시물은 '안드로이드의 MVC, MVP, MVVM 종합 안내서', '코틀린으로 쇼핑몰 앱 만들기', '[디자인패턴] MVC, MVP, MVVM 비교' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [안드로이드의 MVC, MVP, MVVM 종합 안내서] : https://academy.realm.io/kr/posts/eric-maxwell-mvc-mvp-and-mvvm-on-android/ [[디자인패턴] MVC, MVP, MVVM 비교] : https://beomy.tistory.com/43 #MVVM 1. MVVM란? MVVM은 Model-View-ViewModel의 약자로 Model, View, ViewModel의 관심사를 분리해 서로간의 의존성을 줄이고 뷰를 단순화시켜 유지보수성을 높일..
2021.07.08 -
보호되어 있는 글입니다.
[Android] 안드로이드 아키텍처 패턴 - MVC / MVP보호되어 있는 글입니다.
2021.07.07