일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- android ar 개발
- 큐 자바 코드
- 안드로이드 유닛 테스트
- rxjava disposable
- 2022 플러터 설치
- 2022 플러터 안드로이드 스튜디오
- 플러터 설치 2022
- ar vr 차이
- 안드로이드 레트로핏 crud
- 스택 자바 코드
- Rxjava Observable
- ANR이란
- 안드로이드 유닛 테스트 예시
- jvm 작동 원리
- 객체
- 안드로이드 os 구조
- jvm이란
- 멤버변수
- 안드로이드 라이선스 종류
- 스택 큐 차이
- 안드로이드 레트로핏 사용법
- android retrofit login
- rxjava cold observable
- 서비스 쓰레드 차이
- 서비스 vs 쓰레드
- 자바 다형성
- 클래스
- rxjava hot observable
- 안드로이드 유닛테스트란
- 안드로이드 라이선스
- Today
- Total
목록Android (402)
나만을 위한 블로그
레트로핏을 사용한다면 인터페이스에 추상 메서드를 선언하고 필요한 매개변수들을 선언할 것이다. 예를 들어 GET 요청을 전송해야 하는 경우 아래 형태와 같이 작성할 수 있다. interface RxGithubApi { @GET("users/{user}/repos") fun getRepositories( @Path("user") user: String ): Observable } POST 요청을 보내야 하는 경우 아래처럼 작성할 수 있다. @FormUrlEncoded @POST(SEND_FCM_TOKEN_URL) suspend fun insertFcmToken( @Field("osCode") mobileOsCode: String, @Field("fcmToken") fcmToken: String ): Resp..

지금까지 객체지향 프로그래밍, 함수형 프로그래밍에 대해 포스팅했다. https://onlyfor-me-blog.tistory.com/367 객체 지향 프로그래밍이란? 위키백과에서 말하는 객체 지향 프로그래밍은 아래와 같다. https://ko.wikipedia.org/wiki/%EA%B0%9D%EC%B2%B4_%EC%A7%80%ED%96%A5_%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D 객체 지향 프로그래밍 - 위키백과, 우리 모두의 onlyfor-me-blog.tistory.com https://onlyfor-me-blog.tistory.com/431 함수형 프로그래밍이란? Rxjava, RxAndroid를 공부하는 중인데 둘을 공부하다 보면 함수형 프로그래밍이란 ..
https://developer.android.com/jetpack/compose/side-effects?hl=ko Compose의 부수 효과 | Jetpack Compose | Android Developers Compose의 부수 효과 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 부수 효과는 구성 가능한 함수의 범위 밖에서 발생하는 앱 상태에 관한 변경사항입니다. developer.android.com Composable 안에서 안전하게 정지 함수를 호출하려면 LauncedEffect Composable을 사용하라. LaunchedEffect가 컴포지션을 시작하면 매개변수로 전달된 코드 블록으로 코루틴이 실행된다. LaunchedEffect가 컴포지션을 종료하면 코루..

열심히 앱을 만들었어도 속도 등 앱의 성능이 눈물날 정도로 좋지 않을 수 있다. 게다가 안드로이드의 경우 아이폰보다 더 다양한 종류와 메이커가 존재하기 때문에 물리적으로 모든 테스트 기기를 준비해서 성능 테스트를 할 순 없다. 그리고 IDE가 제공하는 성능 측정만으로는 부족할 수도 있다. 이 때 앱 개발자들의 만만한 친구인 파이어베이스가 제공하는 Performance Monitoring을 사용해서 앱 성능을 측정하고 결과를 시각화해서 볼 수 있다. 공식문서에서는 Performance Monitoring을 뭐라고 설명하는지 확인해 본다. https://firebase.google.com/docs/perf-mon?hl=ko Firebase Performance Monitoring 앱의 성능 문제를 파악합니다..

리사이클러뷰에서 아이템에 체크박스를 넣어 사용했듯 Compose에서도 같은 경우가 당연히 발생할 수 있다. 그러나 Compose에는 리사이클러뷰 대신 LazyColumn이 존재하고, 어댑터가 따로 존재하지 않는다. 이 상황에서 어떻게 체크박스를 만들고 체크 상태를 유지하게 할 수 있을까? 코드로는 아래와 같이 작성하면 스크롤하더라도 체크 상태가 유지되는 체크박스를 만들 수 있다. @Composable fun TodoCard( modifier: Modifier = Modifier, title: String, content: String ) { var checked by rememberSaveable { mutableStateOf(false) } Card(modifier = modifier) { Column..

Github API로 앱이 동작하는 건 지난 포스팅에서 확인했으니, 이제 테스트를 작성해서 내가 짠 코드들이 정말 정상적으로 작동하는지 확인할 차례다. 테스트를 먼저 작성한 후 기능을 구현하는 TDD라는 개념도 있지만, 여기선 선 기능구현 후 테스트 작성이라는 상황이라고 가정한다. 이 글의 바탕이 되는 코드는 아래 링크에서 확인할 수 있다. https://onlyfor-me-blog.tistory.com/725 [Android] 페이징 라이브러리, Hilt, LiveData로 Github API 사용하기 23.05.02 - GithubPagingSource 소스코드 추가 페이징 라이브러리 3을 사용해 Github API를 사용하는 법을 확인한다. 먼저 사용할 라이브러리는 아래와 같다. 페이징 라이브러리 ..

코루틴으로 데이터를 처리, 전달할 때 Flow, Channel이라는 두 개념을 사용할 수 있다. 이 포스팅에선 Channel에 대해 확인한다. 채널이 뭔지 공식문서부터 확인한다. https://kotlinlang.org/docs/channels.html Channels | Kotlin kotlinlang.org 채널은 개념적으로 BlockingQueue와 매우 유사하다. 중요한 차이점은 차단하는 넣기(put) 작업 대신 일시중지하는 보내기(suspending send)가 있고 차단하는 take 작업 대신 일시중지하는 수신(suspending receive)이 있다는 것이다 val channel = Channel() launch { // CPU를 많이 쓰는 계산 or 비동기 로직이라 생각하고 사각형 5개만..
25.07.15) 영상 세로 길이 오류로 영상 제거 일반적인 리사이클러뷰에 스티키 헤더와 헤더별로 그룹화된 아이템들이 들어가도록 구현하려면 둘 이상의 뷰홀더를 구현해야 하고, 복잡한 코드를 작성해야 하는 불편함과 공수가 걸린다.그러나 Compose에선 이 작업을 아주 많이 간소화시켜서 구현할 수 있다. 클릭 이벤트를 적용하는 것도 쉽다.말은 필요없고 코드부터 본다. 먼저 res/values 패키지 안에 적당히 이름 붙인 values resource file을 만들고 아래 코드를 붙여넣는다. 서버에서 받아오는 대신 하드코딩한 문자열을 사용할 것이다. First Item First Item1 First Item2 Second Item S..
앱을 개발하다 보면 다른 화면으로 넘어갈 때 데이터를 전달해야 할 수 있다. 앱에서 데이터를 전달해야 한다면 인텐트에 putExtra()로 넣어서 이동할 화면으로 보내고, 해당 화면에서 받아서 사용하는 게 가장 기초적이면서 일반적인 방법이라고 할 수 있다. 이 때 보내야 하는 데이터가 객체 형태라면 어떻게 해야 할까? data class를 보내야 하는 경우 그대로 putExtra()를 사용하면 컴파일 에러가 발생한다. 에러 내용은 "None of the following functions can be called with the arguments supplied."다. data class Test( val name: String, val age: Int ) Intent(this, TargetActivit..

먼저 Slot의 사전적 정의는 아래와 같다. (뭘 집어넣게 만든 가느다란) 구멍 / 자리, 시간, 틈 / 넣다 쉽게 말해서 뭐 넣을 수 있게 생긴 빈 틈을 슬롯이라고 한다. 이런 정의가 Slot API에서도 비슷한지 확인해 본다. https://developer.android.com/jetpack/compose/layouts/basics?hl=ko#slot-based-layouts Compose 레이아웃 기본사항 | Jetpack Compose | Android Developers Compose 레이아웃 기본사항 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Jetpack Compose를 사용하면 앱의 UI를 훨씬 쉽게 디자인하고 빌드할 수 있습니다. Compose dev..