본문 바로가기
[android] LBS ( Location Based Service ), GPS vs. WIFI vs. 3G 안드로이드, LBS ( Location Based Service ), GPS vs. WIFI vs. 3G GPS 위성을 이용한 위치정보 수신 시스템으로, 정확도가 높으나, 처리속도가 느리며, 배터리 소모가 많다. 오차 범위 : 0~10m 최대단점!! : 특정상황에서 처리속도가 현저하게 떨어지며, 아예 수신이 안 되는 경우도 있다. 오랜시간 GPS 신호를 놓쳤을 때 위치 정보 초기화 지연시간은 평균 2~15분. ( A-GPS 로 보완. )실내(콘크리트), 주머니 속 등에서는 아예 수신이 안 될 가능성이 높다.배터리 소모량이 꽤 크다. Wifi ( 무선 인터넷 ) 정확도는 낮은 편이나, 처리속도가 빠르고, 베터리 소모가 적다. 오차범위 : AP의 위치 정보와 신호 세기에 따라 오차범위 다양. 10m~500m.. 2013. 8. 22.
[android] Caused by: java.lang.NullPointerException at android.app.AlertDialog.resolveDialogTheme 안드로이드, Caused by : java.lang.NullPointerException at android.app.AlertDialog.resolveDialogTheme Caused by: java.lang.NullPointerExceptionat android.app.AlertDialog.resolveDialogTheme(AlertDialog.java:148)at android.app.AlertDialog.(AlertDialog.java:104)at android.app.ProgressDialog.(ProgressDialog.java:77) 해당 이슈는 말 그대로 null pointer exception 인데 무엇이 null 이냐?AlertDialog 를 만들 때 전달하는 Context 혹은 Acti.. 2013. 8. 20.
[android] screen size 와 px, dp, config 에 대한 핵심 정리 안드로이드, screen size 와 px, dp, config 에 대한 핵심 정리 mdpi 320px X 480 px hdpi - mdpi 의 1.5배480px X 800 px 320dp X 533dp xhdpi - mdpi 의 2배720px X 1280 px360dp X 640dp Programmatically Best Resource 채택하기 Configuration config = getResources().getConfiguration();if (config.smallestScreenWidthDp >= 600)setContentView(R.layout.main_activity_tablet);elsesetContentView(R.layout.main_activity); Configuration 에.. 2013. 8. 20.
[android] bitmap 전환 fade in & fade out sample code 안드로이드, bitmap 전환 fade in & fade out sample code 뭐 완벽하며 부드러운 구현은 아니지만, 그래도 image 가 그냥 "확" 바뀌는 어색함을 막기 위해서 fade in, fade out 을 어떻게 이용할 수 있을까 idea 를 제시한다. public class MainActivity extends Activity { private int[] resIds = new int[]{ R.drawable.black, R.drawable.blue };private int index = 0;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentVie.. 2013. 8. 19.
[android] AsyncTask 의 cancel 에 대한 이야기. 변태야 ㅠ 안드로이드, AsyncTask 의 cancel 에 대한 이야기. 변태야 ㅠ onPostExecute() 는 cancel 여부에 관계없이 불릴 줄 알았는데, 안드로이드 버전에 따라서 구현이 다르다.Reference 를 보면 2.3.7 까지는 doInBackground 가 끝난 후 UI Thread 에서 불린다. 결과값은 doInBackground 의 return 값이며, cancel 이 되었을 때 혹은 exception이 발생하면 null 이 return 된다. 2.3.7 Version Source Code 를 보려면 여기를 클릭. 그러나 4.0.1 의 구현에서는.. doInBackground 가 끝난 후 UI Thread 에서 불린다. 결과값은 doInBackground 의 return 값이다. 만약 t.. 2013. 8. 18.
[android] 뷰가 그려지는 과정 ( 부모뷰 vs 자식뷰 ) 안드로이드, 뷰가 그려지는 과정( 부모뷰 vs 자식뷰 ) 부모뷰는 자식뷰가 ViewGroup 에 추가될 때 넘겨 받은 LayoutParams 값을 기반으로 자식 View 에게 다음 3가지 방식 중 한 가지 방식을 통해 필요한 영역 크기를 물어본다. UNSPECIFIED. 자식에게 원하는 값을 마음껏 적어 내라는 것. wrap_content 의 경우 부모뷰는 자식뷰가 얼마나 많은 공간이 필요한지 알 수 없다. 따라서 자식뷰에게 꼭 물어봐야 한다. EXACTLY 자식에게 정확히 정해진 값의 공간만을 사용하라고 명령을 내리는 것. 20dp 와 같이 특정값이 정해져 있는 경우가 이 경우. AT_MOST 최대 상한선을 정해준 상태에서 자식 뷰에게 해당선을 넘지 않는 범위에서 영역을 결정하도록 한다. 이는 부모뷰가.. 2013. 8. 17.
[android] Animation 시 WebView Drawing 이 제대로 안 되는 현상. 안드로이드, Animation 시 WebView Drawing 이 제대로 안 되는 현상. 필자가 이 현상을 겪게 된 경위는,SlidingMenu 를 사용하면서, 본문쪽에 WebView 가 있는 경우SlidingMenu 를 열었다가 닫을 떄 WebView 쪽이 잘려서 drawing 되는 현상을 겪은 것. Googling 을 하면서 열심히 여러가지 해결책을 찾아 적용해보았다. 1. WebView 에 android:alwaysDrawnWithCache = "true" 효과 없음 2. android:minSdkVersion = "13" V 애니메이션이 끝나기 전에도 그리기는 하지만 깜빡거리는 현상이 있음. 3. WebView 만 HardwareAcceleration 을 끄기 ( Software 로 그리기 ) i.. 2013. 8. 17.
[android] activity flag 이야기 안드로이드, activity flag 이야기 참조 : http://developer.android.com/reference/android/content/Intent.html FLAG_ACTIVITY_SINGLE_TOP B 에 해당 flag 를 걸어 두었다면.. A->B->B 를 호출한 경우, 최종 stack 은BA 이 때 B의 생명주기는 onPause() -> onNewIntent() -> onResume() 을 탄다. FLAG_ACTIVITY_NO_HISTORY 마찬가지로 B 에 flag 를 걸어 두어두고 A->B->A 를 호출한 경우, 최종 stack 은A A 이 flag 는 다른 앱으로 전환되는 경우에도 destory 된다. 즉 A->B 상태에서 Home 키로 나가면 B 는 이미 destory 된 .. 2013. 8. 16.
[android] Toast( 토스트 ) 이야기 안드로이드, Toast( 토스트 ) 이야기 Toast 의 특이한 점. Toast 생성은 메인 스레드에서만 가능하지만, show() 함수는 아무 스레드에서나 호출할 수 있다.이는 Toast 가 안에서 handler 를 사용하기 때문이다.생성할 때는 Handler 를 main thread 에서 생성해야 하기 때문에 main thread 에서 생성해야 하고, 그 외 함수들 호출은 아무데서나 해도 된다. Toast 는 독립적인 Window Window 들은 PhoneWindowManagerService 에서 관리한다. status bar, input method, activity 모두 window 이다. Toast 들은 여러 앱에서 동시에 불러도 하나씩 순차적으로 뜨는데, 그 이유는 NotificationMan.. 2013. 8. 14.
반응형