개발
-
CustomView - BottomNavigationView안드로이드 2019. 4. 14. 17:24
Intro 안드로이드 스튜디오에는 다양한 뷰를 제공을 합니다. TextView, EditText, ImageView, FloatingActionBar, BottomNavigationView 등등 많은 수의 뷰들을 제공합니다. 하지만 이러한 뷰들은 기본적으로 제공이 되어 쉽게 적용이 가능하지만, 새롭고 특이한 UI등을 적용하기 위해서는 어느정도 커스터마이징이 필요하게 됩니다. 이번에는 이러한 View들 중 BottomNavigationView를 커스터마이징 하려고 합니다. 저는 이러한 커스텀뷰를 개발한 적이 없기 때문에, 구글링을 통해서 곡선을 활용한 커스텀뷰를 제작하는법에 대해서 찾아보았습니다. 구글링 결과, 베지어 곡선을 활용하여 개발할 수 있었습니다. 베지어 곡선(Bézier curve 디자인 소프트..
-
아키텍처 패턴 - RAW, MVC, MVP안드로이드 2019. 4. 12. 20:04
Intro 아키텍처 패턴이 필요한 이유는 무엇일까? 개발자에게 프로그래밍을 할때면 코드의 클린성(..?)은 가장 중요하게 여기는 요소 중의 하나라고 누구나 공감할 것이다. 그저 간단한 코딩을 하는 경우에라면 코드의 양이 많지 않고 스스로 개발하는 케이스가 많기 때문에 코드를 깔끔하게 짜는 것이 의미가 없을 수 있겠지만, 일반적으로 사용되는 어플리케이션의 경우에는 코드의 양과 개발 인원이 비약적으로 많아진다. 이러한 경우, 코드의 양이 많기 때문에 각종 클래스, 메서스가 뒤엉켜있고 내가 짠 코드가 다른 사람이 짠 코드가 뒤섞이는 경우도 다분할 것이다. 또한 이렇게 코드가 뒤엉켜있다보면 유닛 테스트를 하기에도 복잡해진다. 그렇기 때문에 이러한 문제들을 해결하고자 모든 것을 분리하여 관리하고 개발하였으며 이런..
-
안드로이드 생명주기-Android LifeCycle안드로이드 2019. 4. 12. 19:59
안드로이드는 나름의 생명주기를 가지고 있는데 이를 LifeCycle이라고 부릅니다. Task 액티비티의 생명주기를 알기전에 Task라는 것에 알아야 하는데 Task라고 하는 것은 사용자와 상호작용하여 특정작업을 실행하는 Activity의 집합이다. Task는 스택의 형식을 띄는데 먼저 생성된 Activity의 순서대로 스택에 저장되게 된다. 아래의 그림은 Task로서 Activity의 실행 순서대로 스택에 쌓인 것을 볼 수 있습니다. Task Task는 다음과 같은 순서를 가지고 실행됩니다. 1. Activity A가 처음 실행되고 스택에 가장 먼저 쌓이게 됩니다. 2. Activty A에서 일련의 활동을 통해 Activity B가 불리게 되면 Activity A의 상태는 정지 상태가 되고 스택 의 맨 ..
-
Android Q - RoleManager안드로이드 2019. 4. 12. 19:57
Android Q 최근에 Android Q API가 배포되었습니다. 다양한 API가 있는데 이중 RoleManager 라는 API에 대해 알아보도록 하겠습니다. API의 내용을 보면 다음과 같습니다. Android Q에서는 앱에서 잘 알려진 사용 사례에 따라 시스템 기능과 사용자 데이터에 액세스할 수 있도록 높은 권한을 부여하는 표준 기능인 역할을 도입했습니다. 의미상 각 역할은 음악 재생, 사진 관리, SMS 메시지 보내기 등의 일반적인 사용 사례를 나타냅니다. 베타 1 출시에서는 Android Q에 대해 미리 정의된 역할 집합이 플랫폼에 제공됩니다. 앱에서는 새 RoleManager 클래스를 사용하여 사용 가능한 역할을 쿼리하고 특정 역할을 보유하도록 요청할 수 있습니다. Android Q에서 역할이..
-
Linked List VS Array List안드로이드 2019. 4. 12. 19:54
리스트는 많은 양의 데이터들을 효과적으로 관리하기위해 만든 자료구조 중 하나입니다. 이중 Linked List와 Array List는 Java의 List인터페이스를 구현한 Collection 구현체입니다. Collection 구현체란, 여러 원소들을 담을 수 있는객체로서 배열과는 다르게 크기에 제한이 없고 Resizable한 특징을 가지고 있습니다. Linked-List Linked는 연결된 이라는 뜻을 가지고 있는 단어입니다. 한국어로 있는 그대로 해석하면 연결된 리스트라는 말이 되는데 이처럼 Linked-List의 구조를 보면 아래의 그림처럼 실제로 모든 데이터들이 하나로 연결되어 있는 모습을 볼수 있습니다. https://hackernoon.com/the-little-guide-of-linked-l..