전체 글(368)
-
[Android/Gradle]Gradle에서 APK 생성 타입 설정하기
Gradle에서 APK 생성 타입 설정하기 회사에서 apk를 추출하는데 자동으로 이름이 생성이 되고, 직접 폴더를 만들어 그 폴더에도 저장이 된다. gradle에 해당 코드가 있었고, 찾아보니 gradle을 통해 설정할 수 있는 기능이었다. 1. apk 생성 시 빌드타입, 날짜, 버전명 자동 기입 build.gradle (:app) android { ... buildTypes { ... applicationVariants.all { variant -> variant.outputs.all { def name = parent.project.getName() def buildType = variant.buildType.name def versionName = variant.versionName outputFi..
2023.02.24 -
[Android/Basic]BaseActivity
BaseActivity란? 여러 Activity를 사용할 때 중복되는 코드를 미리 정의하여 필요한 코드만 구현하도록 사용하는 기본 액티비티 T: ViewDataBinding , R: BaseViewModel => 코드의 중복을 줄이고 가독성 강화 AppCompatActivity란? setSupportActionBar(Toolbar) API를 사용하여 action item, navigation mode 등을 포함하는 action bar를 지원 Theme.AppCompat.DayNight 테마를 사용하며 AppCompatDelegate.setDefaultNightMode(int) API를 사용하여 다크 모드를 지원 getDrawerToggleDelegate() API를 사용하여 DrawerLayout과 통합
2023.02.24 -
[Android/Jetpack]ViewModel + Databinding + LiveData
구현을 위한 이전글 [프로그래밍]MVVM 패턴 MVVM패턴이란? View - ViewModel - Model View: 사용자에게 보이는 화면 ViewModel: View를 표현하기 위해 만든 View를 위한 Model && View를 나타내주기 위한 데이터 처리 담당 Model: 어플에서 사용되는 데이터 및 anovice-dp.tistory.com [Android/Jetpack]Databinding 사용하기 (1) 기본 세팅 build.gradle (java는 아래 코드만 추가) android { ... dataBinding { enabled = true } ... } build.gradle (kotlin의 경우, 아래 코드도 추가) apply plugin: 'kotlin-kapt' ... depend..
2023.02.24 -
[Android/Jetpack]LiveData
LiveData란? 식별 가능한 데이터 홀더 클래스. 스스로 수명주기를 인식함 Data의 변경을 관찰할 수 있는 Data Holder 클래스 UI와 데이터 상태의 일치 보장 메모리 누출이 없음 비정상 종료가 없음 수명주기를 자동으로 관리 최신의 데이터 유지 기기회전 등 프래그먼트나 액티비티가 재생성되어도 데이터의 변화가 없음 ViewModel과 함께해야 효과가 커짐 ViewModel 안에 있는 LiveData 객체를 DataBinding을 통해 UI에서 관찰만 할 수 있도록 만들면 액티비티나 프래그먼트에서 일일히 데이터를 갱신할 필요 없이 알아서 UI에 최신 데이터가 보이게 될 것 Observable과 다르게 LifeCycle을 알고있음 → 활성(active:STARTED/RESUMED)상태일 때만 데이..
2023.02.24 -
MVVM 패턴
MVVM패턴이란? View - ViewModel - Model View: 사용자에게 보이는 화면 ViewModel: View를 표현하기 위해 만든 View를 위한 Model && View를 나타내주기 위한 데이터 처리 담당 Model: 어플에서 사용되는 데이터 및 데이터 조작 부분 (ex. 서버에서 들어오는 데이터) 동작순서 사용자의 Action이 View를 통해 들어옴 Command 패턴을 이용해 ViewModel에 Action을 전달 ViewModel이 Model에서 데이터를 요청하고, Model은 ViewModel에서 요청받은 데이터를 전달 ViewModel은 응답받은 데이터를 가공 및 저장 View는 ViewModel과의 Data Binding을 이용해 화면 갱신 특징 View와 Model 사이 ..
2023.02.24 -
[Android/Jetpack]Databinding 사용하기
(1) 기본 세팅 build.gradle (java는 아래 코드만 추가) android { ... dataBinding { enabled = true } ... } build.gradle (kotlin의 경우, 아래 코드도 추가) apply plugin: 'kotlin-kapt' ... dependencies { ... // 버전은 본인 gradle 버전으로 작성 kapt 'com.android.databinding:compiler:3.5.3' ... } (2) xml 수정 activity_main.xml ... 기존 xml 태그 최상위에 이라는 태그로 전체를 감싸줌 태그 안에는 xml에서 사용할 변수들을 태그를 이용해 작성해줌 (3) kotlin 파일 수정 MainActivity.kt private l..
2023.02.24