본문 바로가기
반응형

IT/안드로이드15

change splash activity to splash api for android 12 1. splash screen api 추가 build.gradle 에 splashscreen api 를 추가하려면 1.0.1 버전 적용하세요 아직 1.1.0-alpha 버전 사용하지 마세요. = > Android 14 설정 하니 구글 플레이스토어까지 문제 없는데 사용자들이 다운 및 설치가 안됩니다. Android 14 적용해야 합니다. defaultConfig { ... //splash screen implementation 'androidx.core:core-splashscreen:1.0.1' 2. logo xml 준비 도스게임 플레이어 로고를 xml 로 준비해서 res > drawalbe 에 logo_svg.xml 로 추가 3. splash 용 theme 추가 icon, 배경색, splash 이후 테.. 2023. 7. 13.
png to xml for android logo 그래도 진짜로 적용 가능한 사이트를 남겨 둡니다. 1단계 : png - > svg 2단계 : svg -> xml 이렇게 해서 안드로이드 스튜디오에 res > drawable > vector asset 으로 등록 하면 됩니다. 1단계 : png 로고를 svg 로 변환하고 https://cdkm.com/kr/png-to-svg PNG SVG 변환 - PNG 를 SVG 로 온라인에서 무료로 변환하십시오 프레임 속도: 원래 프레임 속도 유지 프레임 속도 사용자 정의 10 12 15 20 23.976 25 29.97 30 50 60 cdkm.com 2단계 : svg 로고를 xml 로 변환해서 코드만 복사 https://svg2vector.com/ SVG to Vector Drawable Converter – Co.. 2023. 7. 13.
jetpack compose Review URL Open 암호 입력을 요구하는 게임들 때문에 게임 플레이 중에 암호를 블로그에서 보게 하려면 앱 내부에서 Webview 로 띄우는 게 아니라 휴대폰 별도 웹 브라우저로 띄워야 하기에 해당 기능을 제외 합니다. 기존 방식 기존의 WebView 를 이용해서 Toggle 형태로 띄웠다가 닫았다가 했었음 //ReviewUrl 이 있으면 OPEN Review Button if (game.reviewUrl != "") { Column( modifier = Modifier.fillMaxWidth(), horizontalAlignment = Alignment.CenterHorizontally ) { FilledIconButton( onClick = { reviewToggle = !reviewToggle }, modifier =.. 2023. 7. 13.
Android Coroutine 의 Dispatcher 종류와 사용방법 Dispatcher 는 Coroutine 에서 사용하는 Thread 를 구분하는 용도 입니다 조심해야 할 것은 UI 를 그리는 Thread 에서 IO 또는 CPU 를 사용하는 명령을 같이 실행하면 APP Crash 발생합니다. 툭하면 겪는 상황이고 대부분 viewModelScope.launch(Dispatcher.IO) 설정해서 해결하고 있습니다 안드로이드에서는 3가지 Thread 밖에 없으니 아래 표만 기억하면 됩니다 viewModelScope.launch 2023. 6. 27.
안드로이드 기기 카탈로그 (android catalog) 안드로이드는 정말 다양한 스펙의 기기들이 존재 합니다. 문제는 아이폰은 전부 하이엔드급 스펙으로 스펙 고민을 안해도 되는데 안드로이드는 로우엔드급 스펙 기기도 엄청나게 많다는 사실 입니다. 안드로이드 하위 버전 OS 기기도 엄청나게 많습니다. 매번 갤럭시 S , 샤오미 핸드폰 만 사용했었는데...이게 전부 하이엔드 급이라서 전혀 문제를 느끼지 못했습니다. 외국분들이 설치 후 에 바로 앱을 삭제 해서 무엇이 문제 인게 고민 끝에 분석을 해보니 단말기들 RAM 용량이 1~2기가 밖에 안됩니다. RAM 2기가 가상 휴대폰에서 테스트 돌려보니 콜드 스타트 시간이 늘어나고 버벅거리는 현상이 심하게 일어나서 결국 기기 제외 규칙을 RAM 3기가 이하 제외를 걸었습니다. 아래 보시면 RAM 3기가 이하 스펙 기기가 .. 2023. 5. 8.
jetpack compose paging3 사용시 주의사항 (immutable 데이터만 사용) 게임 리스트를 Room database 에서 paging3 라이브러리를 활용해서 paging 처리를 하려고 시도 했습니다. 결국 포기 다른 방법으로 구현했습니다. paging3 의 사용시에 주의 사항이 딱 1가지 있습니다. immutable 데이터만 사용할 것 도스게임 플레이어는 immutable 데이터가 아닙니다. 사용자가 게임 리스트를 보기만 하는게 아니라 수정해야 하고 삭제도 하고, 즐겨찾기로 등록도 해야 하고 사용자 마음대로 수정할 수 있는 플레이어라는 특성한 mutable 데이터 리스트가 필요한 것 입니다. 결국 paging3 적용 다하고 페이지 단위로 다 처리해놨는데 수정하는 방법이 없어서 포기하고 다른 방법으로 처리 했습니다. (*구글링 하다보면 변경 데이터를 메모리로 들고 있다가 같이 보여.. 2023. 5. 8.
android studio different debug vs release libraries version 아무리 구글링 해도 내용이 없다 삽질 끝에 원인과 해답은 원인 gradle 을 이용하여 여러 가지 버전의 라이브러리를 받아서 사용하면 업데이트는 쉽지만 google 과 maven 에서 제공하는 버전이 달라서 문제가 발생된다 external libraries 는 다운그레이드 가 안된다 증상 build 는 잘되는데 layout inspector 가 compose.ui 라이브러리의 엉뚱한 버전을 찾으면서 찾을 수 없다고 나타난다 debug 에서 다른 버전의 compose.ui 를 사용하고 있었다 해결방법 gradle cache 파일 삭제 app 레벨 build.gradle 에서 라이브러리 사용 전부 주석처리 3종의 캐쉬가 있다 전부 삭제 사용자 폴더 > .gradle > cache 삭제 (캐쉬 파일 잔뜩 있음.. 2023. 4. 26.
안드로이드 코드명과 빌드 번호 참고 안드로이드 버전이 매년 업데이트가 되면서 사용자들의 안드로이드 버전이 파편화 된지 오래 되었다 문제는 버전별로 지원하는 기능과 적용방법이 틀려지면서 개발자들의 머리를 복잡하게 만들고 앱 크래쉬나 버그도 많아진다는 거다 이제 와서 빌드 버전을 강제하면서 과거 안드로이드 OS 를 지원안하는 방식으로 줄이려고 구글이 노력하고 있지만 어차피 오픈소스 성향이 강하고 휴대폰 성능이 너무 좋아서 빨리 바뀌지는 않을꺼다 예를 들어서 아래는 다이나믹컬러를 적용하는 코드 Build.VERSION.SDK_INT >= Build.VERSION_CODES.S 다이나믹 코드는 VERSION_CODES.S 이상 부터 적용된다 S = API 31 = 안드로이드 12 이상 만 적용된다 이거는 그나마 적용되고 안되고니 단순하지만 파일 .. 2023. 3. 11.
jetpack compose 에서 MutableStateFlow vs MutableState Jetpack compose 에서 Viewmodel 과 composite 에서 MutableStateFlow 와 MutableState 사용의 차이점이 궁금했었는데 https://proandroiddev.com/viewmodels-using-compose-mutablestateflows-or-mutablestates-64d34ba548c5 ViewModels using Compose: MutableStateFlows or MutableStates? State hoisting is an important concept useful to make a Composable stateless (and so easily reusable). The official Compose documentation… proand.. 2023. 2. 16.
안드로이드 jetpack compose MVI 패턴 개발시 참고 소스 https://github.com/Elbehiry/Delish GitHub - Elbehiry/Delish: Delish, a Food Recipes App in Jetpack Compose and Hilt based on modern Android tech-stacks and MVI cle Delish, a Food Recipes App in Jetpack Compose and Hilt based on modern Android tech-stacks and MVI clean architecture. - GitHub - Elbehiry/Delish: Delish, a Food Recipes App in Jetpack Compose and ... github.com 사용한 기술 100% Kotlin bas.. 2023. 2. 15.
openAI 의 API 엮는 샘플 https://betterprogramming.pub/openai-sse-sever-side-events-streaming-api-733b8ec32897 OpenAI SSE (Server-Sent Events) Streaming API Recreating the chatbot betterprogramming.pub 여기 예제는 flask, Django, Express 로 구성을 했는데 내용이 간단하기 때문에 참고해서 다른 프레임워크에서 구성할 때 참고해서 사용하면 될 것 같습니다. 어차피 단순한 API 연계라서 클라이언트는 각종 chat 서비스와 엮으면 다른 사람들이 좋아하겠네요. slack , google chat 등 2023. 2. 14.
애뮬레이터 Bios 리스트 https://github.com/Abdess/retroarch_system GitHub - Abdess/retroarch_system: Compilation of BIOSes for various emulation platforms Compilation of BIOSes for various emulation platforms - GitHub - Abdess/retroarch_system: Compilation of BIOSes for various emulation platforms github.com retroarch 용 Bios 리스트가 정리된 레포 입니다 애뮬레이트 별로 사용되어질 Bios 주소가 있으니 도스게임 플레이어와 잘 엮어서 활용해봐야 겠네요. snes 와 nes 등 플레이어를 여기의 .. 2023. 2. 14.
Jetpack compose Clean Architecture 참고 소스 https://github.com/Farhandroid/AndroidCleanArchitecture GitHub - Farhandroid/AndroidCleanArchitecture: This is a project built with Love ❤️ and also with Clean architecture in Andr This is a project built with Love ❤️ and also with Clean architecture in Android . - GitHub - Farhandroid/AndroidCleanArchitecture: This is a project built with Love ❤️ and also with Clean architec... github.com Jetpa.. 2023. 2. 14.
jetpack compose text field styling https://proandroiddev.com/the-big-form-with-jetpack-compose-7bec9cde157e The Big Form with Jetpack Compose As always any app will always need some a form screen like login, signup, edit profile, request form and many more … proandroiddev.com jetpack compose 에서 text field 를 사용할 때 여러가지 유형의 스타일이 필요합니다. 잘 정리되어 있는 문서를 공유합니다. jetpack compose 를 사용해서 만든 게임 플레이어 앱 입니다. jetpack compose 도 공부하면서 앱도 만들어서 출시까.. 2023. 2. 9.
안드로이드 의존성 주입 (DI) 개념 의존성 주입에 대해서 잘 정리된 글이 있어서 링크를 남겨둡니다. 나중에 제가 보려고. 의존성 주입이란 무엇이며 왜 필요한가? 목표 의존성 주입이 무엇인지 이해한다. 의존성 주입이 왜 필요한지 이해한다. 의존성 주입이란? 의존성 주입이란 클래스간 의존성을 클래스 외부에서 주입하는 것을 뜻한다. 더 자세하게는 의 kotlinworld.com https://kotlinworld.com/64 의존성 주입이란 무엇이며 왜 필요한가? 목표 의존성 주입이 무엇인지 이해한다. 의존성 주입이 왜 필요한지 이해한다. 의존성 주입이란? 의존성 주입이란 클래스간 의존성을 클래스 외부에서 주입하는 것을 뜻한다. 더 자세하게는 의 kotlinworld.com https://kotlinworld.com/63 [Dagger2] 1... 2022. 12. 19.
반응형