Shino72
close
프로필 배경
프로필 로고

Shino72

  • 분류 전체보기 (137)
    • 디자인패턴 (4)
    • 안드로이드 (51)
      • 앱 개발 (7)
      • KOTLIN (11)
      • 날씨 앱 만들기 (0)
      • Compose (14)
      • 반응속도 테스트 앱 만들기 (0)
      • Action Kotlin (6)
    • Flutter (6)
      • Study (2)
    • 알고리즘 (2)
    • 백준 (71)
      • 다익스트라 (4)
      • 투 포인터 (9)
      • DP (12)
      • bfs dfs (17)
      • 구현 (3)
      • 그래프 이론 (3)
      • 플로이드 와샬 (2)
      • String Matching (1)
      • 기타 (14)
    • 시위 (1)
    • 개발 (1)
    • Dart (1)
  • 홈
  • 태그
  • 방명록
JetPack Compose - FlowLayout + Chip

JetPack Compose - FlowLayout + Chip

안드로이드 앱을 사용하다보면, 다음과 같은 UI를 만날 때가 있다. 해당 UI를 FlowLayout과 Chip을 이용하여 구현해보겠다. 관련 학습은 아래의 구글 공식문서를 참고하여 만들었다. https://developer.android.com/jetpack/compose/layouts/flow Flow layouts in Compose | Jetpack Compose | Android Developers Flow layouts in Compose Stay organized with collections Save and categorize content based on your preferences. Beta: FlowRow and FlowColumn are experimental. This docume..

  • format_list_bulleted 안드로이드/Compose
  • · 2023. 10. 20.
  • textsms

AlarmManager을 공부(삽질)하며 알게된 사실

1. 현재 시간보다 이전으로 알람을 설정하면 바로 울림 당연한 사실일 수도 있겠지만 현재 시간보다 이전으로 알람 시간을 설정하게 되면, 설정 즉시 알람이 울리게 된다. 만약에 현재 시간 이후에 알람을 실행하려고 했던 의도라면, 다음과 같이 코드를 작성해서 하루를 더해주면 된다. if(calendar.before(java.util.Calendar.getInstance())) { calendar.add(java.util.Calendar.DAY_OF_MONTH,1) } 2. 반복적인 알람을 만들고 싶은데 정확한 시간을 설정하고 싶다면 API 33 이전 버전에서는 setRepeat()를 통해 정확한 시간에도 알람이 잘 작동했었다. 하지만 33버전에서는 정확한 시간을 반복을 할 수 없었다. 해당 이유는 13부터 ..

  • format_list_bulleted 안드로이드
  • · 2023. 10. 15.
  • textsms

Retrofit에서 Interceptor와 Converter란

Interceptor Http의 요청과 응답 처리 중간에 개입하여 요청 또는 응답을 수정하거나 로깅하는데 사용된다. 대표적으로 요청에 헤더를 추가하거나, 응답을 로깅하거나, 인증토큰을 추가하는 데 사용된다. 사용방법 addInterceptor() 메서드를 사용하여 객체를 추가해야 한다. 예를 들어 헤더를 추가하는 작업을 진행한다면, 다음과정을 따른다. Interceptor 작성 및 적용 OkHttpClient를 생성하고 Interceptor를 추가 Retrofit에 OkHttpClient를 설정한다. import okhttp3.Interceptor import okhttp3.OkHttpClient import retrofit2.Retrofit import retrofit2.converter.gson.Gs..

  • format_list_bulleted 안드로이드
  • · 2023. 10. 6.
  • textsms

[Kotlin] - 버전에 따라 다르게 갤러리에 사진 저장하기

버전에 따라 다른 사진 저장 방식 문제 상황 생성된 조언을 갤러리에 저장하는 과정에서, 안드로이드 버전에 따라 다르게 구현해야 하는 문제에 직면했다. 에뮬레이터는 Q 버전 이 후를 사용했기 때문에 MediaStore를 이용하여 개발을 하였다. 하지만, 테스트용 기기는 Q 버전 이전이라 실제로 저장이 안되는 문제가 발생하였다. 해결 방법 *Q버전 이전과 이후를 분리한다. 실행되는 기기의 버전을 확인하는 방법은 Build.VERSION.SDK_INT 로 확인이 가능하다. if 문을 통해 버전을 체크한다. if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) 파일 이름 타임 스탬프를 사용하여 중복을 방지한다. 파일 식별자에서는 이름이 곧 고유 식별자이므로, 이름이 동일하..

  • format_list_bulleted 안드로이드/KOTLIN
  • · 2023. 9. 13.
  • textsms

[Android] await()이 안될 때

await()를 사용하려는 데 안되는 경우가 있다. build.gradle에 다음을 추가해주면 해결! implementation "org.jetbrains.kotlinx:kotlinx-coroutines-play-services:1.6.1"

  • format_list_bulleted 안드로이드
  • · 2023. 9. 1.
  • textsms

[Android] - 실시간 위치 정보 받아오기 (with. Fused Location Provider API + MVVM + Hilt)

안드로이드 개발을 하면서 사용자의 위치 정보가 필요한 상황이 발생한다. 그렇다면, 위치정보를 가지고 오는 방법은 여러가지가 있다. Fused Location Provider API (Google Play Services) Location Manager (Legacy) 대표적으로 두가지 방법이 있는 데, 첫번째 방식은 Google Play 서비스의 Fused Location Provider API를 사용하여 위치 정보를 가져오는 방식 이다. 두번째 방식은 LocationManager 클래스를 사용하여 위치 정보를 가져오는 방식이다. 이 방법은 오래된 방법이고, GPS나 NETWORK를 통해 위치값을 가져온다고 한다. 오늘 포스팅 할 위치 정보를 가져오는 방법은 Fused Location Provider A..

  • format_list_bulleted 안드로이드/앱 개발
  • · 2023. 9. 1.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • ···
  • 9
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (137)
    • 디자인패턴 (4)
    • 안드로이드 (51)
      • 앱 개발 (7)
      • KOTLIN (11)
      • 날씨 앱 만들기 (0)
      • Compose (14)
      • 반응속도 테스트 앱 만들기 (0)
      • Action Kotlin (6)
    • Flutter (6)
      • Study (2)
    • 알고리즘 (2)
    • 백준 (71)
      • 다익스트라 (4)
      • 투 포인터 (9)
      • DP (12)
      • bfs dfs (17)
      • 구현 (3)
      • 그래프 이론 (3)
      • 플로이드 와샬 (2)
      • String Matching (1)
      • 기타 (14)
    • 시위 (1)
    • 개발 (1)
    • Dart (1)
최근 글
인기 글
최근 댓글
태그
  • #Android
  • #눈 이펙트
  • #MVVM
  • #kotlin
  • #Jetpack
  • #반응형 이미지
  • #AnchoredDraggable
  • #jetpack compose
  • #밀어서 잠금해제
  • #compose
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바