반응형

Android 38

Room

Room 을 사용하면 SQLite를 활용하면서 원활한 데이터베이스 액세스가 가능하도록 SQLite의 추상화 계층을 제공한다. 추상화 ? 복잡한 시스템을 단순화하고 중요한 정보만을 노출하여 불필요한 세부 사항을 감추는 방법데이터 추상화: 데이터 구조와 관련된 복잡성을 숨기고 데이터를 처리하는 방법을 정의합니다. 예를 들어, 객체 지향 프로그래밍에서 클래스는 데이터 추상화의 한 형태입니다. 클래스는 데이터(속성)와 데이터를 처리하는 메서드(함수)를 포함하며, 외부에서는 이 클래스의 내부 구현 세부 사항을 알 필요 없이 클래스의 인터페이스(메서드)를 통해 상호작용할 수 있습니다.제어 추상화: 특정 작업을 수행하는데 필요한 제어 흐름을 단순화합니다. 예를 들어, 함수를 사용하여 특정 작업을 수행하는 코드를 함수..

Android 2024.06.04

코루틴

스레드 (Thread) 스레드는 프로그램 범위 내에서 예약하고 실행할 수 있는 코드의 최소 단위.. 멀티스레딩을 지원함으로써 사용자에게 원활한 실행을 제공한다. 하지만 한정된 시간안에 UI를 준비하고 그려야하는데 이것이 복잡해지면 앱이 멈춰버린다. 또한 여러 스레드가 동시에 메모리의 동일한 값에 액세스하려고 할 때 경합 상태가 발생할 수 있다. 그래서 스레드를 직접 사용하는 것을 권장하지 않는다. 코틀린 코루틴(Kotlin Coroutine)  백그라운드 작업을 위한 스레드를 만들고 사용하는 것은 android에서 이루어지지만 코틀린은 동시 실행을 더 유연하고 쉽게 관리할 수 있는 코루틴도 제공한다.  코루틴 기능1. 상태를 저장하여 중단했다가 재개할 수 있음2. 코루틴은 실행되거나 실행되지 않을 수 있..

Android 2024.05.24

동기 / 비동기

동기(synchronous)동기 작업은 연산이 완료될 때까지 해당 작업을 호출한 스레드가 기다리는 방식이다. 즉, 작업이 완료될 때까지 다음 작업이 시작되지 않는다. 안드로이드에서는 주로 UI 스레드(Main Thread)에서 실행된다. 동기 작업의 예로는 파일 읽기/쓰기, 네트워크 요청 등을 들 수 있다.특징:블로킹(Blocking): 작업이 완료될 때까지 다른 작업을 차단한다.직관적: 코드가 순차적으로 실행되므로 이해하기 쉽다.잠재적 성능 문제: 긴 시간이 걸리는 작업(예: 네트워크 요청)을 UI 스레드에서 동기적으로 실행하면 애플리케이션이 응답하지 않을 수 있다. 비동기(asynchronous)비동기 작업은 작업을 요청한 후 그 결과를 기다리지 않고, 다른 작업을 계속해서 수행하는 방식이다. 작업이..

Android 2024.05.20

Json / 직렬화 / 역직렬화

serialization : 직렬화 객체를 json 포맷으로 바꾼다 => 직렬 json 데이터를 받아올 때, 객체로 변환해야 한다. => 역직렬화 Gson -> Java 100%https://github.com/google/gson GitHub - google/gson: A Java serialization/deserialization library to convert Java Objects into JSON and backA Java serialization/deserialization library to convert Java Objects into JSON and back - google/gsongithub.com dependencies { implementation 'com.google.code..

Android 2024.05.16

Android 리사이클러뷰

https://developer.android.com/develop/ui/views/layout/recyclerview?hl=ko RecyclerView로 동적 목록 만들기  |  Views  |  Android Developers이 페이지는 Cloud Translation API를 통해 번역되었습니다. 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. RecyclerView로 동적 목록 만들기   Android Jetpack의 구성요developer.android.com https://gift123.tistory.com/67 안드로이드 개발 (34) RecyclerView 성능 향상Android 개발을 하다보면 불가피 하게 RecyclerView를 사용해야 하는 순간이 대부..

Android 2024.05.06

[삽질][Kotlin] Android Studio Google Social Login

플젝에서 공유 기능을 넣는다하여 소셜로그인이 필요하게 되었다. 프론트 팀원과 나 모두 처음이었기 때문에 서로 시도해보고 취합하기로 했는데 새벽에 오기가 발동해 혼자서 다 해버렸다. https://www.youtube.com/watch?v=H_maapn4Q3Q https://visualandroidblog.blogspot.com/2023/04/google-sign-in-firebase-android-kotlin-tutorial.html Step-by-Step Guide: Google Sign-In with Firebase in Android Studio Using Kotlin Securely implement Google Sign-In with Firebase in Android Studio using K..

Android 2024.04.07

Layout / View

View? 화면을 구성하는 모든 기본 화면의 구성 요소 Layout? - 뷰 중 눈에 보이지 않는 것들 - 뷰 중 눈에 보이는 것들 -> widget View의 기본 속성 - id : 뷰의 식별자 속성 - layout_width, layout_height : 뷰의 크기 지정(wrap_content, match_parent) wrap_content = 콘텐츠 크기에 맞추기 match_parent = 부모뷰에 맞추기 1. LinearLayout - 가로 또는 세로 단일 방향으로 모든 요소를 정렬하는 레이아웃 2. RelativeLayout - View끼리의 상대적 위치로 배치를 적용하는 Layout 3. Constraint Layout - 상대적 위치 관계에 따른 배치를 할 수 있다. - 다른거 거의 안쓰고..

Android 2024.04.02