일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- GIT
- 유튜브
- 안드로이드스튜디오
- viewpager
- 웹뷰
- 안스
- Retrofit
- coroutine
- 코루틴
- Android
- MVVM
- 안드로이드
- Kotlin
- RecyclerView
- dart
- Github
- 의존성주입
- WebView
- 안드로이드 스튜디오
- studio
- 스튜디오
- error
- 에러
- Gradle
- 깃헙
- ADB
- 코틀린
- 레트로핏
- build
- image
- Today
- Total
목록안드로이드 (148)
코딩하는 일용직 노동자
#의존성과 의존성주입(Dependency Injection, DI)이란? class Animal 이 있고, class Cat이 있습니다. 그리고 Cat 에서 Animal 객체를 생성했습니다. class Animal { ... } class Cat { val animal = Animal() } 코드에서처럼 Cat 이 Animal을 멤버로 갖고 있으므로 Cat 은 Animal에 강한 의존성을 가진 관계가 됩니다. class Cat(private val animal: Animal) { ... } fun main() { val animal = Animal() val cat = Cat(animal) } 이번에는 생성자를 통해 Animal객체를 주입해주었습니다. 이로써 클래스간의 관계를 더 약하게 만들 수 있습니다..
아주 간편안 딥링크 테스트 방법입니다. 테스트할 기기의 브라우저로 아래의 url을 들어가서 딥링크를 입력해주면 됩니다. https://halgatewood.com/deeplink/ Deep Link Testing Tool - Mobile App Development Tools A deep link is a URL that links to content "deep" in your site structure. You may have a product you are trying to sell, or a video series you are trying to promote. With a deep link you can have another app link directly to that piece of cont..
아주 기초적인 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 } }
영상이나 음원파일 편집/변환 등을 처리할때 많이 사용되는 FFmpeg 를 모바일용으로 사용할 수 있게 만든 라이브러리입니다. https://github.com/tanersener/mobile-ffmpeg GitHub - tanersener/mobile-ffmpeg: FFmpeg for Android, iOS and tvOS. Not maintained anymore. Superseded by FFmpegKit. FFmpeg for Android, iOS and tvOS. Not maintained anymore. Superseded by FFmpegKit. - GitHub - tanersener/mobile-ffmpeg: FFmpeg for Android, iOS and tvOS. Not maintain..