전체 글

Android 및 취미 활동을 공유하는 블로그입니다!!
Language/kotlin

[Kotlin] 데이터 표현을 위한 Data Object

Kotlin 1.9.0 버전으로 올리면 Selad Class 자식으로 object 대신 data object를 사용하라고 권장합니다. 기존 object와 차이점은 무엇일까요? 어떤 장점이 있는 걸까요? 밑줄까지 치면서 권장하면서 말이에요 Stable data objects for symmetry with data classes https://kotlinlang.org/docs/whatsnew19.html#support-for-secondary-constructors-with-bodies-in-inline-value- classes What's new in Kotlin 1.9.0 | Kotlin kotlinlang.org data object는 1.9.0 버전부터 정식 출시(Stable)된 데이터 홀더 객..

Android/PlayConsole

[Android] Google Play Console 계정 확인 완료 정책

2023년 7월에 구글은 Google Play 요구사항 정책에 추가되는 개발자 인증 요구사항을 공개했었습니다. 해당 정책은 개발자의 신원 정보를 앱 사용자에게 공개하는 것으로 Google Play를 안전하고 신뢰할 수 있는 플랫폼으로 유지하기 위한 방법으로 도입된 것입니다. 이 정책을 따르지 않는다면 구글 계정과 배포된 앱이 삭제될 수 있다고 합니다. 굉장히 충격적인 소식이 아닐 수 없는데요. 다행인 점은 기존에 가입한 개발자 계정은 다양한 유형과 규모 등 인증하는 데 시간이 더 오래 걸릴 수 있다는 점을 고려해서 기한을 개발자가 직접 선택할 수 있도록 배려해 주었습니다. 2024년 2월 29일까지 마감 기한을 직접 선택하지 않으면 자동으로 마감 기한이 설정되니 꼭 참고하시길 바랍니다. 제공해야 하는 신..

Android/Common

[Android] touchDelegate로 뷰 계층 제약 없이 터치 영역 확장하기

당신은 Android 개발자로서 사진에 보이는 UI를 구현해야 합니다. UI 요구사항 중 왼쪽 아이콘을 클릭 액션이 존재하는데 클릭 영역을 뷰 사이즈보다 크게 잡아야 합니다. 어떻게 구현하면 좋을까요? 비교적 연령대가 높은 유저가 사용하는 서비스를 개발하다 보니 위 요구사항을 구현할 일이 종종 있었습니다. 그때마다 빈 레이아웃을 만들어서 해당 레이아웃에 클릭 리스너를 설정하는 방식을 사용했었는데요. 깨끗한 코드를 작성하겠다는 양심을 버려가며 레거시 코드를 마구마구 만드는 기분이었습니다.. 그러다 최근 위 요구사항에 알맞게 사용할 수 있는 touchDelegate라는 기능을 알게 되어서 소개해보려고 합니다. TouchDelegate TouchDelegate는 뷰가 가지고 있는 경계 너머로까지 클릭 반경을 ..

Android/Common

[Android] InAppUpdate 기능 알아보기

InAppUpdate 인 앱 업데이트 기능은 앱 내에서 사용자의 업데이트를 유도하는 기능으로 2019년 Google IO에서 처음 소개되었습니다! 안드로이드 5.0(Api level 21) 이상부터 사용 가능하고 Play Core Library 버전도 1.5.0 이상을 사용해야 합니다. 의존성 추가 implement 'com.google.android.play:app-update-ktx:2.1.0' 업데이트 가능 여부 private val appUpdateManager: AppUpdateManager by lazy { AppUpdateManagerFactory.create(context) } val appUpdateInfoTask = appUpdateManager.appUpdateInfo appUpdat..

Unity

[Unity] 2D Top Down RPG 게임 만들기 - Camera Move

안녕하세요. 이번 시간에는 Player 움직임을 따라가는 카메라를 만들어보려고 합니다. Cinemachine Package 설치 Package Manager 창을 열어 Cinemachine를 검색해서 설치하세요. Cinemachine을 이용해서 Player를 따라다니는 카메라를 쉽게 만들 수 있어요! Cinemachine Camera 생성 Cinemachine을 설치하면 GameObject에서 Cinemachine Object를 Scean에 추가할 수 있습니다. 그리고 기존 Scean에 존재하던 Main Camera에도 CinemacineBrain 컴포넌트가 추가되는 것을 확인하실 수 있습니다. Follow Prefabs 설정 추가된 Cinemachine Camera의 속성을 보면 GameObject를 ..

Unity

[Unity] 2D Top Down RPG 게임 만들기 - Player Animation

안녕하세요. 이번 시간에는 Animation 기능을 통해 지난 시간에 구현한 Player 움직임 기능에 생동감을 불어넣어 봅시다. Animator Animator Component는 추가된 GameObject에 애니메이션 기능을 추가할 때 주로 사용됩니다. 그리고 애니메이션을 편집하기 위해 Animator Controller라는 파일이 생성해서 등록해 줍니다. Animator Controller 생성 및 적용 Project 창에서 원하는 위치에 우클릭 -> create -> Animation Controller를 통해 생성할 수 있습니다. 그리고 이 생성한 파일을 추가한 Animator에 넣어주면 됩니다 Animation Clip 생성 Animation Clip은 애니메이션에서 상태 또는 작은 단위라고 ..

Android/WebView

[Android] Webview Alert 표시하기

요즘 회사에서 WebView 이슈로 여러 번 앱 업데이트를 하고 있는데요. 이번 글의 주제는 WebView의 Alert가 안 나오는 이슈가 있어서 알아보게 되었습니다. 이번 글에서는 WebView의 Alert를 표시하는 방법에 대해서 소개해보려고 합니다. Alert가 안 나온다면 //문제의 코드 override fun onJsAlert( view: WebView, url: String, message: String, result: JsResult ): Boolean { return true } 저처럼 Alert가 표시되지 않는 이슈를 겪고 있으시다면 WebChromeClient의 onJsAlert 함수에서 아무 처리도 하지 않고 그냥 true를 반환하고 있는지 확인해 보세요 onJsAlert 정의를 따라..

Unity

[Unity] 2D Top Down RPG 게임 만들기 - Player Move

안녕하세요. 오늘은 키보드를 입력하면 Player가 움직이도록 만들어보겠습니다. Unity InputSystem Package 설치 Unity에서는 InputSystem는 마우스, 키보드 그리고 터치처럼 사용자의 입력을 처리할 때 사용하는 기술입니다. 그런데 2019년에 새로운 InputSystem이 발표했다고 해요. 처음 프로젝트를 생성했을 때는 기존 InputSystem이 설치되어 있고 추가적으로 PackageManager를 통해 새로운 InputSystem을 설치할 수 있다고 합니다. 새로운 InputSystem은 기존 InputSystem과 다르게 간단한 인터페이스로 모든 플랫폼을 지원할 수 있어 PC 뿐만 아니라 모바일, 조이스틱 용 게임을 모두 한 번에 대응할 수 있다고 합니다. Package..

Unity

[Unity] 2D Top Down RPG 게임 만들기 - TileMap

안녕하세요. 오늘은 Unity Tile을 통해 배경을 만들어보려고 합니다. TileMap Object 생성 TimeMap이란 그리드 형태로 Asset을 일정하게 배치할 때 사용되는 기술입니다. 주로 게임의 배경이나 구조물을 배치할 때 사용되는 기술로 알고 있으시면 됩니다. 그리고 Tilemap Collider 2D를 통해 충돌 이벤트도 구현할 수 있습니다 배치하는 Asset 모양에 따라 크게 Hexagonal, Isometric, Rectangular 3가지 유형의 TileMap 존재합니다. mystic-wood의 Tile 모양은 Rectangular에 적합하기 때문에 Rectangular Tile Map을 생성해 주겠습니다. Tile Size 설정하기 Tile이 배치될 Cell 크기가 Player보다 ..

Unity

[Unity] 2D Top Down RPG 게임 만들기 - Camera 설정하기

안녕하세요. 오늘은 Unity 게임 개발을 본격적으로 시작하기 전 Camera 설정을 짧게 하려고 합니다. 이전에 만든 Player Prefabs를 Scean에 배치하고 Game 속에서 보게 되면 너무나도 작게 보이는 것을 확인할 수 있습니다. 캐릭터가 게임에서 잘 인지될 수 있도록 크기를 조절해야겠죠? 캐릭터의 크기를 늘리는 방법도 있겠지만 저희는 카메라 설정으로 변경해 보겠습니다 Camera OrthographicSize Camera의 Inspector를 보면 Size 속성을 찾아 카메라의 크기를 줄일 수 있습니다. Size 속성은 orthographic projection의 Size 속성인데요. 그래서 만약 Size 속성을 찾을 수 없다면 Camera의 Projection 속성을 orthograph..

점냥
점냥's Log