Android 7

[Android] Jetpack Datastore이란?

DataStore는 무엇일까요? 우선 공식문서에서는 Jetpack Datastore는 프로토콜 버퍼를 사용하여 키-값 쌍 또는 유형이 지정된 객체를 저장할 수 있는 데이터 저장소 솔루션입니다. Datastore는 Kotlin 코루틴 및 Flow를 사용하여 비동기적이고 일관된 트랜잭션 방식으로 데이터를 저장합니다. + 프로토콜 버퍼에 대해 하단에 간단하게 설명 추가하였습니다! 위와 같이 DataStore를 정의하고 있습니다. 즉 키(key)와 값(value)을 사용하여 데이터를 저장하고 불러올 수 있는 기능을 수행할 수 있는 것입니다. key value data1 DataStoreTest123 data2 Test 예시로 data1 이라는 키를 사용하여 "DataStoreTest123" 이라는 값을 저장한 ..

Android Studio 2023.01.31

[Android] buildSrc, kotlin DSL 적용해보기 (1)

안드로이드 스튜디오에서 코드를 작성하면서, 많은 이들이 kotlin을 활용하고 있습니다. 그렇지만 특별한 설정 없이 안드로이드 스튜디오를 시작하면, build.gradle 에서는 kotlin을 사용할 수 없습니다. 이러한 것에 불편을 느낀 이들을 위해 나온 것이 DSL(Domain Specific Language, 도메인 특화 언어) 입니다. kotlin을 기반으로 사용하면 kotlin-DSL 이겠군요. 이를 통해 어색한 언어인 Groovy 말고 Kotlin 으로 Gradle(빌드 배포 도구) 스크립트를 작성해줄 수 있습니다! 이제 코드를 작성해보겠습니다 :) 1. 우선 Android가 아닌 Project로 이동합니다. 2. 그 후 최상단 파일에서 우측 클릭 후 - New - Directory 순서로 이..

Android Studio 2022.09.15

[Android] LiveData 란?

반응형(reactive) 프로그램이 현재 많은 각광을 받고 있습니다. 그렇다면 '반응형 프로그램' 이란 무슨 의미일까요? 데이터 갱신이 없으면 큰 반응이 없다가 데이터가 갱신이 되면, 그 갱신된 부분만 업데이트되는 것입니다. 이러한 반응형 프로그램을 사용함으로써, 자원을 좀 더 효율적으로 관리할 수 있게 됩니다. (변화가 있을 때만 변화를 캐치하여 자동으로 업데이트를 해주기 때문입니다! ) 이제 이러한 반응형 프로그램에서는 데이터 발행자와 구독자가 존재합니다. 문자그대로 이해를 해보자면, 발행자는 데이터를 던져줍니다(발행). 그리고 이 데이터를 받는 것(구독)이 구독자입니다. 즉, 데이터를 던져주면, 받는 것입니다. 이러한 형식으로 데이터가 전달이 됩니다. 이때 발행자는 subscriber. 구독자는 o..

Android Studio 2022.04.29

[Android] viewModels 사용하기

기존에 ViewModel 을 Activity / Fragment 에서 사용할 때, ViewModelProvider 를 사용하였습니다. ViewModelProvider은 추가적으로 코드들을 작성해주어야 합니다. 그렇지만 viewModels 를 사용하면 작성해야 하는 코드가 줄어든다는 이점이 있습니다. implementation 'androidx.activity:activity-ktx:1.4.0' implementation 'androidx.fragment:fragment-ktx:1.4.1' build.gradle(Module) 에 위의 코드들을 작성해줍니다. (첫 번째 줄의 코드는 activity, 두 번째 줄의 코든는 fragment에 적용할 때 사용이 됩니다.) 그 후에 private val todoV..

[Android] .gitignore 사용하기

우리들은 local에서 작업한 파일들을 github에 올립니다. github를 통해 우리는 협업을 진행하기도 하며, 내가 작업한 코드들을 저장할 수 있습니다. 이외에도 github를 사용하여 다양한 일을 할 수 있습니다. 하지만 local에서 작업한 내용물을 github에 올리는 과정에서 굳이 공개할 필요가 없거나, 공개해서는 안 되는 것들이 들어갈 수 있습니다. 이러한 불순물 같은 자료들이 github에 들어가게 된다면, 협업 과정에서 능률이 떨어질 뿐만 아니라, 보안과 관련된 파일이 노출되면 큰 피해가 발생할 수 있습니다. 이러한 현상들을 방지하기 위해서 .gitignore를 사용하게 되었습니다. .gitignore 에 올리고 싶지 않은 파일들을 입력하면 해당하는 파일은 github에 올라가지 않습니..

[Android] Retrofit이란?

Retrofit은 Android Studio에서 사용할 수 있는 서버와 클리이언트 간에 http 통신이 가능하게 도와주는 라이브러리입니다. HttpClient, Volley, OKhttp와 같은 통신을 위한 다양한 라이브러리 존재하였지만, 현재 가장 많이 쓰이는 것은 Retrofit입니다. 추가적으로 Retrofit은 OKhttp는 기반으로 하여 만든 것이 Retrofit입니다. 그렇기에 Retrofit에서도 OKhttp의 method를 사용하는 것이 가능합니다! OKhttp는 비동기작업(Async Task)이 수반되어야 합니다. 그렇지만 Retrofit은 비동기작업(Async Task) 없이 Background Thread의 실행이 가능합니다. 그 후 Callback을 통해 Main Thread에서 U..

Android Studio 2022.01.04