본문 바로가기

kotlin

Jetpack Compose 정리1. 기본 구성 Compose는 선언형 UI로, 기존의 xml을 사용하던 방식과는 다르다. Activity에 @Composable 어노테이션을 붙여 사용하고, 여러 Compose의 코드들로 UI를 구성할 수 있다. Compose를 사용했을 때의 장점은 코드 감소, 직관적, 빠른 개발 속도, 강력한 성능이라 할 수 있는데, 왜 이런 장점을 가지는지 공부하며 알아보자! @Composable fun MessageCard(msg: Message) { // Add padding around our message Row(modifier = Modifier.padding(all = 8.dp)) { Image( painter = painterResource(R.drawable.profile_picture), contentD.. 더보기
Delegate란? 대리자 (임시저장을 생활화하자.............................ㅠㅠㅠ) 대리자는 어떤 프로퍼티가 작업을 수행할 때, 다른 객체에게 위임하여 그 객체의 메서드가 실행되게 하는 것이다!! class Example { var p: String by Delegate() } class Delegate { operator fun getValue(thisRef: Any?, property: KProperty): String { return "$thisRef, thank you for delegating '${property.name}' to me!" } operator fun setValue(thisRef: Any?, property: KProperty, value: String) { println.. 더보기
[하톡시그널] Retrofit으로 Nest.js와 통신하는 과정에서 있던 일.. 배경 매칭 시스템을 이렇게 구현하기로 했다. 매칭하기 버튼 클릭 -> (POST) 매칭 대기열에 추가 -> 반복 (POST) 매칭 됐는지 확인 (0.1초마다 보냄) 이렇게 확인하는 POST 요청을 3개 클라이언트에서 계속 보낸다. 매칭이 완료됐을 때, 확인 요청을 한 각 클라이언트에게 ROOM 정보를 준다. 문제 1. POST Response로 받을 데이터를 data class로 만들어 뒀다. 그 구조는 아래와 같다. @Parcelize data class roomInfo( val user1: userData?, val user2: userData?, val user3: userData? ) : Parcelable @Parcelize data class userData( val Id: String?, v.. 더보기
[하톡시그널] Retrofit으로 서버와 연결하기 처음으로 안드로이드에서 서버와 연결하는 과정 이슈 1. http와 통신하기 현재 서버가 http로 올라가 있었는데, private val moshi = Moshi .Builder() .add(KotlinJsonAdapterFactory()) .build() private val retrofit = Retrofit .Builder() .addConverterFactory(MoshiConverterFactory.create(moshi)) .baseUrl(BASE_URL) .build() interface MatchingApiService{ @POST("/room/entrance") suspend fun StartMatch(@Body body: MatchingRequest): Response } object .. 더보기