728x90 반응형 분류 전체보기319 Array & Dynamic Array & Linked List 란? 차이점 Array이란? Array는 연관된 Data를 메모리상에 연속적이며 순차적으로 미리 할당된 크기만큼 저장하는 자료구조이다. Array의 특징 고정된 저장 공간(fixed-size) 순차적인 데이터 저장(order) Array의 장점은 lookup과 append가 빠르다는 것이다. 즉, 조회를 자주 해야되는 작업에서는 Array 자료구조를 많이 쓴다. Array 시간복잡도 Array access O(1) append O(1) 마지막 원소 delete O(1) insertion O(n) deletion O(n) search O(n) 예상한 Array의 size보다 더 많은 수의 data를 저장하게 될 때, 해결 방법은? 기존 size보다 더 큰 Array를 선언하여 데이터를 옮겨 할당한다. 모든 데이터를 옮.. 2023. 5. 22. [안드로이드] Jetpack의 ViewModel이란? (사용법 예제) 오늘 알아볼 ViewModel은 Android JetPack의 구성요소 중 하나이다. ViewModel은 소프트웨어 개발 디자인 패턴 중 하나인 MVVM(Model-View-ViewModel) 디자인 패턴으로부터 파생되었다. MVVM의 관점에서 부르는 ViewModel과 Android Jetpack에 포함된 ViewModel클래스를 구분하기 위해 Android Jetpack에 포함된 ViewModel을 Android Architecture ViewModel의 약자인 AAC ViewModel이라고도 부른다. ViewModel 이란? Activity와 fragment와 같은 UI 컨트롤러의 로직에서 데이터를 다루는 로직을 분리하기 위해 등장한 Android JetPack 라이브러리이다. 왜 UI 컨트롤러와 .. 2023. 5. 22. [안드로이드] JetPack의 LiveData란? LiveData 란? LiveData는 Data의 변경을 관찰할 수있는 Data Holder 클래스이다. LiveData는 안드로이드 생명주기(LifeCycle)을 알고 있다. 즉, Activity, Frgment, Service 등과 같은 안드로이드 컴포넌트의 생명주기(Lifecycle)를 인식하며 그에 따라 LiveData는 활성 상태일 때만 데이터를 업데이트 한다. 활성 상태란 Started 또는 Resumed를 의미한다. 비활동 상태일 땐, LiveData는 데이터의 변화를 알리지 않다. Destoryed 된 상태의 lifecycle 에서는 LiveData 객체를 Observe하지 않는다. LiveData 객체는 Observer 객체와 함께 사용된다. LiveData가 가지고 있는 데이터에 변화가.. 2023. 5. 22. [안드로이드] Jetpack의 Room DB이란? (사용법 예제) Room DB란? Room은 안드로이드 앱의 내장 DB에 데이터를 저장하기 위해 사용된다. Jetpack 라이브러리 중 하나로 DB 데이터를 Java/Kotlin으로 변환하는 ORM 라이브러리이다. Room은 SQLite의 추상 레이어 위에 제공하고 있으며, SQLite의 모든 기능을 제공하여 편한 데이터베이스 접근을 허용한다. LiveData나 RxJava와 같이 Observation 형태도 지원하므로 아키텍쳐 패턴에도 적용이 매우 쉽다. SharedPreferences와 차이 SharedPreferences도 앱의 로컬에 데이터를 저장할 수 있지만, 가벼운 데이터를저장할 목적으로 로컬 DB를 사용한다. 예를들어, 서버와 통신할 때 쓸 String형 access_token을 저장할 때 Room DB는 .. 2023. 5. 17. 이전 1 ··· 76 77 78 79 80 다음 728x90 반응형