전체 글 38

JetPack Compose 6편 : State

state란?compose는 기본적으로 아래와 같이 동작한다. state 변경 → 해당 Composable 함수 다시 실행 → 화면 다시 그림 (Recomposition) 기본적으로 Compose에서 어떠한 상태 값이 바뀌게 되면 재구성(Recomposition)이 일어나게 된다.여기서 재구성이란, 말 그대로 재 생성한다는 뜻이다. 예로 들어, a라는 값을 기본으로 가지고 있고 버튼을 누르면 b라는 값으로 변경되는 TextView가 있다고 가정해 보자.버튼을 누르게 되면 a라는 값이 b라는 값으로 상태 값이 바뀌게 되는데, 이때 재구성이 일어나게 되어 UI를 다시 그리게 된다.다시 그리게 되면 b라는 값을 가지게 되는게 아니라, 기본 값인 a가 나오게 되어 사용자가 원하는 동작이 이루어지지 않게 된다...

JetPack Compose 5편 : 텍스트 스타일링

컴포즈는 쓰레기인 xml과 다르게 텍스트 스타일링을 다채롭게 할 수 있다.우선 코드를 첨부하겠다. 폰트를 다운받아 적용하는 과정은 생략하겠다.class MainActivity : ComponentActivity() { @SuppressLint("InvalidColorHexValue") override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) enableEdgeToEdge() //xml은 setContentView val fontFamily = FontFamily( Font(R.font.lexend_thin, FontWeight..

JetPack Compose - 1

컴포즈를 한번 맛보고 싶어져서 유튜브에서 Phillip Lackner라는 유튜버를 찾아서 강의를 보면서 정리해보려고한당.package com.example.composecourseytimport android.os.Bundleimport androidx.activity.ComponentActivityimport androidx.activity.compose.setContentimport androidx.activity.enableEdgeToEdgeimport androidx.compose.foundation.layout.fillMaxSizeimport androidx.compose.foundation.layout.paddingimport androidx.compose.material3.Scaffoldim..

앱의 신분증 : Token과 인증

차후(이제 곧이겠다..) 백엔드 분들과 협업을 하게 된다면, 서버↔클라이언트 구조로 정보를 주고받게 될 것이다. 이를 대비하기 위해 공부한 걸 정리해 보자. 인터넷 통신에 사용되는 HTTP 프로토콜은 기본적으로 무상태(Stateless)이다. 즉, 서버는 클라이언트로부터 요청을 받을 때마다 이전 요청이나 클라이언트의 상태(로그인 여부)를 전혀 기억하지 못한다. 이로 인해, 사용자가 로그인을 한 후에도 서버에 정보를 송신할 때마다 "나 사용자 OOO이야!" 라고 신원을 매번 밝혀야 하는 비효율적인 문제가 생긴다. 이를 해결하기 위해 서버와 클라이언트가 '상태'를 공유할 수 있는 인증 방식이 필요하다. 가장 대표적인 인증 수단이라고 하면, ID나 PW가 있다. 그러나 이를 매번 보내는 것은 보안상 매우 위험..

Retrofit과 백엔드와의 연동

Retrofit 라이브러리를 사용해 서버와 api연동을 하는 법을 알아보자!! 1. API관련 설정 1. Module 수준 build.gradle에 아래의 의존성을 추가한다,// Retrofitimplementation("com.squareup.retrofit2:retrofit:2.9.0")implementation("com.squareup.retrofit2:converter-gson:2.9.0")implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.2")implementation("com.squareup.retrofit2:adapter-rxjava2:2.9.0")// okHttp - 실제로 HTTP 통신을 수행하는 네트워크 엔진imp..