태그 보관물: android

[2011][안드로이드] 주소록에 사진 등록하기 코드 예제

안드로이드 주소록에 사진을 등록하고자 하는 경우 여러 가지 문제가 발생할 수 있습니다. 이러한 경우 구글 주소록 소스에 있는 아래 소스 파일을 참고하여 작업하면 삽질을 줄일 수 있을 것입니다.

1221174073.java

 대표적으로 insertPhoto() 함수나 updatePhoto() 함수 등을 이용하면 사진을 등록하는지 알 수 있을 것입니다. 그 외에 부분도 구글 주소록에서 참고할 수 있는 부분들이 좀 있기 때문에 주소록 작업을 하시는 분들이라면 구글 주소록 소스를 참고해 보시길 바랍니다.

만약 insertPhoto() 함수와 같은 것을 이용했는데도 사진이 제대로 등록이 안되거나, 주소록에 들어갔을 때 다운이 되는 경우가 발생할 수 있습니다. 이럴 때는 Photo.PHOTO 에 정상적으로 Bitmap 으로 바꿀 수 있는 데이터가 들어가는지 확인해야 합니다. BitmapFactory.decodeByteArray() 함수와 같은 것을 이용해서 decode 하였을 때 Bitmap 데이터가 정상적으로 나오는지 확인하면 됩니다.

[안드로이드] Notication 의 icon 주의 사항

갤럭시 넥서스와 같은 폰에서 icon 에 기본 앱 아이콘을 넣으면 Status Bar 에서 아이콘이 깨지는 현상을 발견할 수도 있습니다. 그것은 공식 가이드에 맞춰서 아이콘 크기를 제작하지 않았기 때문입니다.

http://developer.android.com/guide/practices/ui_guidelines/icon_design_status_bar.html

위 문서의 가이드대로 아이콘을 제작하여 사용하면 문제를 해결 할 수 있습니다.

기본 앱 아이콘은 앱 아이콘일 뿐이지 Notification 에 사용하는 것은 적합하지 않을 수 있습니다.

[안드로이드] setId() 함수 사용시 주의 사항..

안드로이드에 코딩을 할 때 View의 setId() 함수를 사용하는 경우가 있습니다.

문제는 xml 에 android:id 값을 설정해 놓은 상태에서 setId 를 사용하는 경우입니다.

setId 를 사용했다면 나중에 findViewById 함수를 사용하는 경우에 xml 에 있는 android:id 값으로 검색해도 null 이 리턴되게 됩니다. 그렇기 때문에 setId 에서 지정한 Id 값으로 findViewById 를 해야 정상적으로 View를 얻어올 수 다는 것을 주의해야합니다.

아래는 샘플 코드입니다.

[important]View item = inTitle.inflate(R.layout.group_view, null);
View mainView = item.findViewById(R.id.main_layout);
mainView.setId(10);
View testView = item.findViewById(R.id.main_layout); // NULL 값을 리턴한다.[/important]