본문 바로가기

android22

[GITHUB]Actiond을 통한 Android 자동화 GitHub Action으로 자동화 할 것CI/CD테스트 코드 자동화keystore 관리tag/release 버전 자동화CI, 테스트코드, keystore, tag/release 버전 자동화과정keystore 파일을 GitHub Action으로 처리할 것이다GitHub Repository Setting의 Secrets and variables의 Actions로 이동한다이곳에 keystore 정보들을 입력할 것이다New repository secret에 store의 store password, key alias, key password를 만들어준다keystore 파일도 base 64의 형식으로 secret에 넣어줄건데, 파일을 넣을 수 없기 떄문에 base64 -i key.jks -o keystore-.. 2025. 2. 23.
MarqueeLibrary 라이브러리 깃허브만든이유기존에 만들어 놓은 커스텀뷰 수정 및 보관용다른 사람도 필요시 사용할 수 있도록기능흐르는 텍스트 뷰텍스트 및 뷰에 대한 설정 가능 2025. 2. 18.
Library 배포용 Apache License 받기(Android Studio) 왜 작성하는가?Apache License 받는 방법에 대해 정리해 놓고 앞으로 필요할 때 참고하기 위해서1. 루트 디렉토리 LICENSE.txt 추가루트 디렉토리에 txt 파일 추가하면서 아래의 문구를 넣어준다영어버전Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0Unless required by .. 2025. 2. 18.
[Android]Permission 체크를 이미 완료했을 때 코드에서 Permission을 요구할때 해결법 문제점이미 Permission이 체크가 되어있다.하지만 현재 작성중인 코드는 Permission을 요구한다매번 Permission 검증을 하는건 효율적이지 않은 것 같다위 가정은 Permission이 확실히 체크되어 있다는 가정하에 진행한다해결법@RequiresPermission Annotation을 활용하자하나의 Permission만 필요로 할 때@RequiresPermission(Manifest.permission.ACCESS_FINE_LOCATION)여러개의 Permission중 하나만 있어도 될 때@RequiresPermission( anyOf = [Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LO.. 2025. 2. 13.
[Android]ViewModel에 대한 Unit Test에 대하여 테스트 코드 작성 느낀 점 정리이번에 테스트 코드를 작성하면서 알게 된 점, 느낀 점, 그리고 고려할 점들을 정리하려고 한다추가 및 수정은 계속할 예정이다테스트에 사용한 라이브러리는 io.mockk:mockk, org.jetbrains.kotlinx:kotlinx-coroutines-test, app.cash.turbine:turbine 세 가지이다JUnit은 JUnit4로 작성했지만, 추후 JUnit5도 시도할 예정이다기본적인 사용법 및 구조1. 테스트 클래스의 시작테스트 클래스는 @RunWith로 시작한다.이 어노테이션을 사용하면 테스트 실행에 필요한 설정을 지정할 수 있다.@RunWith(JUnit4::class) class Test2. MockK을 사용한 객체 모킹UseCase나 Reposito.. 2025. 2. 10.
Android 라이브러리 배포: JitPack 사용법 1. 왜 라이브러리로 만들까?커스텀 뷰를 직접 만들어 사용하다 보니, 이를 라이브러리화하여 재사용할 수 있도록 만들고 싶었다.조사를 해보니 많은 개발자들이 JitPack을 이용해 라이브러리를 배포한다는 것을 알게 되었고, 이에 따라 배포 과정을 정리해 보았다.2. JitPack이란?JitPack은 GitHub, GitLab, Bitbucket 등의 저장소에 있는 Java/Kotlin 프로젝트를 빌드하여 쉽게 Maven 또는 Gradle 종속성(Dependency)으로 추가할 수 있게 해주는 서비스다.즉, GitHub에 올린 Android 라이브러리를 JitPack을 사용하면 간단한 설정만으로 누구나 쉽게 사용할 수 있다.3. 프로젝트 만들기1)라이브러리로 사용할 프로젝트 생성- Android Studio.. 2025. 2. 4.
[Android] 뒤로가기 버튼 안 누르고 내부 화면으로 호출하기 뒤로가기 버튼이 아닌 별도의 버튼을 만들지만 효과가 뒤로가기 버튼과 동일한 효과가 나타나도록 하는 코드 val backDispatcher = LocalOnBackPressedDispatcherOwner.current?.onBackPressedDispatcher backDispatcher?.onBackPressed() 2024. 11. 9.
[Android]갤러리 앨범 정보 받아오기 1. 권한 허용갤러리를 읽어오기 위한 권한 허용이 필요하다Android SDK 버전 32 이하에선 READ_EXTERNAL_STORAGE, 그 이상에선 READ_MEDIA_IMAGES를 이용하여 권한을 받는다만약 동영상도 읽어오고 싶다면 READ_MEDIA_VIDEO 권한을, 오디오를 읽어오고 싶다면 READ_MEDIA_AUDIO 권한을 요청하면 된다권한 요청에 대한 글은 미리 정리해둔 글을 참고하여 작성했다.기존 정리글은 여러개의 권한요청에 유용하고 현재 사용할 코드는 1개만 요청할 예정이기 때문에 rememberMultiplePermissionsState 대신 rememberPermissionState를 사용한다권한요청 정리글Manifest 권한요청val permission = when { .. 2024. 11. 9.
android 아키텍처 패턴 과거 Velog 에서 정리한 아키텍처패턴 글과 MVI글을 수정한 뒤 합쳐서 재작성아키텍처 패턴이란?소프트웨어의 구조를 패턴화한 것안드로이드 아키텍처 패턴의 종류MVC (Model - View - Controller)MVC는 Model, View, Controller로 나뉘는 패턴Model어플리케이션의 데이터를 저장하고 처리View사용자가 보게 될 화면(UI)을 담당ControllerView와 Model을 연결하고 제어사용자의 입력을 처리Android에서는 View와 Controller가 Activity와 Fragment에 포함흐름사용자 → Controller → Model → Controller → View → 사용자장점구현이 단순하고 이해가 쉽다단점View와 Model 간의 의존성이 커서 유지보수가 어.. 2024. 10. 3.
[Android]Kotlin-DSL와 VersionCatalog Kotlin-DSL을 사용한 Android Studio 프로젝트 설정Android Studio에서 Kotlin-DSL을 사용법을 간단히 설명한다.Kotlin-DSL이란?DSL은 Domain Specific Language 로 도메인 특화 언어 라는 뜻이며, Kotlin-DSL은 Kotlin 언어로 작성된 DSL이다.Gradle 스크립트는 Groovy로 작성되지만, Kotlin-DSL을 사용하면 Kotlin 언어로 작성된다.장점코드를 강조할 수 있다.자동완성이 지원된다.오류 코드가 강조된다.변수 리팩토링이 가능한 향상된 편집환경을 지원한다멀티 모듈 사용 시 중복 의존성 선언이 필요가 없다1. 프로젝트 설정1.1. settings.gradle.kts (Kotlin-DSL) vs settings.gradle .. 2024. 10. 1.
반응형