일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 개발하는 정대리
- 2레벨
- 브론즈 1
- LazyColumn
- compose
- Activirty
- 성빈랜드
- navigation component
- suspend programming
- 실버 4
- kotlin
- github action
- 피보나치 수 2
- 백준
- Bitrise
- LazyRow
- .github
- DB 기능
- gradlew
- 실버2
- 데이터베이스
- capitalize
- 최댓값 최솟값
- 프로그래머스
- Android
- 데이터베이스 첫걸음
- Myungpyo Shim
- keystore
- 브론즈1
- DB
- Today
- Total
목록Android (16)
plzy의 개발 블로그
KeyStore 비밀번호나, 찾지못했을 때 해결방법이다. 먼저 AndroidStudio에 들어간다. 그다음 Build -> Generate Signed Bundle or APK에 들어간다. 여기까지 잘 따라 왔으면 Android App Bundle 에 들간다. 그러면 이와같은 창이 뜰 것이다. 먼저 Key store path를 지정해줘야한다. CREATE NEW를 누르고 오른쪽 파일 모양을 클릭한다. 그러면 위치를 지정할 수 있는데, 지정해주고 싶은 곳을 지정해주고 File name을 적은다. Password는 잃어버리면 다시만들어야하는 대참사가 일어나기 때문에 꼭 기억해줘야 한다. Alias는 KeyStore의 이름을 적는 곳이다. 필자는 자신이 만들고 있는 앱의 이름으로 했다. 그다음 Country ..
여러분은 작년까지만 해도 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을 의미한다. `
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..
안녕하세요,오늘 안드로이드 에 쓰이는 데이터베이스 중, Room 에 대해 설명해 드리려고 합니다. Room 이란 Android 에서 권장하는 NoSQl문으로 Sqllite 대신 Room 쓰는 것을 권장하고 있습니다 Room 에 대해 간략히 설명해드리면 User 데이터베이스 테이블을 담고 있습니다. UserDao 쿼리를 쓸 수 있는 곳입니다. AppDatabase 데이터베이스 객체를 담고 있는 곳입니다. Room 을 사용하려면 먼저 build.gradle 에 추가할 것이 몇 가지 있는데요 dependencies { def room_version = "2.2.6" implementation "androidx.room:room-runtime:$room_version" kapt "androidx.room:roo..