본문 바로가기
[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.
[android/안드로이드] 어플리케이션 버전 부여. ( assign application version ) 안녕하세요 돼지왕왕돼지입니다. 오늘은 어플리케이션에 버전 부여하는 법에 대해 알아보겠습니다. 어플리케이션 버전 설정 @ manifest android:versionCode=(integer) 다운그레이드, 업그레이드 ( Downgrade, Upgrade ) 등을 위해 사용하며, 사용자에게 보여지지는 않는다. @ manifest android:versionName=(string) 사용자에게 보여져야 하는 문자열 값으로, [Setting] - [Apps] 을 통해 볼 수 있다. 보통 .. 로 표현 ( ex) 1.0.0 ) 다음의 코드를 통해, 코드상에서도 앱의 버전을 알아낼 수 있다. PackageInfo packageInfo = PackageManager.getPackageInfo( String packag.. 2012. 2. 8.
[android/안드로이드] 앱 최종 배포 전 확인사항. 안녕하세요 돼지왕왕돼지입니다. 오늘은 앱 최종 배포 전 다시 한번 확인해볼 사항들에 대해서 알아보겠습니다. 앱 릴리즈를 준비하면서.. 1. 실제 디바이스에서 광범위하게 테스트하라. 2. 최종 사용자 라이센스 동의를 추가하는 것을 고려하라. 3. 매니페스트에 아이콘과 라벨을 지정하라. 4. 로깅과 디버깅을 끄고, 데이터/파일들을 정리하라. 앱 최종 컴파일하면서.. 5. 버전 부여 6. 암호 키( Sign Key )를 얻어라. 7. 맵뷰를 사용한다면 맵 API 키를 등록하라. 앱 컴파일 후에.. 8. 앱에 사인하라. 9. 컴파일된 앱을 테스트하라. 앱 배포전 확인사항 자세히 보기. 1. 실제 디바이스에서 광범위하게 테스트하라. - JUnit이나 Monkey 등의 테스트 도구 이용. - 실제 device 타입.. 2012. 2. 8.
[android/안드로이드] 어플리케이션 싸인하기 ( Sign Application ) - 개념 안녕하세요 돼지왕왕돼지입니다. 마켓에 앱을 올리기 위해서는 싸인이 꼭 필요합니다. 이 앱에 싸인을 한다는 것이 무엇인지 알아보겠습니다. 싸인이 뭐하는 녀석인지 알려주세요. ( Sign ) - 안드로이드 시스템에서 이 싸인을 보고 제작자를 식별 및 앱간의 신뢰 관계 확립의 수단으로 사용합니다. - 모든 앱은 싸인되어야 합니다. 시스템은 싸인되지 않은 앱을 설치하지 않습니다. - 자체적으로 싸인한 인증서( Sign Key )를 사용할 수 있습니다. - 디폴트 키( Debug Sign Key )로 사인된 앱은 배포할 수 없습니다. - 시스템은 설치 시점에만 인증서 만료 날짜를 테스트. 설치 이후에는 만료되도 앱은 정상적으로 동작합니다. - Keytool, Jarsinger 등의 표준 툴을 사용하여 싸인합니다... 2012. 2. 8.
반응형