일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- DB 기능
- Activirty
- 최댓값 최솟값
- 성빈랜드
- 브론즈 1
- 백준
- Android
- 개발하는 정대리
- 데이터베이스 첫걸음
- DB
- 브론즈1
- LazyColumn
- keystore
- Myungpyo Shim
- compose
- 실버2
- navigation component
- capitalize
- 피보나치 수 2
- 실버 4
- 데이터베이스
- github action
- gradlew
- 프로그래머스
- 2레벨
- Bitrise
- suspend programming
- kotlin
- LazyRow
- .github
- Today
- Total
목록전체 글 (47)
plzy의 개발 블로그
여러분은 작년까지만 해도 xml ui를 많이 짜왔을 것입니다. 지금 취업 우대사항을 보면 compose 활용능력이 있는걸 볼 수 있는데, 과연 compose란 무엇인지 살펴보도록 합니다. Compose 란 기존의 UI 문제점을 해결하기 위해 등장했습니다. 기존에는 만약 버튼이 재활용될려면 XML을 만들고 커스텀뷰 속성 선언 뒤 코틀린 혹은 자바로 코드를 작성해야하는 불필요한 작업을 했었습니다. 이러한 과정은 너무 귀찮기 때문에 compose 즉 선언형 UI 가 등장했습니다. 기존의 코드에는 textView.text="Hello World" 명령하듯이, 써내려가는 방식입니다. 그래서 명령형 UI 라고 부릅니다. 선언적 UI는 Text("hello world") 선언하듯이 코드를 써내려가는 방식입니다. 그래..
Android 에서 navigation 공부할 때 backStack을 관리하고 싶을 때가 있다. 이때 방법이 navigateUp 과 popBackStack으로 나누어서 사용할 수 있는데, 둘이 무슨 차이인지 알아보자! 먼저 navigateUp은 상단의 back button을 의미한다. popBackStack 은 하단의 back button을 의미한다. `
error: [ComponentProcessor:MiscError] dagger.internal.codegen.ComponentProcessor was unable to process this class because not all of its dependencies could be resolved. Check for compilation errors or a circular dependency with generated code dagger-hilt 에러이다. 나는 이 에러를 4일 동안 해결하지 못했다가 해결했다. 내가 시도했던 방법은 - app 수준에 있는 이걸 지웠고 configurations { implementation.exclude group: 'org.jetbrains', module: 'a..
Android Studio 의 kotlin Version과 implement한 kotlin Version 이 다른지 확인해보자. 만약 다르다면 같게 해주면 해결된다
Android 공부를 하는 사람은 알겠지만, Android는 라이프사이클 즉 수명주기를 가지고 있다. 앱이 켜지는 그 순간부터 끄는 그 순간을 주기로 나타내는 것인데, 각각의 상황속에서 해야할 코드를 작성해야한다. Activity의 라이프사이클을 살펴보자 oCcreate oncreate는 처음으로 activity 가 생성될때 나타난다. 이 메소드에서는 viewModel, dataBinding or viewBinding을 연결한다. onStart oncreate 다음에 나타는 주기이다. activity가 시작되기 전에 실행된다. 예를들어 로그인을 한다고 칠 때 만약 로그인이 되어있으면 메인화면으로 넘어가게 할때 사용된다. onResume 이제 액티비티가 실행되고 동작하기 바로 직전에 실행된다. 보통 임시저..
싱글턴 패턴이란 무엇일까 ? (Singleton patton) 싱글턴 패턴 : 인스턴스를 하나만 만들어 사용하기 위한 패턴이다. 싱글턴 패턴 왜 사용하는 걸까 ? 인스턴스를 너무 많이 만들면, 불피료한 자원 메모리가 많아진다. 고정된 메모리 영역을 막으면서 한번의 new로 인스턴스를 사용하기 때문에 메모리를 낭비 할 수 있다. 싱글톤으로 만들어진 클래스의 인스턴스는 전역 인스턴스 이기 때문에 다른 클래스의 인스턴스들이 데이터를 공유하기가 쉽다. DBCP(DataBase Connection Pool) 싱글턴이 나온 이유이기도 하지만, 인스턴스가 절대적으로 한개만 존재하는 것을 보증하고 싶을 경우, 싱글턴을 쓴다. 싱글턴 패턴을 두 번째 이용시부터는 객체 로딩 시간이 현저하게 줄어들어 성능이 좋아진다. 싱글..
MVVM 패턴이란 무엇인가? 😀 MVVM 이란 View, ViewModel, Model 이 결합된 형태로, 각각의 역할을 분리하여, 가독성과 재사용성을 높인 디자인 패턴이다. 기존의 패턴들은 어떠한 문제점이 있었길래 이러한 패턴이 등장이 했을까? MVC와 MVVM의 차이점.. MVC 패턴 같은 경우에는 Controller에 너무 집중되어 코드가 무거워 진다는 단점이 있다. 이러한 단점은 유지보수 하기 힘들고, 코드를 보기 어렵다. MVVM 패턴을 왜 공부해야 할까? 🙄 필자의 경험으로 View 안에 모든 소스코드를 넣었다. 그러다 보니 View에 코드가 집중되고, 다른사람이 보기 코드보기가 너무 어려웠다. 이러다 보니 디자이 패턴 의 필요성을 알게 되었고, 현재 Android 공식문서에 있는 MVVM 패..
ViewPager2 어떻게 써야할까? 뷰페이저란 데이터를 페이지 단위로 표시하고, 좌/우 뒤집기(flip)을 통해 페이지를 전환할 수 있도록 만들어주는 컨테이너 이다. 어떻게 써야하는지 알아보도록 하자. 먼저 build.grade에 추가해야한다. dependencies { implementation("androidx.viewpager2:viewpager2:1.0.0") } 그다음 2개의 xml를 추가해야한다. 첫번쩨 xml 은 viewPager의 부모가 되는 xml 이고 두번째 xml은 viewPager의 자식이 되는 xml 이다. activity_main_view_pager.xml activity_pager_item의 xml --알아둬야 할것-- ViewPager에서 ViewPager2로 바뀐점은 Re..