일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- MVVM
- 안드로이드스튜디오
- Android
- error
- flow
- dart
- 레트로핏
- Kotlin
- image
- 유튜브
- viewpager
- 코루틴
- 웹뷰
- 깃헙
- Github
- 코틀린
- Gradle
- 의존성주입
- 스튜디오
- 안드로이드
- coroutine
- studio
- RecyclerView
- 안스
- 에러
- 안드로이드 스튜디오
- WebView
- Retrofit
- ADB
- build
- Today
- Total
목록Android (34)
코딩하는 일용직 노동자

아주 기초적인 Retrofit2 사용법을 https://jsonplaceholder.typicode.com/posts 를 이용해 테스트해보는 방법을 알아보겠습니다. #기본 셋팅 Retrofit2를 사용하기 위해 gradle에 의존성 주입을 해줍니다. Manifest 파일에 인터넷 퍼미션을 추가해줍니다. // 의존성 추가 implementation 'com.squareup.retrofit2:retrofit:2.9.0' implementation 'com.squareup.retrofit2:converter-gson:2.9.0' Manifest파일에 네트워크 기능을 이용하기 위한 퍼미션을 추가해줍니다. #RetrofitClient.kt BaseUrl 과 json 처리를 위한 GsonConverterFactor..

안드로이드 release앱을 빌드하면 생성되는 aab 파일에는 별다른 이름이 없습니다. 앱을 빌드할때 자동으로 버전과 날짜를 파일명에 추가해주는 방법을 사용해보겠습니다. app레벨의 build.gradle 파일에 아래의 소스를 추가해줍니다. // 빌드 변수값 설정 def getDate() { return new SimpleDateFormat("yyyyMMdd").format(new Date()) } def buildDate = getDate() def nameOfApp = "MyApp" android { ... defaultConfig { ... setProperty("archivesBaseName", nameOfApp + "_v" + versionName + "(" + versionCode + ")_"..

안드로이드 debug/release 앱을 빌드하면 생성되는 apk 파일에는 별다른 이름이 없습니다. 앱을 빌드할때 자동으로 버전과 날짜를 파일명에 추가해주는 방법을 사용해보겠습니다. app레벨의 build.gradle 파일에 아래의 소스를 추가해줍니다. android { ... defaultConfig { applicationId 'co.kr.test.slx' minSdkVersion minSdk targetSdkVersion targetSdk versionCode 102 versionName "1.0.2" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } applicationVariants.all{ variant -> varia..
targetSdk버전을 32로 바꾸니 못보던 에러메세지를 보게 되었습니다. Caused by: java.lang.IllegalArgumentException: Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent. Strongly consider using FLAG_IMMUTABLE, only use FLAG_MUTABLE if some functionality depends on the PendingIntent being mutable, e.g. if it needs to be used with inline replies o..

운영중인 앱의 이벤트 상세화면에서 로드하는 이미지의 해상도가 1440x14300 에 용량이 5.8M 나 되는 어마무시한 넘이었다. 때문에 저사양폰에서는 이미지가 표시되지 못하고 검정색 화면으로 표시되었다. Glide의 캐싱옵션을 바꿔보고, 원본 이미지의 품질을 줄여서 용량을 800kb로 만들어도 여전히 표시되지 않았다. 아마도 해상도 자체가 워낙 상식을 벗어나다보니 이미지뷰가 처리해주지 못하는듯 하다. 이것을 웹뷰방식으로 처리해주는 Nasca 이미지로더를 사용해서 해결했다. 아래는 문제 해결에 결정적인 도움을 준 블로그이다. https://medium.com/myrealtrip-product/android-webview%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%9C-%ED%9A%A8%..

ViewPager2 를 사용하던중 아래와 같은 에러가 발생했습니다. java.lang.IllegalStateException: Pages must fill the whole ViewPager2 (use match_parent) at androidx.viewpager2.widget.ViewPager2$4.onChildViewAttachedToWindow(ViewPager2.java:270) at androidx.recyclerview.widget.RecyclerView.dispatchChildAttached(RecyclerView.java:7561) at androidx.recyclerview.widget.RecyclerView$5.addView(RecyclerView.java:860) at android..
깃헙에서 clone 받은 오래된 프로젝트에 최신 라이브러리를 추가해서 빌드하려고 하니 아래와 같은 빌드오류가 발생했습니다. Invoke-customs are only supported starting with Android O (--min-api 26) clone 받은 프로젝트가 오래된 것이다보니 발생한 오류입니다. gradle 셋팅에 아래 내용을 추가해서 오류를 해결했습니다. android { ... compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } }

자신이 만든 안드로이드 라이브러리를 Github에 올리고 jitpack을 이용해서 배포하는 방법을 배워보도록 하겠습니다. 몇몇 유명한 분들의 블로그를 보면서 따라했는데 안드로이드 스튜디오 Arctic Fox 버전부터는 기존 gradle 셋팅과는 살짝 달라졌습니다. #1. 프로젝트 생성 우선 안드로이드 스튜디오에서 라이브러리를 만들도록 합니다. 이때 배포할 라이브러리는 별도의 모듈을 생성해서 만들도록 합니다. #2. gradle 셋팅 프로젝트와 라이브러리 모듈을 다 완성했을때의 화면입니다. 여기서 중요한 gradle 파일에 빨간색 표시를 해놨습니다. 라이브러리를 다 완성했다면 이제 gradle에 셋팅을 해줘야 합니다. 우선 Project레벨의 build.gradle 파일에 아래내용을 추가해줍니다. buil..
안드로이드 스튜디오에서 새로운 프로젝트를 만든 후 gradle 셋팅을 수정하던 중에 Project레벨의 build.gradle 에 레파지토리 정보를 추가했습니다. allprojects { repositories { maven { url "https://jitpack.io" } } } 하지만 빌드를 하니 아래처럼 에러가 발생했습니다. Build was configured to prefer settings repositories over project repositories but repository 'maven' was added by build file 'build.gradle' 원인을 검색해보니 안드로이드 스튜디오 Arctic Fox버전 이후에 만든 프로젝트는 build.gradle 이 아니라 sett..

안드로이드 스튜디오에 설치하면 좋은.. 아주 이~쁜(?) 플러그인 두개를 소개합니다. #1. Rainbow Brackets https://plugins.jetbrains.com/plugin/10080-rainbow-brackets Rainbow Brackets - IntelliJ IDEs Plugin | Marketplace 🌈Rainbow Brackets for IntelliJ based IDEs/Android Studio/HUAWEI DevEco Studio. plugins.jetbrains.com 코딩을 하다보면 괄호가 여러번 중복된 경우가 있습니다. 이럴때 코드의 괄호를 색깔별로 표시해 줌으로써 가시성을 높여주는 플러그인입니다. #2. Atom Meterial Icons 폴더와 아이콘을 종류별로 ..