Popular
Recent
-
Android App With Multi Module안드로이드 2019.04.18 20:19
오늘은 새롭게 공부한 Module에 대해서 포스팅 하려고 합니다. Definition 모듈은 안드로이드 디벨로퍼 사이트에 다음과 같이 정의 되어있습니다. 모듈은 소스 파일 및 빌드 설정으로 구성된 모음이며, 이를 통해 프로젝트를 별개의 기능 단위로 분할할 수 있습니다. 프로젝트에는 하나 이상의 모듈이 포함될 수 있으며, 하나의 모듈이 다른 모듈을 종속성으로 사용할 수 있습니다. 각 모듈은 개별적으로 빌드, 테스트 및 디버그할 수 있습니다. 위의 설명처럼 모듈은 각각 소스 파일과 빌드 설정으로 구성된 모음입니다. 조금 더 직관적으로 설명을 하자면 아래와 같이 안드로이드 스튜디오에서 가장 먼저 프로젝트를 생성할 때 보이는 app이라는 것이 하나의 모듈이라고 할 수 있겠습니다. Module? Library? ..
-
ViewPager와 PageTransformer를 활용한 Intro Screen안드로이드 2019.04.16 11:22
이번 포스팅의 주제는 ViewPager와 PageTransformer를 활용하여 애니메이션이 들어간 Intro Screen을 만들어보도록 하겠습니다. 시작에 앞서서 Google Drive의 Intro를 보시겠습니다. Google Drive Intro 위는 Google Drive의 Intro인데요. 실제로 보시면 기존의 ViewPager보다는 좀 더 사용자와 인터렉션이 더욱 원할히 할 수 있습니다. 사용자의 스와이핑에 맞춰서 화면의 색이 변하고 페이지 내의 object들이 서로 다른 애니메이션 효과를 가지고 이동하는 것을 볼 수 있습니다. 이것을 보통 Parallax 스크롤이라고 합니다. 일반적인 방식으로 ViewPager를 구현해 보면 아래와 같습니다. 기본적으로 View는 3가지 Object로 이루어져..
-
CustomView - BottomNavigationView안드로이드 2019.04.14 17:24
Intro 안드로이드 스튜디오에는 다양한 뷰를 제공을 합니다. TextView, EditText, ImageView, FloatingActionBar, BottomNavigationView 등등 많은 수의 뷰들을 제공합니다. 하지만 이러한 뷰들은 기본적으로 제공이 되어 쉽게 적용이 가능하지만, 새롭고 특이한 UI등을 적용하기 위해서는 어느정도 커스터마이징이 필요하게 됩니다. 이번에는 이러한 View들 중 BottomNavigationView를 커스터마이징 하려고 합니다. 저는 이러한 커스텀뷰를 개발한 적이 없기 때문에, 구글링을 통해서 곡선을 활용한 커스텀뷰를 제작하는법에 대해서 찾아보았습니다. 구글링 결과, 베지어 곡선을 활용하여 개발할 수 있었습니다. 베지어 곡선(Bézier curve 디자인 소프트..
-
아키텍처 패턴 - RAW, MVC, MVP안드로이드 2019.04.12 20:04
Intro 아키텍처 패턴이 필요한 이유는 무엇일까? 개발자에게 프로그래밍을 할때면 코드의 클린성(..?)은 가장 중요하게 여기는 요소 중의 하나라고 누구나 공감할 것이다. 그저 간단한 코딩을 하는 경우에라면 코드의 양이 많지 않고 스스로 개발하는 케이스가 많기 때문에 코드를 깔끔하게 짜는 것이 의미가 없을 수 있겠지만, 일반적으로 사용되는 어플리케이션의 경우에는 코드의 양과 개발 인원이 비약적으로 많아진다. 이러한 경우, 코드의 양이 많기 때문에 각종 클래스, 메서스가 뒤엉켜있고 내가 짠 코드가 다른 사람이 짠 코드가 뒤섞이는 경우도 다분할 것이다. 또한 이렇게 코드가 뒤엉켜있다보면 유닛 테스트를 하기에도 복잡해진다. 그렇기 때문에 이러한 문제들을 해결하고자 모든 것을 분리하여 관리하고 개발하였으며 이런..
-
안드로이드 생명주기-Android LifeCycle안드로이드 2019.04.12 19:59
안드로이드는 나름의 생명주기를 가지고 있는데 이를 LifeCycle이라고 부릅니다. Task 액티비티의 생명주기를 알기전에 Task라는 것에 알아야 하는데 Task라고 하는 것은 사용자와 상호작용하여 특정작업을 실행하는 Activity의 집합이다. Task는 스택의 형식을 띄는데 먼저 생성된 Activity의 순서대로 스택에 저장되게 된다. 아래의 그림은 Task로서 Activity의 실행 순서대로 스택에 쌓인 것을 볼 수 있습니다. Task Task는 다음과 같은 순서를 가지고 실행됩니다. 1. Activity A가 처음 실행되고 스택에 가장 먼저 쌓이게 됩니다. 2. Activty A에서 일련의 활동을 통해 Activity B가 불리게 되면 Activity A의 상태는 정지 상태가 되고 스택 의 맨 ..
Algorithm
-
점수를 선물하자 - 알고리즘티끌모아 연산 2019.04.19 22:49
https://www.hackerrank.com/challenges/grading/problem?utm_campaign=challenge-recommendation&utm_medium=email&utm_source=24-hour-campaign Grading Students | HackerRank Round student grades according to Sam's rules. www.hackerrank.com Problem HackerLand University has the following grading policy: Every student receives a grade in the inclusive range from 0 to 100. Any grade less than 40 is a fail..
-
모래시계 - 알고리즘티끌모아 연산 2019.04.18 11:17
https://www.hackerrank.com/challenges/2d-array/problem?h_l=interview&playlist_slugs%5B%5D=interview-preparation-kit&playlist_slugs%5B%5D=arrays 2D Array - DS | HackerRank How to access and use 2d-arrays. www.hackerrank.com Problem Given a 2D Array, : 1 1 1 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 We define an hourglass in to be a subset of values with indices falling in ..
-
Date 포맷 변경 - 알고리즘티끌모아 연산 2019.04.18 09:47
https://www.hackerrank.com/challenges/time-conversion/problem?h_r=next-challenge&h_v=zen&isFullScreen=false Time Conversion | HackerRank Convert time from an AM/PM format to a 24 hour format. www.hackerrank.com Problem Given a time in 12-hour AM/PM format, convert it to military (24-hour) time. Note: Midnight is 12:00:00AM on a 12-hour clock, and 00:00:00 on a 24-hour clock. Noon is 12:00:00PM o..