Android 공부

    ANDROID ACCESSIBILITY 더 잘 사용하기

    서론 안녕하세요. 최근에 저는 신입사원으로 안드로이드 개발을 시작했습니다. 회사에서는 가장 먼저 진행하게 된 것은 ACCESSIBILITY 작업을 맡아서 진행을 하고 있고, 조금 더 잘 사용하기 위해서 해당 기술들을 정리해서 쉽게 사용할 수 있게 하려고 블로그 글을 작성하고 있습니다. ACCESSIBILITY는 시력이 불편하신 분들이 talkback이라는 안드로이드에서 스크린을 읽어주는 스크린리더 기능을 잘 활용할 수 있도록 각종 스크린 값들을 지정하는 것을 말합니다. 0. 백문이불여일도큐먼트 링크 앱 접근성 향상 원칙 | Android 개발자 | Android Developers Android 기기를 사용하는 일부 사용자는 여타 사용자와는 다른 접근성 기능을 필요로 합니다. 동일한 접근성 기능을 필요로..

    Support for newer Java language APIs

    보호되어 있는 글입니다.

    Material Design - Motion - 1

    0. 서론 앱 개발을 하면서 꾸준하게 관심을 갖고 있던 부분이 있다. 그것은 바로, 레이아웃을 내가 원하는대로 자유롭게 그리는 것과 레이아웃을 내가 원하는대로 자유롭게 움직이는 것이다. 2019/03/25 - [Android 공부/Android UI] - Android Motionlayout 삽질기 2018/10/24 - [Android 공부/Android UI] - 안드로이드 ConstraintLayout 사용법 2019/04/10 - [Android 공부/Android UI] - [안드로이드 UI 공부] Android Shared-Element Transitions - 1 2019/04/12 - [Android 공부/Android UI] - [안드로이드 UI 공부] Android Shared-Elem..

    [Dagger-1] Scabbard를 이용해서 Dagger2 시각화하기

    0. 서론 이번 업데이트에서는 Dagger2의 구조를 바꾸었다. 이전에는 컴포넌트의 계층이 없이 중구난방으로, 호출되었는가 하면, 업데이트를 하면서 컴포넌트의 계층을 주게 되었다. 그에 대한 결과물이 어떤 모습일까 궁금했고 Dagger2의 시각화 플러그인을 찾기 시작했다. Scabbard 라는 플러그인을 사용하게 되었다. https://arunkumar9t2.github.io/scabbard/ Scabbard Scabbard A tool to visualize and understand your Dagger 2 dependency graph. Your browser does not support the video tag. More advanced examples. Features Visualize ent..

    Android DarkTheme 도입기

    1. 서론 - Dagger2 구조 변경 - Jetpack Navigation - ViewModel 전면 도입 - 다크테마 도입 레퍼런스를 듣다보면, 다크테마에 대한 발표를 꽤나 들은 경험이 있습니다. 그리고 특히 최근에는 많은 앱에서 다크테마를 도입해서 좋은 UI/UX를 제공하는 사례가 많아졌고, '담다' 앱에도 도입해야겠다고 생각이 들었습니다. 그래서 다크테마를 도입하게 되었습니다. 작지만, 다크테마 도입을 하면서 누구나 쉽게 다크테마를 도입할 수 있다는 이야기를 해보려고 합니다. 2. 다크테마는 무엇인가? 우선, 다크테마는 developer에 이렇게 명시되어 있습니다. - 기기에 따라 전력량을 아낄 수 있습니다. - 가시성을 개선합니다. - 어두운 환경에서 쉽게 기기를 사용할 수 있습니다. 특히, 저..

    RecyclerView-selection 느낀 점

    0. 서론 안녕하세요. '담다'앱을 개발하면서, recyclerview-selection을 사용했습니다. 시간표와 함께, TO-DO를 관리하기 위해서 만들면 유용할 것이라고 생각을 했습니다. 밑의 gif에서 보이는 것처럼 왼쪽에서는 날짜를 누르는 단일 selection을 사용했고, 오른쪽에서는 끝 낸, 일정을 관리하는멀티 selection을 사용했습니다. 결론을 말하면, selection 라이브러리는 해당 기능을 구현하기에는 좋은 라이브러리가 아니라는 것을 알게 되었습니다. 1. 장점 - 어느 정도 정형화 된 방법으로 Selection을 구현할 수 있다. - docs에서 제공하는 간단한 예제를 통해서 간단한 기능을 구현하는 것에 적합하다. - 아이템을 선택 -> 선택한 아이템을 일괄적으로 처리하는 단순한..

    안드로이드 - Jetpack Navigation 사용 [코드 리팩토링]

    0. 사용하는 이유 '담다' 앱은 2년 전에 레이아웃의 구조나, 액티비티의 계층 구조에 대해서 전무할 때부터 만들고 관리한 앱이다. 메인화면은 바텀 네비게이션 구조에, 5개의 주제로 앱의 서비스를 제공하고 있다. 그런데, 기존의 구조는 main.xml에서 visible과 gone을 통해서 2000여줄의 레이아웃을 관리하는 구조였고, 최근 들어서 느린 렌더링으로 앱이 사용자에게 서비스를 제공한다는 것을 알았고, 구조를 바꾸기 시작했다. 1. 생각한 구조 기존의 구조는 바텀 네비게이션을 클릭하면 코드에 의해서, 모든 레이아웃을 visible과 gone을 통해서 직접 관리를 해주었습니다. 해당 앱을 계속해서 유지보수하고, 만든 경험덕에 사실 큰 불편함은 느끼지 못 했지만, 느린 렌더링을 해결하기 위해서 전면으..

    RecyclerView 더 잘쓰기

    0. 서론 RecyclerView는 안드로이드 개발자라면, 질리도록 볼것이고, 계속해서 사용할 것이다. 그래서 대부분의 기능에서 RecyclerView를 요구하고 있고, 이를 커스텀해서 사용하는 경우가 많다. 그래서, 나는 RecyclerView만 다양하게 사용할 수 있다면, 안드로이드의 많은 기능을 구현할 수 있을 것이라고 단언한다. 1. 기본적인 구조 리사이클러뷰는 리스트뷰에서 출발을 한다. 우선, 리스트뷰와 리사이클러뷰를 비교하자면, 리사이클러뷰를 사용한다고 해서 리스트뷰보다 무조건적인 성능성의 이점을 갖는 것이 아니다. 리스트뷰는 동일한 레이아웃을 갖고 있는 뷰를 뿌려주기 위해서 사용하는 위젯이고, 리스트뷰가 많은 아이템을 갖게 되면 별도의 장치가 없기 때문에 메모리를 절약할 방안이 필요하기 때문..