본문 바로가기
[android] PendingIntent flag 의 의미 FLAG_CANCEL_CURRENT : 이전에 생성한 PendingIntent 는 취소하고 새롭게 만든다. FLAG_NO_CREATE : 이미 생성된 PendingIntent 가 없다면 null 을 return 한다. 생성된 녀석이 있다면 그 PendingIntent 를 반환한다. 즉 재사용 전용이다. FLAG_ONE_SHOT : 이 flag 로 생성한 PendingIntent 는 일회용이다. FLAG_UPDATE_CURRENT : 이미 생성된 PendingIntent 가 존재하면 해당 Intent 의 Extra Data 만 변경한다. Android, flag_cancel_current, flag_no_create, flag_one_shot, flag_update_current, PendingIntent.. 2013. 8. 2.
[Java] String.equals( Object ) 에 대한 고찰. Java, String.equals( Object ) 에 대한 고찰. 평소에 str.equals( "abc" ) 와 같은 형태로 주로 써왔는데 사실 "abc".equals( str ) 가 좋다고 한다.즉 null 이 아님이 확실한 string 에 equals method 를 호출하여 string 비교하는 것이 추천된다.이는 string 이 null 일 경우 NullPointerException 이 발생하기 때문에, 이를 위해서 null check 코드가 하나 더 추가되기 때문. 결론! (null 이 아님이 확실한 string).equals( (비교하고픈 str) ) 의 형태로 쓰는 것이 좋다. Android, equals, Java, NullPointerException, string, string.eq.. 2013. 8. 2.
[android] Volley java.io.IOException: Received authentication challenge is null 안드로이드, Volley library java.io.IOException: Received authentication challenge is null Volley library 를 사용하는데 위와 같은 메세지가 나오는 문제가 자꾸 발생한다.그 이유를 분석해보니 Volley 에서는 200, 204 ( No Content ) 를 제외한 모든 response code 를 error 로 치부한다. 저 에러는 authentication 에 관련된 403 response code 가 왔을 때 volley 가 뿜어내는 error 이다.그러니 403 이 발생하지 않도록 하면 되는 것. 구글링 하다 보니 Timestamp 에 문제가 발생하면 서버쪽에서 403 에러코드를 return 하는 경우가 많다고 한다. 즉 req.. 2013. 8. 1.
[android] Navigation Drawer 이야기. 안드로이드, Navigation Drawer 이야기. 참조 : http://developer.android.com/design/patterns/navigation-drawer.html Navigation Drawer 의 특징 기존의 Sliding Menu 와 같으나, 다른 점은 ActionBar 는 그대로 있고,Contents 도 밀어내지 않는, Drawer 가 overlay 형태로 등장한다는 것. Navigation Drawer 는 3개 이상의 top-level views 가 있을 때 사용하는 것이 좋다.그렇지 않다면 Tab View 를 사용하는 것이 추천된다. Navigation Target 은 icon 과 counter, 그리고 title 도 가질 수 있다.또한 Collapse 도 지원한다. Act.. 2013. 8. 1.
[android] Drawable 이야기 안드로이드, Drawable 이야기 Drawable 은 View Container 이다.BitmapDrawable 은 이미지를 표시, ShapeDrawable 은 도형이나 그라데이션 등을 그린다. Drawable 들은 하나의 Constant State 를 공유한다. Bitmap 이 이 Constant State 에 포함되므로동일한 비트맵의 경우 한번 로드해서 모든 Drawable 이 공유한다.즉 메모리 절약이 된다. Drawable 이 공유되어 문제되는 사항은 mutate() 함수로 해결할 수 있다. ( 예) 하나의 imageview 를 통한 bitmap 수정이 다른 imageview 에 모두 영향을 미치는 문제. )Drawable.mutate() 를 호출해주면 Constant State 가 복제된다.여.. 2013. 7. 31.
[android] 외장메모리에 리소스를 저장할 경우 주의사항. 안드로이드, 외장메모리에 리소스를 저장할 경우 주의사항. 외장메모리에 리소스를 저장할 경우 주의사항. SD Card 가 Mount 가 안 되었을 경우. 리소스 파일을 로딩할 떄 문제가 된다.SD Card 가 Mount 되었는지 미리 확인한다. SD Card 에 모든 리소스 내용이 있는지 확실치 않을 때. 꼭 있어야 하는 파일들을 xml 등에 미리 넣어두고, 사용 직전에 체크한다 SD Card 에 내용이 완벽하지 않을 때. Checksum, 용량 등을 이용하여 무결성을 점검해준다. Android, checksum, external memory, external memory resource, Mount, sd card, xml, 무결성, 안드로이드, 외장메모리, 외장메모리 리소스, 용량, 주의사항 2013. 7. 31.
[android] setRetainInstance( boolean ) 뭐하는 녀석이냐? 안드로이드, setRetainInstance( boolean ) Fragment.setRetainInstance ( boolean ) fragment instance 가 configuration change 등의 요인으로 인해 recreation 된다고 해도 생명주기를 따르지 않아, destory 되지 않도록 하는 것. Fragment 생명주기의 onDestory() 는 불리지 않고, onDetach() 는 불린다. 마찬가지로 activity 에 다시 붙을 때 onCreate() 는 불리지 않도 onAttach() 와 onActivityCreated 는 불린다. Android, configuration change, fragment, fragment lifecycle, fragment 생명주기, frag.. 2013. 7. 29.
[android] ViewPager view refresh 에 대한 고찰. 안드로이드, ViewPager view refresh 에 대한 고찰 PagerAdapter 에 대한 notifyDataSetChanged()는 오직 ViewPager 에게 data set 이 변경되었다는 사실만을 알려준다. ViewPager 는 view 의 등록과 삭제를 getItemPosition( Object ) 과 getCount() 를 통해 한다.notifyDataSetChanged() 가 불리면 ViewPager 는 child view의 position 을 getItemPosition( Object ) 을 호출하여 알아본다. 만약 이 child view 가 POSITION_NONE 을 던지면 ViewPager 는 view 가 삭제되었음을 안다. 그리고 destroyItem( ViewGroup, .. 2013. 7. 29.
[android] Viewpager with fragment problem. 안드로이드, Viewpager with fragment problem. Viewpager 와 fragment 를 동시에 사용할 경우 view redraw 가 잘 안 되는 현상이 발생하기도 한다.필자가 겪었던 문제는 Acitivity 를 사용하다가 Home 키로 나갔을 경우 한참후에 다시 들어오면 ViewPager 안에 있는 Fragment 들만 다시 안 그려지는 현상을 발견했다. ( ViewPager 바깥에 있는 Fragment 들은 잘 그려졌다. ) 구글링 결과 여러가지 솔루션을 제공하는데.. 1. View destroy 안 되게 하기 #1 FragmentPagerAdapter.setOffscreenPageLimit( int retainNumber ) 위의 함수를 통해 Fragment 를 destroy.. 2013. 7. 25.
반응형