본문 바로가기

분류 전체보기

(23)
온더로드 제작기 #1 전역 직후 우연히 서울시 앱 공모전에 출품했었던 앱을 소개해 볼까 한다. 아이디어의 발생은 지인과 통화하는 중이었는데 야근이 잦은 친구라 그날도 밤 12시가 넘어 택시를 타고 가는 중이었는데 택시기사가 너무 신호 무시와 너무 빠른 속도에 한마디 하고 싶었지만 괜히 말했다가 해코지를 당할까 봐 겁이나 말을 못 하고 있었다고 한다. 다행히도 아무 일 없이 도착은 했지만 사고가 날까 두려움을 갖고 있었고 택시 안에 비치된 민원신고는 운송회사 전화번호나 다산콜센터 전화번호인데 뒷좌석에 앉아서 민원 넣는 사람이 과연 있을까? 이처럼 다산콜센터가 서울을 시작으로 전국적으로 운영되고 있지만 대중교통, 특히 택시를 이용하면서는 활용하기가 조금 어려운 것 같다는 생각이 들어 이 서비스를 만들어보고자 하여 다산콜센터로 민..
웹페이지에 코드 공유하는 방법 간혹 블로그나 웹사이트 글을 보다보면 이미지는 아닌데 코드툴을 잘라놓은 듯한 자료를 본 적 있을 것이다. 나도 처음에는 스크린샷으로 찍어보다가 자료를 참고하는 입장에서는 복붙이 불가능한 스크린샷 자료는 말 그대로 그림의 떡임을 알기에 찾아보았다. https://colorscripter.com/ Color Scripter Simple & Flexible Syntax HighLighter colorscripter.com 다른 사이트나 툴도 많이 있겠지만 주로 이 사이트의 도움을 받는다. 딱히 원리를 파헤칠 생각은 없지만 이 사이트는 내가 코드를 작성하면 복사했을때 태그와 태그를 자동으로 코드에 입혀 클립보드에 저장시켜줘서 블로그나 웹사이트에서도 코드의 가독성을 높여주는 역할을 한다. 사용방법은 이렇다 표시된..
[CustomView] TextView를 이용한 SNS 더보기 기능 최근에 앱에서 SNS 기능을 구현하고 있다. 그러다 보니 다양한 UI들이 필요했고 글이 길어지면 자동으로 접히는 '더보기'기능을 만들어 보기로 했다. 기본적으로 Android에서는 ellipsize라는 것을 제공하는데 정해둔 길이를 초과하면 '...'으로 표현해 준다. 다음은 사용방법이다. 단, maxLines와같이 max값을 두어야 제대로 동작함. 1 2 3 4 5 6 ellipsize의 값으로 start, end, middle, none 등이 있는데 단독적으로는 사용이 안된다. 앞서 언급한 바와 같이 정해둔 길이가 필요하기 때문에 보통 maxLines를 함께 사용한다. 하지만 여기서 필요한 것은 '...' 뒤에 '더보기'가 붙어서 누르면 내용이 펼쳐지는 게 ExpandableTextView의 목적이기..
안드로이드 버전과 API레벨 안드로이드는 수많은 버전과 버전코드, 네이밍 그리고 개발자들이 알아야하는 API레벨이 존재한다. 하지만 나는 기억하는 걸 귀찮아하는 탓에 감으로만 익히고 있어서 확인을 위해 매 프로젝트마다 검색하여 찾는데 이젠 그 것 조차 귀찮아서 여기다가 정리하려 한다. 네이밍 버전 API 레벨 발표일 - 1.0 1 2008년 9월 23일 Petit Four(프티 푸르) 1.1 2 2009년 2월 9일 Cupcake(컵케익) 1.5 3 2009년 4월 27일 Donut(도넛) 1.6 4 2009년 9월 15일 Eclair(에클레어) 2.0 - 2.1 5 - 7 2009년 10월 26일 Froyo(프로요) 2.2 - 2.2.3 8 2010년 5월 20일 Gingerbread(진저브레드) 2.3 - 2.3.7 9 - 10..
[CustomView] ViewPager를 이용한 슬라이드 배너 만들기 이번 CustomView는 광고 배너나 이미지를 넘겨보기 위해 제작하였다. 흔히 이런 형식의 배너들이 곳곳에 있기에 누군가 만든 소스도 있겠지만 공부 겸 직접 만들어 보았다. 그래서 추가로 넣은 기능은 다음과 같이 옆으로 밀었을 경우 다음 또는 이전에도 사진이 있다는 것을 보여주기 위하여 애니메이션을 넣었는데 이런 애니메이션도 가끔 본 적이 있을 것이다. 이런 형태의 기본 원리는 ViewPager를 사용하여 그 안에서 돌아갈 View를 보여주는 것 이다. 따라서 기본적인 ViewPager Adapter를 구현하는 것처럼 만들어주면 되는 것이다. void autoSlide(boolean start) void autoSlide(boolean start, long reapeatTime) - 광고 배너처럼 자동..
[CustomView] AppCompatEditText 를 이용한 HashTag 입력창 최근 SNS 기능도 넣자고 하신다... SNS와는 거리가 멀던 서비스라서 사막에서 건물 짓듯 처음부터 하나씩 만들어야 했다. 그렇기에 본격적으로 CustomView를 만들어 재사용을 하려고 만들기 시작하였다. 그중 하나인 HashTag 관련한 View이다. 설정한 글자의 개수, 태그 개수 내에서 글자를 적고 띄어쓰기나 개행을 하면 자동으로 #이 붙으면서 글자가 입력되는 CustomEditView이다. AppCompatEditText의 메소드 중에는 onTextChanged라는 메소드가 있는데 이번 라이브러리의 중요한 키포인트다. 이름에서 알 수 있듯 이 메소드는 Text입력을 감지하는데 띄어쓰기 또는 개행 그리고 글자의 수 등을 체크하여 #을 붙여주는 원리이다. 나는 코드를 작성할 때 엄청난 기능도 리모..
[CustomView] 단계를 표현하는 StepIndicator 제작 프로젝트를 진행하던 중 UI 개선이 필요했다 다음은 Before의 Step Indicator(?)이다. 위와 같이 기존에는 단순하게 동그라미 모양으로 되어 있으며 각 단계마다 동그라미에 색을 채워주고 있었기에 사용도 불편했으며 소스를 다른 사람이 관리하게 되면 실수할 가능성도 컸기에 다른 방법을 모색했다. 그 방법으로 저걸 하나의 View로 작성하면 어떨까하는 생각으로 만들게 되었다. 내가 만든 CustomView 중에 가장 처음 만든거라 어색한 것도 많지만 프로젝트에 바로 사용해야 했기에 아직은 버전업을 못하고 있다.(핑계...) 내가 만든 버전은 단순하다. 이렇게 생긴 조각을 여러개 붙여서 그림을 그리고 제일 처음과 뒤는 각각 View의 색을 배경과 맞춰주었고, 사용할 때는 메소드는 최대한 적게 사용..