Android 27

안드로이드 TextView와 textSize 관계

안드로이드 TextView에 표시되는 android:textSize와의 관계를 파악하기 위해 간단한 앱을 작성해봤습니다. 크기 비교를 하면서 px, dp와 pt, sp 간의 비율도 파악해볼 수 있었습니다. 앱을 실행시킨 화면입니다. A, B는 결과 표시용이고 C, D는 수치 조절용입니다. A, B의 상,하단에는 각각의 TextView의 높이(height)와 android:textSize의 크기 정보가 표시됩니다. 이 수치를 참고하시면 됩니다. C는 TextView의 높이를 조절합니다. 결과는 A에만 반영됩니다. D는 TextSize를 조절합니다. 결과는 A, B 모두 반영되며, B의 경우 글자 크기에 맞게 TextView의 크기가 자동으로 조절됩니다. 즉, textSize를 정한 다음 B의 상,하단에 표..

iOS & Android 2011.11.10

안드로이드 2.3.3 Gingerbread android.jar 소스

안드로이드 Gingerbread의 SDK용 android.jar 소스입니다. git에 올라온 버젼 2.3.3 기준이며, 100% 맞는지 모르겠지만 대략 검토용으로는 무난하리라 생각합니다. \android-sdk-windows\platforms\android-10\sources 위의 위치에 압축 풀어놓으면 eclipse에서 알아서 연동해줍니다. 첨부파일은 분할압축 때문에 egg와 alz 형태로 2개 올렸으며, 압축툴에 맞게 하나의 형식으로만 받으시면 됩니다.

iOS & Android 2011.04.15

안드로이드 WebView focus 문제

WebView를 사용하는데, 페이지 내에 Input이나 TextField가 있는 경우에 focus를 줘도 키보드가 보여지지 않는 현상이 발생한다. 우선 다음 방법으로 focus를 받을 수 있게 하고, SetOnClickListener()로 기존에걸 덮어버렸다. 원래 WebView에 OnClickListener가 달려있는지는 확실하지 않지만, 아무것도 없는 OnClickListener를 설정하여 해결되는 것을 보면, 원래 WebView에 달리는 OnClickListener (혹은 Click 관련 listener들)에서 focus 연관된 -못된- 작업을 하고 있지 않을까 생각해볼 수 있다. webView.setFocusable(true); webView.setFocusableInTouchMode(true);..

iOS & Android 2011.04.14

안드로이드 build/envsetup.sh

흔히 안드로이드 소스 빌드를 시작할 때 다음 명령을 날려주곤 한다. . build/envsetup.sh 이게 그냥 target 잡아주는거겠지 했는데, 알고 보니 소스 파악 및 빌드에 많은 도움을 주고 있었다. 간단히 help 를 날려보면 소스 파악 및 빌드를 도와주는 명령어 몇가지가 보인다. 차차 익숙해져서 소스를 둘러볼 때 빠릿빠릿해지도록 하자~ croot m mm mmm cgrep jgrep resgrep godir

iOS & Android 2011.04.06

SD카드에 앱 설치하기

안드로이드 내장 메모리가 부족하여 SD 카드에 앱을 설치하고자 합니다. 1. 안드로이드 설정 변경 adb shell pm setInstallLocation 2 PackageManager의 setInstallLocation에는 0, 1, 2 옵션이 있는데 각각은 다음과 같습니다. 0 자동으로 알아서 설치 1 무조건 내장메모리에 설치 2 무조건 SD카드에 설치 2. 재부팅 폰을 재부팅합니다. 3. 사용 설정 > 애플리케이션 > 애플리케이션 관리 에 들어가서 애플리케이션 정보를 보면 'SD 카드로 이동' 버튼이 생겼습니다. 이걸 눌러서 앱을 SD 카드로 이동할 수 있는데, SD 카드에 있는 앱의 경우 '휴대전화로 이동' 버튼으로 바뀌어 있으니 문제가 생기면 다시 내장 메모리로 옮기면 됩니다. 4. 기타 adb..

iOS & Android 2011.04.06

안드로이드 소스 빌드에서 DroidDoc 제거

안드로이드 전체 소스를 빌드하는데에 많은 시간이 걸리고, 또 개인적인 이유로 DroidDoc을 빌드 과정에서 빼야 하는 상황이 발생했다. 여기저기 둘러보니 $ANDROID_SRC_HOME/build/core/ 에 다양한 make파일(.mk)들이 있다. 이 중에 droiddoc.mk 파일이 DroidDoc 빌드를 담당하는 것 같다. droiddoc.mk의 내용을 살펴보니 중간에 "-doclet DroidDoc" 으로 옵션을 준 부분이 있다. (froyo에선 150라인, gingerbread에선 157라인인데, doclet이나 DroidDoc으로 검색해보면 정확하겠다.) 그 아래쪽으로 일반 javadoc으로 문서화하는 내용이 있는데, 무시해도 될 듯하다. "@echo Doc droiddoc: ..." 라인 ..

iOS & Android 2011.02.23

안드로이드 뷰(View) 캡쳐

안드로이드 기본 런쳐(홈 화면)에서 앱 목록 보는 버튼(화면 아래 가운데 버튼)을 길게 누르면 좌/우 화면들에 대한 미리보기를 볼 수 있다. 물론 미리보기 화면을 선택하면 해당 화면으로 빨리 이동할 수도 있다. 여기에서 찾아낸 방법. View에는 draw(Canvas c)가 있다. sourceView 크기만큼의 Bitmap을 만들고, 이를 이용해 Canvas를 만든다. Canvas에 sourceView의 내용을 그리도록 하고, targetView에서는 Bitmap을 사용해서 이미지를 세팅한다.

iOS & Android 2010.12.23

안드로이드 소스를 이클립스 프로젝트로~

안드로이드 소스를 이클립스에서 보고 싶다면, http://source.android.com/source/using-eclipse.html 위 링크를 참조하도록 한다. 우선 기본적으로 안드로이드 소스를 받아두어야 한다. 안드로이드 소스를 이클립스 프로젝트로 임포트(import)하기 전에 먼저 소스 빌드를 한다. 소스 빌드는 시간이 좀 걸리는 작업이다. .classpath를 복사하고 쓰기 권한을 부여한다. 이후 이클립스를 동작시키는데 메모리 설정 등에 대해서 알고 싶으면 위 링크를 참조하도록 한다. 이클립스를 시작하고 나서는 다음 과정을 따른다. 새로운 자바 프로젝트 생성 프로젝트 이름을 설정한다. (예. android) "Create project from existing source"를 선택하고, 안드로..

iOS & Android 2010.12.09

안드로이드 설계코드 노하우 및 개발방법

데브멘토에 올라온 영상이다. 안드로이드 사이드 운영자 한동호님의 2010 공개 SW 개발자대회 강연. http://goo.gl/LzHA UI 쓰레드는 UI만 처리하게 하라. UI 쓰레드가 5초 이상 동작하게 되는 경우. "중지 or 대기" 다이얼로그 뜸 사용자를 방해하지 말라. 다양한 화면 해상도를 지원하라. wrap_content, fill_parent, dip를 사용하라. AbsoluteLayout을 사용하지 말아라. FrameLayout을 사용하면 된다 코드에서 픽셀로 크기를 지정하지 말아라. 화면 해상도에 맞게 다양한 리소스를 제공하라. ldpi, mdpi, hdpi 텍스트를 지정할 때 사용해야 하는 단위는? SP (

iOS & Android 2010.08.05