본문 바로가기
[android] TextureView 에 대한 이야기 Android 그래픽 시스템의 발전 과정. 허니컴 이전에는 Surface Flinger 에서만 GPU 사용 허니컴이 Tablet 용 Framework 이다보니 늘어난 pixel 에 대응하기 위해서 GPU 사용이 필요하게 됨.onDraw() 이후에 실제 그리는 부분을 CPU 에서 하는 것이 아니라 이제는 GPU 에서 하게 됨. 기존 View 는 한 View 가 invalidate 가 되면, dirty check를 한 후, parent 로 올라가면서 invalidate 를 쭉 호출하게 되고, 다시 dirty check 된 녀석까지 draw 를 수행하여 그리게 된다. * 기존 View 의 문제1. UI 스레드에서만 그릴 수 있다.2. View 의 계층 구조를 타야 한다.3. 실시간으로 그리기 어렵다. * 기존.. 2013. 7. 18.
[android] Strict Mode 에 대해 알아보자. 안드로이드, Strict Mode 에 대해 알아보자. 참조 : http://dev.kthcorp.com/2012/01/31/android-strict-mode-howto/ Strict Mode 가 뭐야? * Main Thread 에서 사용성을 떨어뜨리는 작업들( 대표적으로 IO )을 하지 않도록 개발자에게 Log, 강제 종료, dropbox, dialog, splash 등의 방법으로 알려주는 API 이다. * GingerBread 부터 소개되었다. * IO 작업 중에서도 file, network access 는 특히 위험하다. 그 이유는 android file system ( YAFFS, Yet Another Flash File System ) 의 경우 한 process 가 해당 파일에 접속하면, 다른 .. 2013. 7. 17.
[andoid] AsyncTask vs. Handler + Thread AsyncTask vs. Handler + Thread 참조 PPT AsyncTask UI 스레드에서 생성, 사용해야 한다는 제약사항 있음.비교적 오래 걸리지 않는 작업에 유용하다.Callback 함수들이 잘 정의되어 있다.Task cancel 이 용이한 편이다.재사용이 불가능하다. Handler + Thread UI 스레드 사용 제약이 없다. ( Looper 전달 가능 )작업시간에 대한 제약이 없다.구현이 AsyncTask 에 비해 조금 복잡할 수 있다.Task cancel 이 어렵다.재사용 가능하다. 언제 어떤걸 사용할까? 주로 async 하게 처리해야 하는 경우는 I/O 처리를 할 때이다.DB, Network, Bitmap 처리, File 처리 등. DB, Network 은 Handler + Thr.. 2013. 7. 16.
[android] actionbar 어떻게 사용하고, 왜 사용하는가? 안드로이드 actionbar 어떻게 사용하고, 왜 사용하는가? 필자는 왜 그냥 간단히 View 로 구현하면 되는걸 ActionBar 로 구현하는가 했다.그것은 ActionBar 에 대해서 잘 모르기 때문에 한 이야기..ActionBarSherlock 이라는 libary 를 사용하면서 actionbar 에 대해 재조명하게 되었다. actionbar 의 기능들과 사용방법에 대해 간단하게 정리해본다. onCreateOptionsMenu onCreateOptionsMenu 에서 menu 를 add하면 그것이 ActionBar 의 우상단에 list 형태로 붙게 된다. MenuItem.setShowAsAction( int actionEnum ) 해당 Menu Item 이 ActionBar 에 어떤 형태로 displ.. 2013. 7. 15.
[android] AndroidAnnotations 와 Otto 를 이용한 빠른 앱 개발. AndroidAnnotations 와 Otto 를 이용한 빠른 앱 개발 휴휴님의 강좌에서 좋은 open source library 들을 알게 되어 내용을 공유하고자 한다. PPT 링크 아래녀석은 PPT 내용을 pdf 로 뽑은 것. 링크와 pdf 파일 등 공유에 문제가 있다면 댓글이나 방명록을 통해 알려주세요. 조치하겠습니다.! CleanAndroidCode? CleanAndroidCode 는 Dagger, Otto, AndroidAnnotations 의 장점을 합쳐놓은 녀석. https://github.com/pyricau/CleanAndroidCode AndroidAnnotattions? http://androidannotations.org/ open source framework 으로 여러가지 idi.. 2013. 7. 15.
[android] Lombok 뭐 하는 녀석이냐? 안드로이드, Lombok 뭐 하는 녀석이냐? Lombok 이 뭐야? OpenSource project 로 eclipse 에 설치해서 사용하는 유용한 녀석이다. add-on 비슷한 녀석이랄까?annotation 등을 이용하여 반복적으로 생성하는 지루한 코드들을 모두 생략할 수 있다. Lombok Features Lombok Feature Official Page @Getter, @Setter 자동으로 getter, setter 들을 만들어준다.accesslevel 도 지정가능하고, override 도 가능하다. @Getter(lazy=true) thread-safe 한 getCached() 라는 함수를 만들어준다. 이 함수는 expensive 한 작업에 대해서 cache를 뜬다. @ToString 필자가 .. 2013. 7. 14.
[android] fragment 간 통신. (Communication) 안드로이드, Fragment 간 통신. (Communication) Fragment 를 재사용가능하게 하기 위해서는 self-contained, 즉 modular 화 되어야 한다. 재사용가능한 fragment 는 그 내용의 변경을 위해서 fragment 끼리 통신(communication)을 해야할 경우가 있는데, 절대 직접적으로 해서는 안된다. 반드시 연관된 activity 를 통해 이야기해야 한다. 1. Inteface 정의 및 구현 Fragment 에서의 event 발생에 대해 activity 에 전달하기 위해서, Fragment 에서 interface 를 정의하고, 이 interface 를 activity 에서 구현해준다. 2. 다른 Fragment 에 msg 전달하기. findFragmentBy.. 2013. 7. 14.
[android] Google Map Android API V2 에 대하여.. Google Map Android API V2 참조 : https://docs.google.com/presentation/d/1IqHXiaLBSWiQb0Nc47YFk3_7NMfeaVfh4UiUIwVlzDQ/edit?pli=1 V2 의 특징 * MapFragment 지원* API Key 관리 용이해짐* 오버레이 클래스 생성하지 않고 마커 추가 가능, 마커 커스터마이징 및 말풍선(infowindow) 기능 지원. V2 사용하기 1. Google Play Services SDK rev3 이상 필요. ( SDK Manager 를 통해 설치 가능 ). /extras/google_play_services/libproject/google-play-services_lib 의 내용을 import 시킴 2. Applica.. 2013. 7. 13.
[android] Otto library 에 대해서. Otto Library 에 대해서. Otto 가 뭐야? Otto Library 는 open source library 로 간단히 이야기하면, event dispatcher 이다. Event Bus 라는 dispatcher 가 있고, event producer 와 event subscriber 를 event bus 에 등록하면 이 녀석이 둘을 연결해주는 방식이다. Otto 는 왜 쓰려는 거야? ( 장점 ) Otto 의 motivation 은 보통 이 구조를 interface 를 이용해서 구현하는데, register 하는 쪽과 당하는 쪽이 interface 에 대해 알고 있어야 하며, 이를 boilerplate 코드로 여겨지는 데서 출발한다. Interface 로 묶이는 경우를 coupling 이라고 볼 수.. 2013. 7. 11.
반응형