일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Rxjava Observable
- android ar 개발
- 안드로이드 유닛테스트란
- 자바 다형성
- jvm이란
- 스택 자바 코드
- 2022 플러터 설치
- 2022 플러터 안드로이드 스튜디오
- 스택 큐 차이
- 안드로이드 레트로핏 사용법
- jvm 작동 원리
- rxjava cold observable
- 안드로이드 유닛 테스트 예시
- 안드로이드 레트로핏 crud
- android retrofit login
- 안드로이드 라이선스
- rxjava disposable
- 서비스 vs 쓰레드
- 안드로이드 유닛 테스트
- 클래스
- rxjava hot observable
- ANR이란
- 안드로이드 os 구조
- 서비스 쓰레드 차이
- 플러터 설치 2022
- 멤버변수
- 객체
- 안드로이드 라이선스 종류
- ar vr 차이
- 큐 자바 코드
- Today
- Total
목록2024/12 (10)
나만을 위한 블로그
2024년은 다니던 회사를 그만두고 이직 기간을 거쳐서, 새 도메인을 다루는 회사에 입사해 안드로이드 네이티브 개발에 주력하게 된 해였다. 다니던 회사를 그만두다 개인적으로 생각하는 하이브리드 앱의 치명적인 단점은 '노잼'이다.작업들이 정말 재미없다. UI를 그리는 것도 아니고 기능은 구현하지만 온전히 내가 구현 중이라고 느끼기가 어려웠고 그냥 데이터 교통정리만 하는 느낌이 들어서 정말 재미없었다. 브릿지 깔짝, 딥링크 깔짝, 가끔 있는 네이티브 기능 유지보수가 전부였다.그러나 MVP에서 MVVM으로 변경하는 경험, 신규 기능 개발 시 단위 테스트를 도입해서 TDD 비스무리한 경험, CI/CD 환경을 내 손으로 구축하는 경험은 쌓을 수 있어서 이 부분만은 재밌었다. 처음 도전하는 웹뷰에 대해 알아가고 브..
※ 모든 코드는 예시 코드기 때문에 실제로 사용하려면 반드시 리팩토링 후 사용한다※ 컴포즈 안 쓴다 몇 차례에 걸쳐 실제 api를 사용하는 간단한 멀티 모듈 안드 프로젝트를 만드는 과정을 포스팅하려고 한다. 사용할 라이브러리는 제목에 써둔 것들 정도다.예제 프로젝트기 때문에 최대한 가볍게 구성했다. 절대 귀찮아서 이렇게 만든 게 아니다 어디까지나 이런 식으로 멀티 모듈 형태와 클린 아키텍처로 짤 수 있다는 걸 보여주기 위한 시리즈다. 이 포스팅은 아래 포스팅을 바탕으로 진행한다. https://onlyfor-me-blog.tistory.com/1052 [Android] 멀티 모듈 프로젝트 구성하고 hilt 적용하기지금까지 app 모듈 안에 data, domain, presentation 폴더를 만들고 그..
이 포스팅에선 Compose를 사용해 리스트뷰를 만들고 아이템을 선택하면 체크상태를 변경해 표시하는 예제를 확인한다. 전체 코드는 아래 영상을 참고했다. https://www.youtube.com/watch?v=pvNcJXprrKM 전체 코드는 아래와 같다. import androidx.compose.foundation.clickableimport androidx.compose.foundation.layout.Arrangementimport androidx.compose.foundation.layout.Rowimport androidx.compose.foundation.layout.fillMaxSizeimport androidx.compose.foundation.layout.fillMaxWidthimpo..
※ 모든 코드는 예제기 때문에 실제로 사용하려면 리팩토링, 예외처리를 추가한다 ※ 서버 통신 없이 앱에 저장된 이미지를 사용해 구현했다 이번엔 컴포즈를 사용해서 정해진 이미지들을 계속해서 표시하는 무한 캐러셀 예제를 확인한다.실행하면 아래처럼 작동한다. 코드는 아래와 같다. import androidx.compose.foundation.Imageimport androidx.compose.foundation.layout.fillMaxSizeimport androidx.compose.foundation.lazy.LazyRowimport androidx.compose.foundation.lazy.itemsimport androidx.compose.foundation.lazy.rememberLazyListSt..
※ 모든 코드는 예시 코드기 때문에 실제로 쓰려면 반드시 리팩토링, 예외처리를 추가한다 위치 정보를 활용하는 기능 구현 중 액티비티, 프래그먼트 곳곳에 위치 권한을 요청하고 허용, 거절 상태에 따라 분기되는 함수가 보였다.Base 클래스에 빼자니 필요없는 화면도 있어서 아닌 거 같고, 뷰모델에 박아두고 쓰자니 자유롭게 재사용할 수 없는 느낌이라 아닌 거 같아서 이리저리 시험해보다 괜찮아 보이는 방법을 찾은 것 같아 포스팅한다. 코드부터 본다. import android.Manifestimport android.content.Contextimport android.content.pm.PackageManagerimport androidx.core.app.ActivityCompatimport com.googl..
기본 포트 변경 현재 프로젝트를 실행하면 8080 포트로 접근할 수 있다. 이 포트 번호를 바꾸려면 아래처럼 하면 된다.먼저 Application.kt 파일을 열어서 아래처럼 수정한다. import com.example.plugins.*import io.ktor.server.application.*import io.ktor.server.engine.*import io.ktor.server.netty.*fun main() { val env = applicationEngineEnvironment { envConfig() } embeddedServer(Netty, env).start(true)}fun ApplicationEngineEnvironmentBuilder.envConfig..
오래 전 자바로 StringBuilder를 쓰는 법에 대해 포스팅했었다. 감사하게도 이 글에 도움을 받은 분들이 많았던 듯하다.틈날 때마다 자바로 썼던 게시글들을 코틀린으로 다시 쓰는 나만의 작은 프로젝트를 진행하려는데, 그 시작으로 StringBuilder부터 시작해 보려고 한다. 먼저 자바에선 아래처럼 사용했었다. public class Main { public static void main(String[] args) { StringBuilder stringBuilder = new StringBuilder(); stringBuilder.append("문자열 ").append("연결");// String str = stringBuilder; // Strin..
※ 모든 코드는 예시 코드기 때문에 실제로 사용하려면 반드시 리팩토링하고 프로젝트에 맞는 예외처리를 추가해야 한다 이 포스팅은 아래의 영상을 바탕으로 작성했다. https://www.youtube.com/watch?v=Q0Njj-rfEXE 이미지 압축은 구글링해 보면 다양한 방법으로 구현할 수 있다. 아래 코드도 그 예시 중 하나일 뿐이니 이렇게도 구현할 수 있다 치고 넘어가면 좋을 듯하다.먼저 이미지 압축을 담당하는 ImageCompressor의 구현은 아래와 같다. import android.content.Contextimport android.graphics.Bitmapimport android.graphics.BitmapFactoryimport android.net.Uriimport android..
이전 포스팅에서 공유 요소 전환 구현에 사용한 코드에 쓰인 개념들을 확인한다.먼저 SharedTransitionLayout부터 확인한다. https://developer.android.com/reference/kotlin/androidx/compose/animation/package-summary#SharedTransitionLayout(androidx.compose.ui.Modifier,kotlin.Function1) androidx.compose.animation | Android Developersandroidx.appsearch.builtintypes.propertiesdeveloper.android.com@ExperimentalSharedTransitionApi@Composablefun Sh..
※ 공유 요소 전환은 컴포즈 1.7.0부터 사용할 수 있으며 아직 실험 단계라 추후 변경될 수 있음에 주의한다 이 포스팅에서 확인할 것은 안드로이드 디벨로퍼를 바탕으로 공유 요소 전환을 컴포즈로 어떻게 구현하는지다. 공유 요소 전환이란 이름은 생소하지만 앱을 쓰다 보면 한 번쯤은 어디서 봤을 법한 것이다. https://developer.android.com/develop/ui/compose/animation/shared-elements?hl=ko 연락처 리사이클러뷰에서 아이템을 클릭하면 연락처의 사진이 위로 이동하면서 다음 화면으로 이동한다. 플러터를 해 봤다면 Hero 애니메이션과 유사하게 작동하는 걸 알 것이다.이것을 컴포즈로 어떻게 구현할까? 이와 관련한 공식문서가 존재한다. https://dev..