Android/Common

Android/Common

[Android] MVVM 적용하기 - View와 ViewModel

안녕하세요. 점냥입니다:) 이번 포스팅으로 MVP 패턴에 이어 MVVM 패턴에 대해 포스팅하려고 합니다! MVVM 패턴은 저의 개인적인 생각으로는 가장 보편적으로 사용하는 안드로이드 아키텍처라고 생각됩니다. 만약 MVVM 패턴에 익숙하다면 Clean MVVM을 공부해보시는 것을 추천드립니다! MVVM Architecture MVVM은 Model, View, ViewModel로 이루어져 있습니다. Model은 MVP에서 사용되는 Model 개념과 동일하고 MVP에 비해 MVVM에서 달라진 점은 View와 ViewModel 간의 관계입니다. ViewModel은 MVP 패턴에서 Presenter와 유사하게 Model의 Data를 요청하고 받아 비즈니스 로직을 처리하는 곳입니다. MVP에서 Presenter와 ..

Android/Common

[Android] 상태바 투명으로 만드는 여러 방법에 대한 일지

안녕하세요. 점냥입니다:) 오늘 포스팅 주제는 상태바의 투명하게, 반투명하게 만드는 방법에 대해서 포스팅해 보겠습니다!~ 이 주제는 동아리에서 팀 프로젝트에서 상태바를 반 투명하게 만들려고 하는 과정에서 있었고 오랫동안 저의 머리를 골치 아프게 만들었습니다. ㅠㅠ 이번에 Android R(API 30)이 되면서 변경사항이 생기게 된 점도 다뤄보겠습니다! 상태바 상태바는 Android에 존재하는 여러 시스템 UI 중 하나이며 시간, 알람 등 디바이스의 정보를 아이콘으로 표시해 주는 역할을 수행합니다. 상태바 컬러 변경 @color/primary @color/primary_dark android의 ststus bar 컬러는 기본적으로 styles.xml의 colorPrimaryDark 속성을 따라갑니다. 따..

Android/Common

[Android] Android Font 직접 적용

안녕하세요. 점냥입니다:) 안드로이드에서 제공해주는 폰트 대신 디자이너가 요구하는 폰트를 적용해야 할 때가 생깁니다. 안드로이드 폰트를 적용하는 방법으로 두 가지가 존재한다고 하여 각각의 방법으로 포스팅을 진행하려고 해요! Font Resource Android 8.0(API 수준 26)부터 Font 리소스가 추가되었다고 합니다. res/font 경로에 폰트와 관련된 리소스 파일을 생성하고 R 파일에 의해 접근이 가능하다고 해요. ex) R.font.my_font Q. Android 8.0부터 지원한다고 한다면 그 이전 버전에서는 사용할 수 없는 건가요? 아니에요. 가능합니다! Support Libaray를 이용해 Android 4.1(API 수준 14) 이상부터는 Font를 사용할 수 있어요. 자세한 ..

Android/Common

[Android] 딥 링크 - App Link

안녕하세요 점냥입니다:) 이전 딥링크 - 1 글에서는 URL Scheme 방식과 한계점에 대해서 간단히 알아보았습니다. 이번 포스팅에서는 구글에서 URL Scheme 방식의 한계점을 보안한 App Link에 대해서 알아보도록 하겠습니다. App Link 개요 2015년도에 Google/IO에서 발표한 기술이에요. Scheme 값이 중복되는 문제를 해결하였습니다. App Link는 http, https로 Scheme를 제한해서 URL Scheme 자체가 하나의 도메인을 나타나게끔 변경하였습니다. URL Scheme에서 자유롭게 정의했던 market:// 이나 Line:// 형식은 사용할 수 없습니다. App Link를 적용한 Intent-filter 코드를 보면 scheme을 http, https로 설정했..

Android/Common

[Android] 딥 링크 - URL Scheme

안녕하세요 점냥입니다 :) 동아리에서 딥 링크에 대해서 공부를 하게 되었는 데 모바일에서 딥링크를 적용하기 위한 방법이 여러 가지가 있더라고요! 그래서 나눠서 적어보려고 합니다. 딥 링크 여러분들은 딥 링크가 무엇인지 알고 있으신가요? 깊은 링크..? 딥 링크정의는 홈페이지가 아닌 홈페이지 내에 특정 화면에 한 번에 도달할 수 있는 링크라고 합니다. 구글 검색 결과에서 보이는 각종 사이트들은 사실 링크로 연결되어 있죠. 네이버 블로그 글이나 사진에는 안드로이드 공식 개발자 사이트 글들이 보이네요. 그중에 네이버 블로그 글을 클릭하게 되면 이동하여 열리는 페이지는 네이버 블로그 공식 홈페이지로 가는 것이 아니라 딥링크에 대해서 설명되어 있는 개인 블로그로 들어가게 되죠. 이런 게 딥 링크라고 볼 수 있습니..

Android/Common

[Android] Activity Lifecycle

안녕하세요. 점냥입니다 :) 2021년 1월의 끝이 벌써 다가오고 있어요. 그리고 곧 채용 시즌인가봐요. 🤗 채용 공고 정보를 올려 주는 톡방에 들어가 있으면 요즘 여러 좋은 기업에서 채용 공고들이 올라오고 있는 것을 볼 수 있어요. 저는 그럴때마다 얼른 기술 면접 준비를 해야지 해야지하고 다짐하고 있습니다. 그런 의미에서 이번 포스팅 주제로 Android 기술 면접에서 기초적인 개념일 수도 있지만 헷갈리는 여러 Lifecycle 질문에 대해서 답을 확인해보려고 해요. 이 포스팅을 준비하기 전, "Lifecycle에 대해서 어느정도 다룰 예정이신가요? 범위 엄청 넓어요!" 라는 질문을 받았어요. 사실 주제를 처음 생각할 때는 간단한 개념처럼 느껴졌는데 포스팅을 위해 정리 하다보니 Activity , Fr..

Android/Common

[Android] Dark Theme 적용하는 방법

안녕하세요. 점냥입니다 :) 오늘의 주제는 Android Q에 도입된 굉장히 인기가 많았던 기능으로 저 또한 평소에 선호하고 있는 Dark Theme입니다!! Dark Theme 다크 테마는 안드로이드 스튜디오, 크롬과 최근에 GitHub에서 다크 테마를 공식적으로 지원해주면서 Mash-UP 전체 톡방에 한번 이슈가 되었던 기능이기도 합니다. 다크 테마를 앱에서 사용하면 어떤 점이 좋을까요? 다크 테마의 장점 전력 사용량을 상당히 절약할 수 있습니다(기기 화면 기술에 따라 다름). 시력이 낮은 사용자와 밝은 빛에 민감한 사용자를 위한 가시성을 개선합니다. 누구나 어두운 환경에서 쉽게 기기를 사용할 수 있습니다. 필수적인 기능은 아니지만 다크 테마를 좋아하는 저와 같은 사람들을 위해, Dark Mode 기..

Android/Common

[Android] Testable App - Ui Test

Android Ui Test 안녕하세요. 점냥입니다 :) 여러분은 Android 개발 과정에서 테스트를 도입하시나요? 저도 이번 포스팅을 공부 하면서 처음 도입했는데요. 테스트는 Android 프로젝트를 생성할 때 기본으로 생성되어 있을 정도로 구글에서 권장하고 있습니다. 개발 과정에서 테스트를 도입하면 어떤 점이 좋을 까요? 이 질문에 대한 구글의 공식 답변은 아래와 같습니다. 서비스 장애를 초기에 신속한 발견 기존 코드의 호환성을 신경 쓰지 않고 코드 수정/ 기능 추가 가능 코드의 안전성 보장 테스트는 작성한 코드에 대한 안정성과 정확성, 기능 동작이 올바르게 동작하는지 확인해주고, 무엇보다 이미 테스트로 정확성을 인정된 코드를 수정한 이후 기존 코드와 호환성을 확인할 때 유용하게 사용할 수 있습니다..

Android/Common

[Android] Testable App - JUnit Unit Test

안녕하세요. 점냥 입니다!!! Testing your app is an integral part of the app development process Android Developer 사이트의 원문입니다. 앱 개발하는 과정에 있어서 테스트는 핵심 적인 부분을 차지한다고 하는데요. 프로젝트 구조가 복잡해지는 만큼 기능의 확장 및 유지 보수 측면에서 테스트는 변경된 코드가 기존 기능을 망가뜨리지 않는 지 미리 체크 할 수 있다는 점에서 많은 이점을 주기 때문입니다. 부끄럽게도 저도 지금 껏 개발 했던 프로젝트에 제대로된 테스트를 수행해본 적이 없는데요. 여러분도 저와 같다면 함께 천천히 테스트에 대해서 알아가 봅시다:) Unit Test Unit Test는 테스트 종류 중 가장 작은 단위이며 로컬 기기(개발..

Android/Common

[Android] MVP 적용해보기 - Model 말고 Repository

안녕하세요. 점냥입니다:) 이번 포스팅에서는 MVP 아키텍처 패턴에서 Model에 관하여 알아보려고 합니다. 구글의 Blueprints v2 다양한 아키텍처 샘플 코드와 안드로이드 개발자 사이트의 예제를 보면 데이터를 관리하는 부분의 클래스 이름이 Model이 아니란 것을 느낄 수 있다. data, source 등 새로운 개념이 등장하여 이것이 모델인가?라는 의문이 필자도 들었다. 해당 개념은 Repository Pattern이라는 디자인 패턴 개념이다. Repository Repository pattern은 Model에 대해서 관심사 분리를 수행한 개념이라고 할 수있습니다. MVP에서 Model이랑 데이터를 요청하고 받는 Presenter는 최대 관심사가 뭘까요? 바로 View에게 넘겨줄 Data를 받..

점냥
'Android/Common' 카테고리의 글 목록 (3 Page)