일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- SPI
- 피요모리2
- 쌓기게임
- 리틀포레스트
- 제곱근
- darkmode
- 보늬밤
- WebView
- stack
- synergy
- DataStructure
- DynamicProgramming
- math
- 코인거스름돈
- QoS
- Kotlin
- Dialog
- memory
- 피보나치
- Java
- Dokka
- Collection
- MFC
- android
- AfxMessageBox
- FirebaseAuth
- LRU
- 형변환
- devicedriver
- 동적프로그래밍
- Today
- Total
목록Computer/Android (30)
퉁탕퉁탕 만들어보자

1. Firebase 콘솔 설정 https://firebase.google.com/?hl=ko 프로젝트 추가를 누릅니다.이름을 정하고 계속합니다. 홈에서 Android를 클릭합니다. 위저드에 따라 앱을 등록하고, gradle에 설정합니다. (google-services.json은 아직 다운로드 하지 않습니다.) 1. root 수준의 build.gradleplugins { alias(libs.plugins.androidApplication) apply false alias(libs.plugins.jetbrainsKotlinAndroid) apply false alias(libs.plugins.googleServices) apply false} 2. libs.versions.tomlfi..

간단하게 100 x 100 사이즈의 이미지뷰 공간에 이미지를 로드하려고 한다. Glide 로 이미지 로드하기glide 공식 가이드에 따라, glide, glide compiler, android lifecycle compiler 3가지가 필요하고 kapt를 사용한다. 기본 설정 1. libs.versions.toml[versions]..glide="4.15.1"glideCompiler="4.15.1"lifecycleCompiler = "1.0.0"[libraries]glide = { module = "com.github.bumptech.glide:glide", version.ref = "glide"}glide-compiler = { module = "com.github.bumptech.glide:comp..
1. 글쎄 멀쩡하던 앱이 33에서 돌리니 갑자기 릭 카나리가 릭!! 릭!!! 하며 난리남 2. 누가 내 Activity 참조를 갖고있나!!!! 하고 콜스택을 보니 안드로이드 프레임워크임 com.android.internal.policy.PhoneWindow 3. 구글링 해보니 플랫폼 이슈이고, 14버전에서 fix 될 예정.. https://issuetracker.google.com/issues/258534826 Google Issue Tracker issuetracker.google.com 4. 이슈 트래커에 달린 댓글을 보면 전말은 다음과 같음. 13에서 추가된 AnimationHandler.mAnimatorRequestors 가 콜스택상 범인. -> 해당 로직은 백그라운드 무한 애니메이터 실행 이슈 ..
Singletons 과 Scoped Bindings @Provides 메서드나 주입 가능한 클래스에 @Singleton 으로 주석을 추가합니다. 그래프는 모든 클라이언트에 대해 값의 단일 인스턴스를 사용합니다. @Provides @Singleton static Heater provideHeater() { return new ElectricHeater(); } 주입 가능한 클래스의 @Singleton 주석은 documentation 으로써의 역할도 합니다. 미래의 잠재적인 유지 관리자에게 이 클래스가 여러 스레드에서 공유될 수 있음을 알려줍니다. @Singleton class CoffeeMaker { ... } Dagger 2는 그래프의 범위가 지정된 인스턴스를 컴포넌트 구현의 인스턴스와 연결하므로 컴포넌..
우선 Dagger를 알아야 Hilt 도 볼 듯하여, 사전 스터디를 약간 하는 겸.. 해서 공식사이트 번역을 했다. https://dagger.dev/dev-guide/ Dagger The best classes in any application are the ones that do stuff: the BarcodeDecoder, the KoopaPhysicsEngine, and the AudioStreamer. These classes have dependencies; perhaps a BarcodeCameraFinder, DefaultPhysicsEngine, and an HttpStreamer. To contrast, the w dagger.dev 모든 어플리케이션에 있어서 최고의 클래스는, 자기 일..
Andorid 에서 요새는 Kotlin 을 많이 쓴다고 하지만, 아직 혼용해서 쓰는 경우도 많을 것이다. 그래서 java checkstyle 을 붙이고자 할 때 도움이 되기를 바란다. 나는 거의 5시간을 넘게 씨름을 했기 때문에 checkstyle 을 gradle plugin 으로 붙이는 방법이 대중적이며, 대부분 검색하면 해당 방법이 나온다. 하지만 단점은 버전이 뭔가가 안맞으면 거지같은 에러를 뱉으며 고작 style check 에 이렇게 시간을 써야 하는가? 하는 현타를 느낄수가 있다. 그리고 무슨 그래들 지원버전 올라갈때마다 스타일문서도 업그레이드 해서 맞춰줘야함 - 미쳣다. 이럴때 우리의 구글은 아름다운 도구를 제공해 주었으니, 바로 다음과 같다.. https://android.googlesour..
다양한 이유 있을 수 있지만, 해당 뷰에 background가 설정되지 않은 경우에 투명하기 때문에 elevation이 먹지 않음 bg를 화이트로 깔아주고 elevation을 넣어주면 보인다. android:background="@android:color/white" android:elevation="10dp"
https://developer.android.com/training/permissions/requesting?hl=ko#kotlin 앱 권한 요청 | Android 개발자 | Android Developers 앱 권한 요청 모든 Android 앱은 액세스가 제한된 샌드박스에서 실행됩니다. 앱이 자체 샌드박스 밖에 있는 리소스나 정보를 사용해야 하는 경우 권한을 선언하고 이 액세스를 제공하는 권한 요청 developer.android.com 런타임에서 권한요청이 필요한 작업을 수행해야할때, 위의 글을 잘 보고 따라하면 좋다. 넘 잘 설명이 되어있는것! 예제를 위주로 블로깅하겠다. 외부에서 사진을 불러오는 예제 1. Manifest에 권한을 정의한다. 2. 현재 권한 상태에 따라 권한요청 및 할 일을 한다..
https://developer.android.com/reference/android/media/SoundPool SoundPool | Android Developers android.net.wifi.hotspot2.omadm developer.android.com audio resource를 재생하는데 사용되는 SoundPool을 알아보자. MediaPlayer에 비해 사용이 단순하나, memory상에 sound를 predecode해놓고 사용하기 때문에, 효과음과 같은 짧은 음원을 재생할 때 사용해아한다. 긴 음원은 MediaPlayer를 사용해야한다. 각각의 decode된 sound는 1MB로 limit되어있다. (품질에 따라 다르지만,, 약 5~6초 정도) SoundPool은 APK 내부의 리소스나..
일반 Button에도 이미지를 좌우에 넣을 수있지만, Image만 있는 Button을 만드는 경우가 있다. 이런 경우에 간단하게 ripple을 넣어주는 방법이 있다. android:background="?attr/selectableItemBackground" 를 적용해주면 된다. 팁2. constraint layout에서 간단하게 버튼 크기 정하기 app:layout_constraintDimensionRatio="1:1"로 비율을 정해줄 수 있다. 이때 원하는대로 비율을 지정해 주면 된다.