본문 바로가기

분류 전체보기

(38)
[Algorithm] 버전 비교 알고리즘 (Version Compare) 프로젝트 진행 중 두 개의 버전을 비교해야 할 일이 있었습니다. 단순 버전 코드 비교가 아니고 major.minor.hotfix 형식의 String형 비교였기 때문에, 복잡한 알고리즘은 아니지만 나중에 사용할 수도 있어 기록합니다. 목표 두 개의 버전이 주어졌을 때 비교하여 큰 버전을 반환하시오. 버전은 major.minor.hotfix(1.0.0)의 형태로 제한됩니다. 입력 예시 "1.0.0", "2.0.2" 출력 예시 "2.0.2" 코드
[Android] 쉽고 빠르게 시계 만들기 (현재시간 출력) Android 시계 만들기라고 검색해보면 많은 검색 결과에서 TextView에 AsyncTask 또는 Handler를 이용하여 매 초마다 TextView를 갱신하는 방법을 사용하라고 합니다. 하지만 그 방법보다 쉽고 빠르게 현재 시간을 출력할 수 있는 방법이 있습니다. 바로 Widget에서 기본으로 제공되고 있는 TextClock입니다. TextClock Doc https://developer.android.com/reference/android/widget/TextClock TextClock | Android Developers developer.android.com TextClock은 Api Level 17(젤리빈)부터 지원하며, TextView를 상속받아 만들어진 클래스입니다. TextClock 내..
[Android] DrawerLayout의 Swipe를 비활성화 시키기 DrawerLayout을 사용하다 보면 DrawerLayout의 Swipe 기능을 비활성화시키고 싶은 경우가 있습니다. 이럴 때, 사용할 수 있는 LockMode를 알아보겠습니다. DrawerLayout Doc https://developer.android.com/reference/android/support/v4/widget/DrawerLayout DrawerLayout | Android Developers From class android.view.ViewGroup void addChildrenForAccessibility(ArrayList arg0) void addFocusables(ArrayList arg0, int arg1, int arg2) void addKeyboardNavigationClu..
[Markdown] README.md 를 작성해보자 Markdown은 텍스트 기반의 마크업언어로 2004년 존그루버에 의해 만들어졌으며 쉽게 쓰고 읽을 수 있으며 HTML로 변환이 가능하다. 특수기호와 문자를 이용한 매우 간단한 구조의 문법을 사용하여 웹에서도 보다 빠르게 컨텐츠를 작성하고 보다 직관적으로 인식할 수 있다. 마크다운이 최근 각광받기 시작한 이유는 깃헙(https://github.com) 덕분이다. 깃헙의 저장소Repository에 관한 정보를 기록하는 README.md는 깃헙을 사용하는 사람이라면 누구나 가장 먼저 접하게 되는 마크다운 문서였다. 마크다운을 통해서 설치방법, 소스코드 설명, 이슈 등을 간단하게 기록하고 가독성을 높일 수 있다는 강점이 부각되면서 점점 여러 곳으로 퍼져가게 된다. (출처 : https://gist.github..
[Github] Contribution 그래프가 그려지지 않을 때! Github는 Git을 이용하여 무료로 코드를 저장&배포 하게끔 도와주는것은 누구나 알 것이다. Github에 소스를 업로드 하면 재밌는 요소가 한가지 있는데 바로, Contribution 그래프이다. 바로 이 네모네모들이 Contribution 그래프! 계정 저장소에 코드를 추가하거나 수정 등을 할 때 해당 날짜에 활동 정도(?)에 따른 연한 회색부터 진한 초록색으로 채워진다. 꾸준히 Github 활동을 하다보면 초록색이 우거진 그래프를 보는 쏠쏠한 재미가 있다.실제로 저 그래프를 1일 1커밋을 목표로 하는 개발자분들도 많은것으로 알고 있다. 나도 처음 Github을 이용할 때 꾸준히 그래프를 채워보려고 했으나 쉽지 않았다. 이번에 Node.js를 배워가며 서버를 하나 만들어 보고 있는데 이참에 Git..
[Error] Failed to resolve: com.android.support:support-v4:26 이번에 새로운 안드로이드 서포트 라이브러리 26이 공개가 되었다.이것저것 기능들이 많이 추가 되었는데 새 프로젝트에서 26버전을 사용해보기로 했다.build.gradle에 라이브러리를 추가하니 Gradle Sync 에러가 발생하였고 에러의 내용은 다음과 같았다. 보통 이 상황에서 Install Repository and sync project를 선택하면 알아서 해결되는 경우가 많다.하지만 아무리 해도 에러는 사라지지 않았고 해결방법을 찾았다. project 단위의 build.gradle로 이동하여 repositories 스코프에 google의 maven 저장소를 추가해주어야 한다. maven { url "https://maven.google.com" }결과는 아래처럼 될 것이다.allprojects { ..
[RecyclerView] Item에 ClickListener 달기 · Item에 ClickListener 달기 보통 리스트는 아이템을 클릭하여 무언가 액션을 취하게 됩니다.RecyclerView에 onClick 효과를 달아 보겠습니다. 1 코드 이번엔 간단 하므로 지난 글에 사용한 코드를 그대로 사용하여 한두줄 정도만 추가하겠습니다. 지난 글 링크 1. [RecyclerView] 기본 RecyclerView 만들기2. [RecyclerView] 가로형 RecyclerView 만들기3. [RecyclerView] Item에 ClickListener 달기 VerticalAdapter.class@Override public void onBindViewHolder(VerticalViewHolder holder, int position) { final VerticalData d..
[RecyclerView] 가로형 RecyclerView 만들기 · 가로형 RecyclerView 만들기 기본적인 세로형 RecyclerView는 만들었으니 이제 한단계 올려서 가로형을 만들어보겠습니다. 코드는 지난 포스트인 기본 RecyclerView 만들기를 토대로 하겠습니다. 이 글은 지난 포스트를 토대로 이루어지니 꼭 1번글을 숙지해야 합니다. 지난 글 링크 1. [RecyclerView] 기본 RecyclerView 만들기 2. [RecyclerView] 가로형 RecyclerView 만들기 3. [RecyclerView] Item에 ClickListener 달기 1 순서대로 차근차근 만들어보자 이번에는 데이터가 가로로 나열되는 Horizontal RecyclerView를 만들어보겠습니다. 기본적인 토대는 세로형 RecyclerView와 동일합니다. 변경/추..