본문 바로가기

분류 전체보기124

[Android] RoomDB //ROOMDB 이전에 RoomDB를 사용한 적이 있었지만 다시 한번 정리해보기로 한다 우선, 데이터 베이스란? 데이터를 어딘가에 쌓아두고 보관하며 필요할 때마다 추가하거나 조회, 수정, 삭제할 수 있는 장소가 필요 이것을 위한 요소가 데이터베이스다. 데이터 베이스를 깊게 들어갈 수야 있겠지만, 안드로이드 쪽에서 간단히 RoomDB를 정리하기로 한만큼 간단히 정리해보고자한다. 이미 안드로이드에서 RoomDB를 사용해서 간편하게 테이블을 구조화할 수 있고, 저장할 수 있으므로 자세한 데이터 베이스 설명은 생략! vs SharedPreference 우리는 이미 sharedPreference 라는 것을 사용해서 key value 형식으로 데이터를 저장해왔다. 이것은 데이터 베이스가 아닌가? 답은 '아니다'이다.. 2021. 11. 7.
정렬 알고리즘 정리 버블 정렬이란? 서로 인접한 두 원소를 검사하여 정렬하는 알고리즘 인접한 2개의 인덱스를 비교하여 크기가 순서대로 되어 있지 않으면 서로 교환한다. 선택 정렬과 기본 개념이 유사하다. 버블 정렬은 첫 번째 자료와 두 번째 자료를, 두 번째 자료와 세 번째 자료를, 세 번째와 네 번째를, … 이런 식으로 (마지막-1)번째 자료와 마지막 자료를 비교하여 교환하면서 자료를 정렬한다. 1회전을 수행하고 나면 가장 큰 자료가 맨 뒤로 이동하므로 2회전에서는 맨 끝에 있는 자료는 정렬에서 제외되고, 2회전을 수행하고 나면 끝에서 두 번째 자료까지는 정렬에서 제외된다. 이렇게 정렬을 1회전 수행할 때마다 정렬에서 제외되는 데이터가 하나씩 늘어난다. 위 과정이 마치 거품이 차오르는 것처럼 정렬이 된다고 하여 버블정렬이.. 2021. 10. 31.
Kotlin CustomCalendarView 구현 커스텀 캘린더뷰 구현 기존의 캘린더뷰는 디자인 퍼블리싱 하기 상당히 까다로운 면이 많다. 그래서 내 마음대로 디자인할 수 있는 캘린더뷰를 커스텀해보기로 한다. 캘린더 레이아웃 캘린더뷰의 가장큰 부모 레이아웃이 될 레이아웃이다. GridView에 동적으로 해당하는 달의 날짜가 들어가게 되고, 이렇게 GridView를 직접 만들어주기 때문에 디자인 퍼블리싱 하기에 간편하다. GridView의 내부 아이템 레이아웃 package com.example.customcalendar import android.annotation.SuppressLint import android.content.Context import android.util.AttributeSet import android.util.Log impor.. 2021. 10. 10.
RecyclerView. No adapter attached; skipping layout 오류에 관하여 리사이클러뷰를 쓰다보면 해당 오류로 인해 화면이 안나오는 경우를 수도 없이 겪는다 이때, checkList 1. 뷰바인딩 했을때, setcontentView(binding.root)로 되어있는지 확인하자. 기본값인 R.layout.~로 되어있다면 어답터가 붙지 않는다! 오류 문구가 뜨는 것도 아니기 때문에 매우 찾기 힘든 오류! 2. setAdapter를 하지 않았을 수도 있다. 3. 레이아웃 매니저를 설정하지 않았다. 리니어든, 그리드든 레이아웃 매니저를 설정해 주세요. RecyclerView는 레이아웃 메니저가 있어야 데이터 렌더링이 시작된다! 4. 어댑터에서 자동 생성되는 함수 중에 getItemCount 가 있죠. 간혹 자동생성된 채로 0이 리턴되거나 문법이 잘못되면, 아무 아이템도 추가되지 않아.. 2021. 10. 2.