본문 바로가기

반응형

개발

안드로이드 에뮬레이터 4.X 버전에서 한글이 정상적으로 표시되지 않는 경우 안드로이드 에뮬레이터를 사용하여 앱을 테스트할 때, 구버전까지 지원하도록 만든 경우, 낮은 버전에 대한 테스트를 진행해야 한다. 이때, 에뮬레이터를 사용하는데, 4.X 버전을 사용하는 경우, 한문, 일어등은 정상적으로 표시되는 반면, 한글은 정상적으로 표시되지 않는 증상이 있다. 이를 해결하기 위해서 system.img 파일에 한글을 표시할 때 사용할 NanumGothic.ttf, NanumGothicBold.ttf 파일을 추가해주면 된다. 방법은 다음과 같다.(아래의 방법은 우분투를 기준으로 합니다. 윈도우는 이번에 bash 가 추가되었다고 하니 비슷하게 사용할 수 있지 않을까 합니다.) 1. android-sdk-linux 폴더의 system-images 의 4.X 버전대의 폴더를 선택한다. 여기서는.. 더보기
리눅스에서 여러대의 테스트 기기에 한번에 앱 인스톨하기 터미널을 열고 아래의 명령어를 입력한다. for SERIAL in $(adb devices | grep -v List | cut -f 1); do adb -s $SERIAL install -r app-release.apk; done apk 파일은 자신의 apk 파일명을 적어주면 된다.끝. 더보기
1. 아두이노 개발 킷 구입 그동안 해본다 해본다 하면서 구입하기 힘들었던... 아마존에서 구입을 할까, 아니면 그냥 국내에서 구입을 할까하다가 옥션중고에 싸게 나온 제품을 구하게 되었습니다. 구성품은 Ultimate Kit 이라고 판매하는 부품 + LCD 모듈을 얻었습니다. 저렴하네요. 아두이노를 이용하여 특정한 기능을 수행하는 전자회로를 만드는 것이 목적이니까요. 단순히 아두이노 보드만 있으면 되는 것이 아니고 중고등학교, 또는 전기전자, 컴퓨터 학과에서 배웠던 회로이론에서 나오던 각종 부품들(저항, LED다이오드)와 각종 센서, 버튼, 빵판, 전선등이 필요합니다. 위와같은 구성을 이제 막 시작하시는 분들을 위해서 Starter Kit 등의 이름으로 아두이노 우노(UNO)보드와 여러부품이 들어있는 킷을 구입하시면 됩니다. 제가 .. 더보기
Installation error: INSTALL_PARSE_FAILED_MANIFEST_MALFORMED Installation error: INSTALL_PARSE_FAILED_MANIFEST_MALFORMED Please check logcat output for more details. Launch canceled! 정상적으로 apk 가 생성되고, 테스트 기기에 apk를 설치하는 도중에 이런 에러가 발생하였습니다. 구글링 결과 AndroidManifest.xml 파일내의 package 명칭을 영문소문자만 사용해야 한다는 규칙을 어긴 경우 자주 볼 수 있다고 하네요. 하지만 나의 프로젝트는 정상적으로 영문자와 '.' 기호만 사용하여 패키지를 적어 놓아서 위와 같은 경우가 아니었습니다. 저의 경우는 몇몇 서비스와 리시버가 별도의 프로세스로 동작하도록 분리하여 놓았습니다. 프로세스 네이밍에 문제가 있었습니다.. 더보기
특정 기기에서 DatePickerDialog, TimePickerDialog에서 '설정', '취소' 가 나오지 않고 '저장'으로 표시되는 경우 내 LG의 LTE2 모델의 경우 저런 오류(?)가 발생한다. 저렇게 표시만 되면 다행인데, 취소버튼이 없어서 뒤로가기 버튼을 눌러도 '설정'버튼을 누른 이벤트가 정상적으로 실행이 되고, '저장'버튼을 누른 경우 '설정'버튼을 누른 것 같은 이벤트가 2회 발생한다. 구글링결과 안드로이드 특정 버전에서 위와 같은 오류가 알려져있다고 한다. 이를 해결하기 위해서 소스를 간단히 수정해 보았다. // 한번만 실행하기 위한 체크변수 int nCheck = 0; @Override protected Dialog onCreateDialog(int id) { switch (id) { case DATE_DIALOG_ID: // 날짜선택 다이얼로그 호출 DatePickerDialog dialog = new DatePicker.. 더보기
젤리빈기반에서 DatePickerDialog 에서 취소버튼 이벤트 처리하는 방법 젤리빈으로 롬업데이트가 활발한 요즘, 개발자들은 이전보다 더 많은 것을 신경쓰고 이벤트처리에 신경을 써야 합니다. 가장 많은 골머리를 썩는 것중에 하나가 소프트버튼 또는 하드버튼으로 입력하는 취소처리, 다이얼로그의 OutSide를 클릭하여 취소하는 경우의 이벤트 처리가 그것일 겁니다. 그중에서 DatePickerDialog는 기본적으로 Positve버튼과 Cancel버튼이 기본적으로 달려있고, Positive버튼의 이벤트 처리는 다이얼로그 생성자에서 기본적으로 입력을 받습니다. DatePickerDialog dialog = new DatePickerDialog(getActivity(), dateOnDateSetListener, year, month, day); 요런식으로 말이죠..dateOnDateSet.. 더보기
안드로이드에서 마켓 연동 종종 다른 프로그램이 설치되어있는지 확인하고 없는 경우 해당 프로그램을 다운로드 하기 위해서 마켓 프로그램을 실행하여 해당 프로그램을 바로 설치할 수 있도록 해야 하는 경우가 있습니다. 그럴 때 아래 코드를 사용하여 일반적인 엑티비티를 실행하듯 프로그래밍해주시면 됩니다. // java code // 안드로이드마켓에서 Apps 검색 Uri uri = Uri.parse("market://search?q=pname:프로그램_패키지_명"); // ex) 프로그램_패키지_명 = com.google.maps Intent intent = new Intent(Intent.ACTION_VIEW, uri); startActivity(intent); // 안드로이드마켓의 App 상세 화면 Uri uri = Uri.parse.. 더보기
[eclipse/android] Java compiler level does not match the version of the installed Java project facet 1. Java compiler level does not match the version of the installed Java project facet 2. Android requires compiler compliance level 5.0 or 6.0. Found '1.X' instead. Please use Android Tools > Fix Project Properties. 안드로이드 프로젝트를 시작하거나 중간에 수정하다가 위의 에러를 보게 되는 경우 안드로이드를 컴파일할때 사용하는 JDK의 버전이 문제가 되는 경우이다. 1. 의 경우 java compiler 버전을 안드로이드를 정상적으로 컴파일할 수 있는 1.5 또는 1.6버전으로 변경해주면 된다. Project 선택 -> 마우스 오른쪽버튼 .. 더보기

반응형