전체 글 39

가위바위보 챔피언 출시

2048 출시하고...하아아안참뒤에 언제였더라 출시하고... 그 뒤로 얼마의 세월이 흘렀나.... 많이 지났다. 아이디어 수첩에 아이템은 쌓여가는데 아이가 태어난 뒤로 시간은 더 없고 이제는 구현해 낼 실력도 없는 듯 하다. 그러던 와중에 프로젝트 중간 중간 여차저차 시간 만들어서 가위바위보 챔피언을 만들었다. 역시나 디자인은 구리다. 해결 불가. 그래도 어찌되었건 오랫만에 게임을 하나 완성했다는데 의의를 두고 싶다. 구글게임서비스를 이용하여 실시간 대전이 가능하도록 만들었다. 온라인으로 가위바위보를 즐겨보자. 2048은 세월이 많이 흘렀지만 아직도 플레이 하는 친구가 있다. 누군지는 모르다. 1명이 계속 플레이 하다가 최근에는 2명이 계속 플레이 하는것 같다. 정말 고마운 느낌이다. 가위바위보는 1천 ..

안드로이드 2018.07.13

[안드로이드] 빠른 메모 빠른 검색. 언제였더라 출시

어제 뭐 먹었는지 그저께 뭐 먹었는지... 지난번 미용실 다녀온게 언제인지... 사소한 일들이 생각이 잘 안나기 시작한다. 카드 명세서를 뒤지면 더러 알수도 있지만 대부분 그냥 모르는 채 지나가는 일이 많다. 내 인생에 사소하게 벌어지는 일들을 기억하려면 역시 메모를 해야 하는데 기존의 메모장들은 내가 딱 원하는 스타일이 아니라서 잘 안쓰게 되더라는 것이다. 그래서 내가 필요한 기능만 간단하게 집어 넣어서 메모장을 만들었다. 팝업창으로 간편하게 메모를 할 수 있고 태그를 달고 검색이 쉽게 만들면 될 것 같았다. 제목은 언제였더라? 로 정하고 코딩을 시작했다. 사실 뼈대 만든건 거의 1년 전인거 같다. 그러다가 프로젝트 바쁘고 하면서 잊고 살다가 연말에 폰을 안드로이드로 바꾸면서 이제는 정말 내가 필요한 ..

안드로이드 2017.03.01

[안드로이드] Notification 영역에 알림 표시하기

푸시를 받거나 기타 어떤 이벤트가 있을 때 노티바에 알림을 표시해 주는 경우가 많다. 기본적인 형태는 노티바에 제목과 내용 정도 표시해 주고 선택하면 미리 설정해 놓은 인텐트가 실행되는형태가 일반적이다. private void showNotification2() { Intent activityIntent = new Intent(getActivity(), MainActivity.class); PendingIntent activityPIntent = PendingIntent.getActivity(getActivity(), 0, activityIntent , 0); Uri defaultSoundUri= RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICAT..

안드로이드 2017.02.21

[안드로이드] 유용한 라이브러리 - 버터나이프 (Butter knife)

안드로이드 개발이 참 많이 편해졌다. 기능도 많아지고 편리한 라이브러리도 많아졌다. 웬만한건 직접 만들기 전에 검색이라도 한 번 해보는게 이득이다. 나보다 유능한 사람들이 편리하게 라이브러리화 시켜놓은 것들이 수두룩하니까.. 오늘 편리한 라이브러리 하나 소개를 하고자 하는데 아는 사람은 많이들 아는 버터나이프라는 라이브러리다. http://jakewharton.github.io/butterknife/ 앱을 만든다고 하면 프로젝트를 생성하고 액티비티를 만든 다음에 아마 다음과 같은 코드를 만들게 될 것이다. 이건 어느 액티비티에나 거의 다 있고 반복적으로 사용하는 코드들이다. 액티비티 뿐 아니고 프래그먼트든 어디든 UI 가 있다면 거의 들어가는 코드들이다. public class MainActivity e..

안드로이드 2017.02.02

[안드로이드] 안드로이드 스튜디오 자동 임포트 (Android studio auto Import)

이클립스에서 스튜디오로 넘어오면서 제일 짜증나는게 단축키다. 익숙하게 쓰던 단축키가 바뀌니 여간 불편한게 아니다. 그나마 단축키는 불편함을 보완할 몇가지 방법이 있으니 다행인데 (요거 나중에 포스팅 해야지) 기능 자체가 없어지면 곤란하다. 기능이 없어진건 아닌데 단축키로 제공하지 않는 기능이 바로 자동 임포트다. 이클립스 시절 ctrl + shirt + O 를 뻔질나게 눌러댔었는데 스튜디오에는 그게 없으니 임포트때문에 많이 불편하다. 빨간줄 위에서 alt + enter 누르면 되긴 하는데 빨간줄이 여기저기 더덕더덕 붙어있을때....한숨이 나온다. 단축키는 아니지만 자동 임포트는 있다!!! 일단 셋팅으로 진입해 주시고 에디터에 일반 설정 가보면 자동 임포트가 자리잡고 있다. 주황색 박스로 표시한 부분이 기..

안드로이드 2017.02.01

[안드로이드] ZXing을 이용하여 간단하게 바코드 이미지 생성하기

바코드 이미지가 필요한 경우가 종종 있다. 스캐너가 필요한 경우도 있고 바코드 생성이 필요한 경우도 있겠다. 대표적인 오픈소스 라이브러리인 ZXing 을 이용하면 스캔도 생성도 가능하다. https://github.com/zxing/zxing 스캔 없이 생성만 하려면 아주 쉽게 가능하다. 바코드 생성에는 core 라이브러리만 있으면 된다. https://repo1.maven.org/maven2/com/google/zxing/core/3.3.0/ 코어 라이브러리를 다운 받고 아래와 같은 함수를 만들어 주면 끗. public Bitmap makeBarcode(String str, int width, int height){ Bitmap bmp = null; com.google.zxing.Writer c9 = ..

안드로이드 2017.01.26

캐시슬라이드 출금

작년 봄에 프로젝트 하면서 깔았던 캐시 슬라이드.... 한동안 열심히 했었지만 아이폰 유저로서 지속적으로 열심히 하기가 어려워 중간에 좀 쉬다가... 8월에 국민은행 플젝하면서 테스트폰에 깔아서 열심히 했더랬다. 그리고 연말에 갤럭시로 폰을 바꾸면서 불꽃을 태워 5만원을 채웠다. 출금 신청 후 이제 더이상 하지는 않지만 기념으로 올려본다. 1년이 조금 안되는 기간...오래도 했다. 겨우 5만원...내가 이러려고 열심히 밀었나...자괴감이 들고 괴롭기도 하지만 어쨌거나 꾸준히 적립해서 5만원 출금했다는데 의의를 두고싶다.

기타 2017.01.25

[안드로이드] TextView 글자 중간에 색깔 넣기

TextView 는 아마 가장 많이 쓰는 콘트롤중에 하나일 것이다. 많이 쓰는 만큼 익숙하지만 뭔가 살짝 아쉬움이 남는게 또 텍스트뷰다. 뷰 크기에 맞게 글자크기를 조절해 준다든지...아이폰처럼... 기타 여러가지 커스터마이징이 필요한 경우가 많다. 오늘은 커스텀 말고 사용법인데 텍스트 뷰에 스트링을 넣는데 중간에 색깔이 다를 필요가 있다. 이를테면 강조하기 위해서 빨간색을 넣는다든가...기타 등등 텍스트뷰를 쪼개서 setTextColor 를 통해서 한다고 하면 레이아웃도 엉망진창이 되고 원하는만큼 깔끔하지도 않다. 그런데 다행히 텍스트뷰는 HTML 을 집어넣을 수 있다!!! HTML 이라면 기본적으로 많은 것이 가능하다. 내가 만들고 있는 메모장에는 검색 기능이 있다. 검색을 한 결과를 나타낼때...검..

안드로이드 2017.01.20

[안드로이드] 테마 유지하면서 배경이 투명한 다이얼로그 액티비티 만들기

팝업 형태로 액티비티를 띄울 일이 많이 있다. 다이얼로그를 상속받아서 만들수도 있지만 액티비티가 편한 경우가 많기 때문에 액티비티를 다이얼로그처럼 보이게 많이들 한다. 지금 메모장을 하나 만들고 있는데 메모 입력창을 작게 만들고 팝업 형태로 만들기 위해 이전부터 써왔던 코드를 사용했었다. 이렇게 적용하고 나면 배경이 투명해지고 다이얼로그 팝업 형태로 나온다. 그리고 배경에 디밍을 주기 위해서 onCreate() 함수에서 아래와 같이 해줘야 했다. WindowManager.LayoutParams lpWindow = new WindowManager.LayoutParams(); lpWindow.flags = WindowManager.LayoutParams.FLAG_DIM_BEHIND; lpWindow.dimA..

안드로이드 2017.01.19

[안드로이드] aar 빌드에 포함시키기

libs 폴더에 jar, aar 등을 넣으면 자동으로 컴파일에 포함되는 것 처럼 보인다. 그런데 이상하게 내껀 안된다. ㅎㅎㅎ 자동으로 다 되면 좋겠지만 안되는 경우에 이렇게 하면 된다. 오늘 해 본 내 경험이다. 일단 libs 폴더에 필요한 aar 파일을 넣는다. 그 담에 build.gradle 에 아래와 같이 넣어준다. repositories { flatDir { dirs 'libs' } } 그리고 마지막으로 디펜던시를 아래와 같이 걸어주면 된다. dependencies { compile(name:'libraryfilename', ext:'aar') }물론 name 뒤에는 실제 이름을 넣어줘야 한다.

안드로이드 2017.01.17