본문 바로가기

분류 전체보기

(99)
에이펙싱 버전 2.0.7 트러블 슈팅 컴퓨터를 켜면, 습관적으로 구글 플레이 콘솔에 접속하여 현재 적극 서비스 중인 '에이펙싱' 의 각종 KPI 를 둘러봅니다. 금일 오전, 여느 날과 다름 없이 에이펙싱이 순조롭게 서비스되고 있는지 확인하기 위해 플레이 콘솔에 접속했습니다. 그런데 이게 웬 걸? 116 개의 비정상 종료가 기록돼 있었습니다. 참 부끄러운 일입니다. 플레이 콘솔의 스택 트레이스는, 엔드포인트가 그다지 정확하게 기록되진 않습니다. 에러가 발생한 액티비티, 프래그먼트, 클래스가 어디인지 정도만 확인할 수 있는 경우가 대부분입니다. 즉, 소스의 길이가 길면 버그를 잡아내는 행위 자체가 굉장히 힘들어집니다. 다행히, 리뷰를 남겨주신 분과 컨택이 되어 대화를 나눠볼 수 있었습니다. 앱 기능을 사용하기 위해 필요한 유저 ID 를 전달받을..
에이펙싱 (APEXING) - 에이펙스 레전드 전적 검색 GitHub - jangjh123/Apexing-Android: 에이펙싱 - 에이펙스 레전드 전적 검색 에이펙싱 - 에이펙스 레전드 전적 검색. Contribute to jangjh123/Apexing-Android development by creating an account on GitHub. github.com 앱 은 Respawn 사의 게임 의 유저들을 위한 앱입니다. 플레이한 매치가 기록되어 킬 및 대미지 등의 기본적인 정보를 조회할 수 있으며, 수식을 통해 계산된 통계를 확인할 수 있습니다. 또한, 에이펙스 레전드 게임 내에서 진행 중인 맵과 제작 아이템 정보를 실시간으로 확인할 수 있으며, EA Korea 에서 제공하는 관련 소식들도 살펴 볼 수 있습니다. 🛒 Download 에이펙싱 - 에..
[XML] AmbientLightView 1 인 개발을 진행했던 앱 '에이펙싱' 의 디자인이 너무 별로여서 새롭게 리뉴얼 중입니다. UI 를 개선함과 동시에 스토어 정보를 보여주는 기능을 새로이 개발 중에 있는데, 해당 기능의 UI 를 구현하다가 문제가 조금 생겼습니다. 스토어의 아이템은 특별 상품들인 Specials 와 일반 상품들인 Shop 으로 분류가 되는데, 각 상품군의 분류가 확실히 되지 않아서 해당 View 의 Elevation Color 를 변경하여 구분하려 했습니다. 관련된 속성을 사용하려 했으나, minSDK 와 호환이 되지 않는 이슈가 발생하여, 이를 해결하기 위해 CustomView 를 구현하였습니다. 물론 라이브러리를 사용해도 되고, minSDK 를 올려도 되지만, 저는 minSDK 만은 올리지 않겠다는 생각을 갖고 있기 ..
Fragment Lifecycle 과 UX (feat.Navigation Component) Intro 상용 앱들을 보면 Activity 와 Fragment 를 1:N 으로 두는 앱이 참 많습니다. 하나의 Activity 에 여러 개의 Fragment 를 두다 보니, 자연스럽게 Android Navigation Component 를 사용하게 됩니다. Navigation Component 는 Fragment 간 상호작용과 데이터 통신을 간편하게 구현할 수 있도록 지원하며, Fragment to Fragment 에 Animation 도 비교적 편리하게 적용할 수 있습니다. 또한, AndroidStudio 3.3v 부터는 Navigation GUI 를 지원하기 때문에 앱의 전체적인 시나리오를 한 눈에 볼 수 있어, 개발 편이성도 증가시켜줍니다. Navigation Component 는 Fragment..
[XML] LineWork 각종 계산을 통해서 텍스트가 위치할 정중앙 값을 구하여 배치한 TextView 입니다. 저는 심플하고 깔끔한 디자인을 좋아하여 자주 사용하게 될 것 같습니다. 라인과 텍스트의 색상, 두께의 변경이 가능하며 텍스트의 경우, 폰트도 변경할 수 있도록 하였습니다. 애니메이션을 사용하여 감성 가득한 View Interaction 을 구성할 수 있습니다. 앱 온 보딩시 사용하면 좋을 듯 합니다.
[XML] HeaderTextView 헤더가 있는 뷰. 버튼으로 사용할 수도 있습니다. 헤더 텍스트의 색상, 크기 조절이 가능하며, 바디 텍스트의 경우 기본 텍스트뷰의 모든 속성을 사용할 수 있습니다. 테두리의 두께 역시 조절이 가능합니다. 근데 만들고 보니 현대카드 앱 느낌이 좀 나는 것 같습니다. 내친 김에 폰트까지 받아서 현대카드 처럼 만들었습니다. 색 배합을 다르게 하여 팬시한 연출도 가능합니다.
[XML] ColoredBorderView 처음엔 사각형에 색상있는 테두리를 넣으려고 했던 건데, 구현을 하다보니 색상 변화를 넣으면 재미있을 것 같아 넣어보았습니다. 그랬더니 불 들어오는 마우스 패드 느낌도 납니다. 색상 변화 애니메이션은 클래스 내부 companion object 블럭에 객체를 생성했습니다. 테두리의 색상과 두께 조절 및 전체 사이즈 조정이 자유롭게 가능합니다. 내부 색상 역시 변경할 수 있으며, 애니메이션을 재생하지 않을 수 있습니다.
LiveData 를 선언하는 방법 (get Keyword) LiveData 및 MutableLiveData 가 안드로이드 플랫폼에서의 MVVM Architecture 구현에 큰 역할을 해왔다는 사실에는 누구도 부정할 수 없습니다. 구현이 복잡하고 보일러 플레이트 코드가 많은 Observer Pattern 을 대체하여 간편하게 사용할 수 있기 때문입니다. StateFlow 와 SharedFlow 가 추가되면서 그 입지가 많이 줄었지만, 그래도 여전히 수많은 안드로이드 앱에 사용되고 있습니다. 저는 개발 공부를 할 때 다른 개발자들의 코드를 많이 참고하는 편입니다. 그 개발자들을 선택하는 기준은 두 가지인데, - 유명한 개발자 - 좋은 품질의 코드를 개발할 수 있는 환경에 있는 개발자 가 그 것입니다. 그러한 개발자들의 여러 코드를 쭉 살펴보면, 보통 소속 집단이나..