전체 글
[Kotlin/Basic] 코틀린에서의 다양한 함수
1. 확장함수 자바로 만들어진 라이브러리를 유지보수, 확장할 때 코틀린을 붙이고 싶을 때, 함수의 코드 자체는 밖에 있는데, 안에 있는 것처럼 쓰고 싶을 때 사용한다. 예시) fun String.lastChar() : Char { return this[this.length-1] } fun main(){ val str = "ABC" println(str.lastChar()) } String.lastChar() 함수가 확장함수이다. String클래스를 확장하기 때문에 String.을 붙여주고, this를 통해 인스턴스에 접근이 가능하다. this를 수신객체, String클래스를 수신객체타입이라고 부른다. 이렇게 한다면 main에서 멤버함수인 것처럼 사용할 수 있다. 위의 예시처럼 원래 String에 있는 멤..
[Compose] Image, Card, State
Compose 전 글에서 포스팅 했던 내용중에 Box태그가 있었다. 이번 글에서는 위와 같은 뷰를 카드 뷰 안에 Box태그를 두개 넣어 image와 하트 아이콘을 넣어보자! setContent { var isFavorite by rememberSaveable{ //remember가 기억을 해주는 형태 mutableStateOf(false) } //이미지 카드를 여러 개 사용하고, 재사용할 수 있음 ImageCard( modifier = Modifier .fillMaxWidth(0.5f) .padding(16.dp), isFavorite = isFavorite ){ favorite -> isFavorite = favorite //값을 갱신함 } } @Composable fun ImageCard( modif..
[JETPACK개론] WorkManager(4) + 작업진행률 관찰
WorkManager는 앞서 포스팅했던 내용 이외에도 getWorkInfoByLiveData메소드 중 하나를 사용하여 현재 작업 진행률 정보를 관찰할 수도 있다. CoroutineWorker 객체의 setProgress함수를 사용하여 진행률 정보를 업데이트 할 수 있다. 공식문서를 봐도 getWorkInfoBy..() 또는 getWorkInfoByLiveData() 메소드 중 하나를 사용하여 정보를 관찰할 수 있고 이 메소드는 Data를 반환하는 새 getProgress() 메소드가 있는 WorkInfo의 인스턴스를 반환한다고 나와있다!! 다음 예시를 살펴보자! class WorkManagerTest(context : Context, params : WorkerParameters) : CoroutineW..
[Android/파고들기] 2화 Android Architecture Components(AAC)
파고들기의 제 2화!! 두 번째 이야기! Android Architecture Components(AAC)에 대해서 다뤄보자. 안드로이드 개발을 하다보면 AAC라는 키워드를 자주 보게 된다. 기업들의 채용공고들을 보면 MVVM, AAC에 대한 이해 및 서비스 적용 및 경험이 있는 분을 모집한다는 글도 자주 볼 수 있다. 안드로이드 공식문서를 살펴보면 다음과 같은 안드로이드 앱 아키텍쳐 패턴으로 개발하기를 권장하고 있다. 위와 같이 Android Architecture Components를 활용하여 관심사를 분리하고 개발하기를 권장하고 있다. 안드로이드는 여러 컴포넌트들이 있고, 생명주기가 다르게 얽혀있어 앱을 만들기 위해서는 위와 같은 컴포넌트들을 연결해주어야 하는데 이는 개발자의 역량에 따라서 달라질 ..
[Project] 플렙업(Plogging Level Up) 회고
[진행 기간] 2022.07 ~ 2022.09 [인원] 안드로이드 개발자 : 5명 백엔드 개발자 : 4명 디자이너 : 2명 [역할] PM, 서비스 기획, 안드로이드 개발 [회고] 트러버라는 프로젝트를 마무리하면서 아쉬웠던 점이 많았다. MVVM패턴을 적용하고 싶었으나 그러지 못했고, 기술스택이 조금 부족하여 다른 젯팩에 있는 기능들을 쓰지 못했었다. 따라서 하나의 프로젝트를 내가 기획하여 한 번 더 하고싶다는 생각이 들었다. 따라서 디자이너와 협업하여 서비스 기획을 시작했다. 약 3주간 회의 끝에 플렙업 이라는 서비스를 출시하는 것으로 정했다. 플렙업은 플로깅을 하는 사람들에게 퀘스트를 제공하여 플로깅에 재미를 더해주는 앱 서비스이다. 각각의 퀘스트가 제공되며 퀘스트를 완료했을 때 성장 일지와 글을 작성..