Android
-
/* 본 게시물은 ' ' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [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 -
/* 본 게시물은 'Compose CookBook' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [Compose CookBook] : https://github.com/Gurupreet/ComposeCookBook 실행 결과 ListActivity class ListActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { ListViewContent { onBackPressed() } } } } @Composable fun ListViewContent(onBack: () -> Unit){ Scaffold( topBar ..
[Jetpack Compose] ListView/* 본 게시물은 'Compose CookBook' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [Compose CookBook] : https://github.com/Gurupreet/ComposeCookBook 실행 결과 ListActivity class ListActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { ListViewContent { onBackPressed() } } } } @Composable fun ListViewContent(onBack: () -> Unit){ Scaffold( topBar ..
2021.07.26 -
/* 본 게시물은 ' ' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [URL] : 기본 코드 베이스는 저번에 만든 BottomNavigation을 활용하겠다. Jetpack Compose의 장점은 기존의 View 와 호환이 가능하다는 점이다. 이를 이용해 Activity 간 이동을 구현해보자. SecondActivity class SecondActivity : ComponentActivity() { private val key: String by lazy { intent?.getStringExtra("key") ?: "key is null" } override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState..
[Jetpack Compose] Activity 간 이동/* 본 게시물은 ' ' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [URL] : 기본 코드 베이스는 저번에 만든 BottomNavigation을 활용하겠다. Jetpack Compose의 장점은 기존의 View 와 호환이 가능하다는 점이다. 이를 이용해 Activity 간 이동을 구현해보자. SecondActivity class SecondActivity : ComponentActivity() { private val key: String by lazy { intent?.getStringExtra("key") ?: "key is null" } override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState..
2021.07.26 -
/* 본 게시물은 ' ' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [URL] : 실행 결과 HomeScreen @Composable fun HomeScreen(homeScreen: BottomNavType) { val context = LocalContext.current Scaffold( modifier = Modifier.testTag(TestTags.HOME_SCREEN_ROOT), topBar = { TopAppBar( title = { Text(text = "MainActivity") }, elevation = 18.dp, //왼쪽 Naviagation Icon navigationIcon = { IconButton( onClick = { Toast.makeText(context, "Ba..
[Jetpack Compose] TopAppBar/* 본 게시물은 ' ' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [URL] : 실행 결과 HomeScreen @Composable fun HomeScreen(homeScreen: BottomNavType) { val context = LocalContext.current Scaffold( modifier = Modifier.testTag(TestTags.HOME_SCREEN_ROOT), topBar = { TopAppBar( title = { Text(text = "MainActivity") }, elevation = 18.dp, //왼쪽 Naviagation Icon navigationIcon = { IconButton( onClick = { Toast.makeText(context, "Ba..
2021.07.26 -
/* 본 게시물은 ' ' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [URL] : https://foso.github.io/Jetpack-Compose-Playground/material/snackbar/
[Jetpack Compose] jetpack compose playground/* 본 게시물은 ' ' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [URL] : https://foso.github.io/Jetpack-Compose-Playground/material/snackbar/
2021.07.26 -
/* 본 게시물은 ' ' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [URL] : https://github.com/Gurupreet/ComposeCookBook 실행 결과 MainActivity import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.animation.Crossfade import androidx.compose.foundation.background import androidx.compose.foundation.layout.Column import androidx.compose.material...
[Jetpack Compose] BottomNavigation/* 본 게시물은 ' ' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [URL] : https://github.com/Gurupreet/ComposeCookBook 실행 결과 MainActivity import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.animation.Crossfade import androidx.compose.foundation.background import androidx.compose.foundation.layout.Column import androidx.compose.material...
2021.07.26 -
/* 본 게시물은 ' 취준생을 위한 안드로이드 앱만들기 콤포즈UI 기본개념 Jetpack Compose ' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [취준생을 위한 안드로이드 앱만들기 콤포즈UI 기본개념 Jetpack Compose] : https://www.youtube.com/watch?v=1apENzDbtCQ&t=190s #Jetpack Compose 사용해보기 build.gradle Jetpack Compose 는 kotlin 1.5.10 이상 버전에서 실행 가능하다. MainActivity import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent..
[Android] Jetpack Compose(2)/* 본 게시물은 ' 취준생을 위한 안드로이드 앱만들기 콤포즈UI 기본개념 Jetpack Compose ' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [취준생을 위한 안드로이드 앱만들기 콤포즈UI 기본개념 Jetpack Compose] : https://www.youtube.com/watch?v=1apENzDbtCQ&t=190s #Jetpack Compose 사용해보기 build.gradle Jetpack Compose 는 kotlin 1.5.10 이상 버전에서 실행 가능하다. MainActivity import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent..
2021.07.21 -
/* 본 게시물은 ' Jetpack Compose | Android developer ' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [Jetpack Compose | Android developer] : https://developer.android.com/courses/pathways/compose #Jetpack compose UI 1. Jetpack compose 를 왜 사용해야 할까? Jetpack compose는 기존의 View를 대체할 tool kit 이다. Jetpack compose는 직관적이고 강력하다. 훨씬 적은 코드로 UI를 생성할 수 있다. 이는 처음부터 개발을 가속화할 수 있도록 도와준다. 또한, UI에 들이는 시간을 줄여 기능을 구현하는데 집중할 수 있다. 뷰 기반의 기존..
[Android] Jetpack Compose(1)/* 본 게시물은 ' Jetpack Compose | Android developer ' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [Jetpack Compose | Android developer] : https://developer.android.com/courses/pathways/compose #Jetpack compose UI 1. Jetpack compose 를 왜 사용해야 할까? Jetpack compose는 기존의 View를 대체할 tool kit 이다. Jetpack compose는 직관적이고 강력하다. 훨씬 적은 코드로 UI를 생성할 수 있다. 이는 처음부터 개발을 가속화할 수 있도록 도와준다. 또한, UI에 들이는 시간을 줄여 기능을 구현하는데 집중할 수 있다. 뷰 기반의 기존..
2021.07.21 -
/* 본 게시물은 ' ' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [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