전체 글 39

[Android] 이미지에 그림자 넣기

이미지에 그림자를 넣으려면... 배경이미지를 깔아주면 되는데 이건 영역 자체에 깔리는 거니까 모양과 상관이 없다. 이미지 모양대로 그림자를 깔아주려면 뭘 좀 해줘야겠지. 아래 함수를 사용하면 된다. public Bitmap addShadow(final Bitmap bm, final int dstHeight, final int dstWidth, int size, float dx, float dy, int color, int alpha) { final Bitmap mask = Bitmap.createBitmap(dstWidth, dstHeight, Config.ALPHA_8); final Matrix scaleToFit = new Matrix(); final RectF src = new RectF(0, 0,..

안드로이드 2015.04.16

[Android] 통화설정 관련 사항 메모

콜 관련 어플 및 설정은 여기저기 흩어져 있어서 짜증난다. 나중에 기억할 수 있도록 메모를 해놓자. Dialer : 전화걸기 어플 (전화기 모양 아이콘) - packages/app/Dialer 에 위치함 - packages/app/ContactsCommon 을 참조하여 빌드함. ContactsCommon 내용을 수정하는 경우 그냥 Dialer 만 빌드하면 수정사항이 적용되어 빌드됨. 그러나 똑같은 내용은 Contacts 쪽에서도 사용하는데 Contacts 는 따로 또 빌드해야 그걸 가져다 쓰기때문에 확인이 됨. - 통화화면은 packages/app/InCallUi 에 있는데 이것도 마찬가지로 수정하고 Dialer 빌드하면 적용되어 빌드됨 framework/base/Telecom/java/android/t..

안드로이드 2015.04.08

[Android] 여러가지 색깔의 둥근 사각형 그리기

똑같은 이미지에 색깔만 바뀌는 경우가 많이 있다. 여러가지 색깔의 타일을 값에 따라 매치하는 경우, 예를 들면 2048 게임 같은 경우가 그렇다. 그럴 경우 모든 타일을 이미지로 그리기에는 노가다도 심하고 리소스 용량도 커지고 여러가지로 불편함이 있다. 그럴때는 XML 로 하나를 그려 놓고 색깔을 입히는 방법이 아주 깔끔하다. 둥근 사각형은 다음과 같이 간단한 xml 로 만들 수 있다. 이렇게 만든 drawable을 읽어서 colorFilter 를 적용하면 다양한 색깔을 줄 수 있다. 아래는 TextView 에 적용하는 예이다. TextView tv = (TextView) findViewById(R.id.text); Drawable dd = getResources().getDrawable(R.drawab..

안드로이드 2015.03.24

(Android) dp to px, px to dp

안드로이드는 언제나 px 과 dp 사이에 여러가지 고려할 일이 많다. 기본적으로 여러가지 디바이스에 적용되다 보니 해상도가 천차만별이기 때문이다. 자주 쓰는 것은 함수로 만들어 놓는편이 좋다. 몇가지 방법이 있겠지만 Util 로 넣어놓기에 제일 좋은 함수는 아래정도가 아닐까 싶다. public static int dpToPx(float dp) { return (int) (dp * Resources.getSystem().getDisplayMetrics().density); } public static float pxToDp(int px) { return (float) (px / Resources.getSystem().getDisplayMetrics().density); }

안드로이드 2015.03.16

안드로이드 키 매핑

키를 새롭게 매핑하고 싶을 때가 있다.또는 새로운 단말기 개발에 새로운 키가 달려있는 경우가 있다.안드로이드는 보통 터치 기반이라서 키를 매핑할 일이 거의 없지만... 좌우지간 새로운 키를 매핑하려면.kl 파일과 .kcm 파일을 알아야 한다.(Key Layout, Key Character Map) frameworks/base/data/keyboards 밑에 보면 많이 들어있다.그 중 Generic.kl 을 보면기본적인 키들이 매핑이 되어있고많은 키들이 #으로 주석처리되어있다.이중 영 안쓸것 같은 키를 찾아 새로운 키로 매핑해주면 된다.하드웨어키를 매핑하려면 커널단과 함께 작업이 필요한데커널은 내가 잘 모른다. 생략. ㅎㅎ좌우지간 그렇게 새로운 키를 매핑하면 앱단으로 키가 들어오게 된다.그러니까..하드웨어..

안드로이드 2015.03.10

adb 로 전화 걸기 , 다이얼 액션

키패드나 터치에 문제가 있는 경우도 있고 뭐 하여간 여러가지 이유로 ADB 커맨드를 통해서 전화를 해야 할 경우가 왕왕 있다. 그럴땐 간단하게 아래와 같이 하면 되겠다. 물론 ADB 는 되는 상황이어야겠다. $ adb shell am start -a android.intent.action.CALL -d tel:전화번호그럼 아래와 같은 결과가 찍히면서 전화가 걸린다. Starting: Intent { act=android.intent.action.CALL dat=tel:xxxxxxxxxxx } 또는 아래와 같이 해도 된다. $ adb shell service call phone 2 s16 "" s16 "전화번호"그럼 아래와 같은 결과가 찍히면서 전화가 걸린다. Result: Parcel(00000000 '..

안드로이드 2015.03.09

안드로이드 에뮬레이터에서 전화수신 및 문자 수신 테스트

지난번에 안드로이드 에뮬레이터에서 전화를 걸고 받는 방법을 소개했었다. 에뮬레이터를 두개 띄워서 서로 전화를 걸고 받는 방법이었는데 그보다 간단한 방법을 다시 소개한다. eclipse 기준으로 캡쳐를 했으니 아래 이미지를 보면 알기 쉬울 것이다. DDMS 에 emulator control 이라는 탭을 눌러보면 딱! 보면 알수 있게 직관적으로 되어있다. 번호를 넣고 call 버튼을 누르면 전화가 걸리고 에뮬레이터에서 수신하게 된다. SMS 라디오 버튼을 누르면 손쉽게 문자를 보낼 수도 있다.

안드로이드 2015.03.02

안드로이드 에뮬레이터에서 전화걸고 받기

안드로이드는 에뮬레이터가 참 거지같다. 메모리도 많이 먹는데 느리기는 또 엄청나게 느리다. 실제 폰이 없이 에뮬로만 개발한다는 것은 크나큰 스트레스가 아닐 수 없다. 그래도 나름 이것저것 다 되고 카메라까지 되니 아쉬운대로 그럭저럭 쓸 수는 있겠다. 그런데 콜 관련 어플을 개발한다고 하면 어김없이 콜 기능을 써야 하는데 에뮬에서도 콜을 할 수가 있다. 아래 이미지처럼 AVD 를 두개를 띄운다. 창 제목라인에 5554, 5556 같은 번호가 뜨는데 이것이 단말번호이고 이 번호로 전화를 걸 수 있다. 느린 건 어쩔 수 없지만 좌우지간 테스트는 가능하다.

안드로이드 2015.02.26

2D 게임 개발 비교 : Unity vs Cocos2D

유니티와 코코스에 대한 비교는 여기저기 많이 있는데 그 중 2014년 8월자 포스트가 내용이 나쁘지 않아 대략 요약번역해 본다.(원문 : http://en.yeeply.com/blog/comparison-between-unity-and-cocos2d-platforms-for-2d-game-developments/ ) 2D 게임 개발대부분의 모바일(또는 태블릿) 게임 개발자는 본인이 개발한 게임이 여러가지 플랫폼에서(아니면 적어도 아이폰, 안드로이드에서) 실행되기를 바란다. 물론 각각 native code 를 통해서 각각 개발하는 것은 가능하다. 하지만 이것은 비추..가장 효과적인 방법은 하나의 개발툴에서 여러가지 개발환경을 지원하는 것이다. 여기서 첫번쨰 질문 : 어떤 기술? 사용자들이 선택할 수 있는 ..

기타 2015.02.10