본문 바로가기
[Android/안드로이드] 단말 언어 세팅에 따른 string 값 자동 적용하는 방법. 안녕하세요 돼지왕왕돼지입니다. 오늘은 단말 언어 세팅에 따라 string 값을 자동으로 적용하는 방법에 대해 알아보겠습니다. 무슨 말이냐? [Setting] - [Language] 에 가면 단말을 여러 언어로 지원 가능한 것은 아시죠? 이 언어를 한국어에서 영어로 변경했을 때, Activity에서 원래 "선택" 이라고 나오던 글자를 자동으로 "Select"라고 나오도록 하자는 말입니다. 이걸 코딩으로 하냐구요? 아닙니다. 그럼 어떻게 하는데요? 말 그대로 코딩으로 할 경우에는 java 파일 안에 각 국 언어에 대한 string 이 모두 들어가 있어야 하며, 언어변화를 감지하여 코드에서 해줘야 할 일이 많습니다. 착한 안드로이드에서는 이 작업을 안드로이드의 특성 중 하나인 xml 을 이용하여 쉽게 할 수 .. 2012. 2. 9.
[Android/안드로이드] 화면크기, 해상도에 영향받지 않는 layout( view ) 만들기 안녕하세요 돼지왕왕돼지입니다. 오늘은 화면크기 즉 화면의 해상도에 영향받지 않는 layout ( view 구성 ) 만들기에 대해 알아보고자 합니다. 어떤 노하우들이 있을까요? 1. HVGA 기본 스크린 사이즈를 중심으로 DIP 단위만을 사용 HVGA 의 해상도는 320 x 480 입니다. 요 환경에서는 Pixel 과 Dip 이 1:1 비율이기 때문에 디자인이 320 x 480 사이즈로 나오고, 이 때의 Pixel 값을 dip 값으로 입력하면 되겠습니다. 2. 절대 AbsoluteLayout 을 사용하지 않습니다. 현재 AbsoluteLayout 은 Deprecate 된 상태긴 하지만, 사용 자체는 가능할 것입니다. AbsolteLayout 은 multi 해상도 지원 측면에서는 완전 쥐약인 녀석입니다. 그.. 2012. 2. 9.
[Android/안드로이드] CTS 테스트에 대한 아주아주 짤막한 정리. 안녕하세여 돼지왕왕돼지입니다. 오늘은 CTS 테스트가 무엇인지 아주아주 짤막하게 정리해보고자 합니다. - CTS 는 Compatibility Test Suite 의 약자입니다. - CTS는 구글의 안드로이드 SDK의 API들이 해당 단말에서 정상적으로 돌아가는지 보기 위한 호환성 테스트입니다. - CTS 테스트를 통과하면 하드웨어, 소프트웨어가 호환이 되어 잘 돌아간다는 의미입니다. - 이 테스트는 주로 Framework 단을 변경하였을 때 혹은 비표준 하드웨어 사용하였을 때 fail이 날 가능성이 높아집니다. - 참고로, 시판되는 기기들 대부분이 100% pass는 아니랍니다. 어때요 도움이 되셨나요? 아주 간단히 개념잡기에는 딱 좋은 녀석이죠? 로그인 없이 추천 가능합니다. 손가락 꾸욱~ 2012. 2. 9.
[Android/안드로이드] Selector 를 이용하여 간단한 버튼 구현하기. ( Custom Button? ) 안녕하세요 돼지왕왕돼지입니다. 오늘은 Selector 를 이용하여 간단한 Custom Button을 구현해보려고 합니다. 먼저 drawable 에 xml 형태로 selector를 저장해주고 Button의 Background로 setting 해주면 되겠습니다. 로그인 없이 추천 가능합니다. 손가락 꾸욱~ 2012. 2. 9.
[Android/안드로이드] 사각형, 선, 타원 shape xml 로 정의하고 쉽게 재사용하기. 안녕하세요 돼지왕왕돼지입니다. 오늘은 자주 사용되기 쉬운 모양 ( shape ) 들을 xml 로 정의하고 쉽게 재사용 하는 것에 대해 알아보려 합니다. 이 shape 들을 drawable에 xml 형태로 넣고 ImageView 로 꺼내 사용해보도록 하죠. 참고로, shape 의 경우 wrap_content 로 layouting 해버리면 원하는데로 나오지 않을 가능성이 높습니다. 명시적으로 크기를 지정해 주는 것이 좋죠. 그럼 한개씩 code 를 나열해보겠습니다. 자 그럼 속성값들을 바꿔가며 유용하게 잘 사용하시기 바랍니다. 2012. 2. 9.
[Android/안드로이드] 어플리케이션 외장메모리 ( SD card )에 설치하는 방법. [Android/안드로이드] 어플리케이션 외장메모리 ( SD card )에 설치하는 방법. 참조 : https://developer.android.com/guide/topics/data/install-location.html 안녕하세요 돼지왕왕돼지입니다. 오늘은 앱을 설치시부터 외장 메모리 ( sd card ) 에 설치하는 방법에 대해 알아보고자 합니다. 이거 원래부터 가능했던 거 아닌가용? 아닙니다용. 요즘은 대부분의 유저가 2.2 버전 이상의 안드로이드를 사용하지만, 안드로이드 2.2 버전 ( API Level 8 ) 부터 어플리케이션을 외부 메모리에 설치할 수 있는 기능이 추가되었습니다. 이전 버전에서 내장 메모리가 적어 앱을 설치하는 데 제한이 많아서 나온 방책이겠죠? 어떻게 해야 앱을 처음부터 .. 2012. 2. 9.
[android/안드로이드] 최적의 성능을 위한 앱 설계 방법. ( High Performance, 최적화를 위한 앱 설계 방법 ) 안녕하세요 돼지왕왕돼지입니다. 오늘은 최적의 성능을 위한 앱 설계 방법에 대해 알아보고자 합니다. 최적의 성능이라는 말은, 최적화가 잘 된 앱, 또는 High Performance 를 내는 것을 말하는 것이겠지요? 안드로이드는 Mobile Device 라는 것을 명심하세요. 이제 안드로이드폰에 쿼드코어를 장착하는 시대가 왔습니다. 즉 하드웨어가 엄청난 속도로 support 하고 있다는 말이죠. 하지만, 그래도 Desktop 에 비할 수는 없겠죠. 제한된 컴퓨팅 파워와 데이터 저장 공간은 모바일 장비가 가지고 있는 대표적 특성입니다. 이 부분을 항상 고려하여 설계를 해야 합니다. 두번째는 작은 스크린입니다. 요즘 테블릿도 나오고, 아트릭스같은 경우 노트북 형태에 닥시킬 수 있는 등, 스크린은 조금씩 커지고.. 2012. 2. 9.
[android/안드로이드] 응답성을 고려한 설계 ( ANR 을 피하는 설계 ) 안녕하세요 돼지왕왕돼지입니다. 오늘은 응답성을 고려한 설계, 즉 ANR 을 피하는 설계에 대해 알아보고자 합니다. ANR 이 뭔가요? ANR 은 Application Not Responding 의 약자로, UI Thread 혹은 Main Thread 에서 오랜 시간 작업을 하여, UI Event 처리나 Draw 를 방해하는 시간이 길어지면 발생하는 일종의 Error Event 입니다. 구체적으로 어떤 상황에서 ANR 이 발생하는가? 입력 이벤트 ( 키 입력 or 스크린 터치 등 ) 에 대해 Activity가 5초 이내에 반응이 없을 때 발생합니다. Activity 이외에도 ANR 이 발생하는 상황이 있는데, ( 이부분은 보통 개발자들이 간과하는 상황인데.. ) broadcast receiver가 10초 .. 2012. 2. 9.
[android/안드로이드] 무결성을 위한 앱 설계시 고려할 사항들. 안녕하세요 돼지왕왕돼지입니다. 오늘은 무결성을 위한 앱 설계시 고려할 사항들에 대해 알아보겠습니다. 다음의 디자인 issue들은 사용자에게 문제를 야기시킬 수 있다. 1. 다른 어플리케이션이나 다이얼로그의 예상치 못한 타이밍의 팝업. 2. 계획되지 않은 상호작용 3. 데이터의 부주의한 손실 4. 의도되지 않은 멈춤 무결성을 위한 디자인 고려사항. 다이얼로그 팝업을 피하라. 일반적인 무결성 문제는 서비스 또는 브로드캐스트 리시버 등이 어떤 이벤트에 응답하여 다이얼로그를 팝업할 때 발생합니다. 이것은 실제 디바이스 상에서 다른 어플리케이션이 많이 설치되어 있는 환경에서 자주 발생합니다. 다이얼로그를 띄우는 시점에서 focus를 가지지 못하는 상황도 발생하곤 하죠. 따라서 무언가를 알리기 위해서는 다이얼로그보.. 2012. 2. 8.
반응형