본문 바로가기
[android] 안드로이드 개발 10계명 안드로이드 개발 10계명 ( 명심해야 할 10가지 ) 1. 앱 구성요소간 데이터를 주고받을 경우, Extra 로 여러값을 따로따로 전달하기보다는 Parcelable 을 사용하는 것이 유지보수에도 쉽고 성능이슈도 있다. Serialization 도 방법이긴 하지만 안드로이드에서는 Parcelable 이 Serialization 보다 더 효율적이다. 2. UI 와 관련된 코드를 제외한 다른 Heavy 한 모든 일은 다른 thread 를 만들어 수행해야 한다. 3. Object Cache 를 적극 활용하자. ( Object Pool 패턴사용이 추천된다. ) 안드로이드의 GC 는 폰이 버벅대는 효과를 가져오는 1등공신(?) 이다. 4. ListAdapter 내부에서는 오랜 시간이 소요되는 연산을 수행하지 않는다.. 2013. 9. 24.
[android] how to disable gridview scrolling. android, how to disable gridview scrolling [En]Not only the GridView but also all kinds of AdapterView can be adjusted not to scroll by making new class which extends the view. You can do nothing in the onTouchEvent and onInterceptTouchEvent function which are responsible for taking MotionEvent and do scrolling logic. [Kr]GridView 뿐만 아니라 모든 AdapterView 들의 Scrolling 을 막는 데는 아래와 같이 해당 View 를 exten.. 2013. 9. 23.
[android] Caused by: java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState 안드로이드, Caused by : java.lang.IllegalStateException : Can not perform this action after onSaveInstanceState 이 Exception 은 Fragment Transaction 의 commit() 함수에서 발생하는데,해당 exception 이 자주 발생하는 상황은 보통 Activity 가 종료하는 타이밍에 Fragment Transaction 으로 Fragment 를 remove 하는 commit 을 하면 그렇다.말 그대로 onSaveInstanceState() 가 실행된 이후에 commit() 이 되면 상태정보가 날아가기 때문에 경고차원에서 Exception 을 던지는 것으로 보이는데, 사실 경고를 보여주지 않고 excepti.. 2013. 9. 21.
[android] 대체 리소스는 어떤 것을 쓸까? 에 대한 실험 결과 안드로이드, 대체 리소스는 어떤 것을 쓸까? 에 대한 실험 결과 모든 resource 가 제대로 박혀 있을 때는 당연히 자신의 resource 를 가져다 쓰는 것이 당연하다. 환경구성 아래 폴더에 각각 drawable.png 이라는 이미지 파일을 만들고, 각 이미지에는 문자로 해상도를 표기한다.drawable drawable-nodpi drawable-ldpi drawable-mdpi drawable-hdpi drawable-xhdpi 실험 1 : xhdpi 단말에서 xhdpi resource 를 지웠다. 어느 것을 가져다 쓸까?예상 : 가장 밀접한 해상도인 hdpi 혹은 아예 default 가 될 수 있는 drawable, drawable-nodpi 를 가져다 쓸 것이다.결과 : hdpi 것을 가져다 .. 2013. 9. 20.
[android] Intent Filter 를 이용하여 link 처리하기. 안드로이드, Intent Filter 를 이용하여 link 처리하기. 간혹가다 보면, 일반 url 을 클릭했을 뿐인데 Google Map Activity 가 뜨는 것을 본 적이 있을 것이다. 분명 link 를 클릭했다면 브라우저가 떠야 하는데 말이다. 사실 브라우저가 해당 link 를 처리하는 것보다는 Map App 에서 처리하는 것이 훨씬 효율적이라는 것은 모두가 공감할 것이다. 그럼 특정 상황 & link 에 대해서 앱이 이를 처리하게 하려면 어떻게 해야할까? 답은 제목에서도 알 수 있듯이 intent filter 를 이용하여 처리할 수 있다. 위와 같이 BROWSABLE 로 category 를 두어 link 를 가로챌 수 있도록 해주고, data 에 scheme, host, pathPrefix 등을.. 2013. 9. 19.
[android] WebView 의 위치가 갑자기 확 바뀌는 현상 안드로이드, WebView 의 위치가 갑자기 확 바뀌는 현상 WebView 의 위치가 갑자기 확 바뀌는 현상의 원인은 WebView 가 Focus 를 받기 때문이다.( 물론 다른 이유가 있을 수 있지만, 필자의 경우의 원인은 이거였다. ) 필자가 겪은 증상은 한 Fragment 에서 아래와 같은 layout 이 있는 상황. ScrollViewLinearLayout ( vertical )다른뷰들WebView 발생한 문제 재현은 해당 fragment 에서 다른 fragment 로 갔다가 돌아와서webview 부분을 클릭하면 webview 부분이 focus 를 받으면서 ( 직관적으로 알 수 없으나 해결결과를 보면 focus 를 받았다는 것을 알 수 있다. ) webview 쪽으로 scroll 이 확~ 이동하는.. 2013. 9. 17.
[eclipse] Java 실행하면서 인자 전달하기. Eclipse, Java 실행하면서 인자 전달하기. 소소한 팁이기는 한데, 필자는 지금까지 기본적인 console program 의 경우 그냥 명령창 ( 소위 dos창 혹은 cmd 창 ) 에서 작업을 했기 때문에 몰랐던 내용이라 공유한다. Eclipse 를 통해 console program 을 작성할 경우 public static void main( String[] args ){ } 의 args 에 들어갈 인자 ( parameter ) 값을 전달할 때 어려움이 있었을 것이다. 이 방법을 몰랐다면.그럼 인자를 가지고 실행할 때마다 명령 프롬프트로 가서 해야 하는데 귀찮다..( 물론 인자값을 자주 바꿔가며 첫 스타트 부분을 테스트하기에는 명령 프롬프트만한 게 없긴 하다. ) 이클립스에서 Console Pro.. 2013. 9. 17.
[android] Multiple APK Support 안드로이드, Multiple APK Support 단적인 예로 현재 마켓에 등록 가능한 APK 파일은 50MB 로 제한되어 있다. 이 경우 화면 해상도에 따른 여러셋의 리소스를 한 APK 에 포함할 수 없는 경우가 발생하기도 한다. 구글 플레이에서는 하나 이상의 APK 파일을 동일한 이름을 갖는 하나의 어플리케이션으로 등록할 수 있도록 지원된다. 멀티플 APK 지원을 위한 조건 다음 세 가지 형태의 메니페스트의 필터를 기반으로 구분된다. 1. OpenGL 텍스쳐 압축 포맷. 2. Screen Configuration, 로 표현 3. 플랫폼 버전. 하위 호환성을 최소화하며 유지는 가져가는 데 필요하다. UX 는? 여러개의 APK 가 있어도, 조건에 최적화된 하나의 APK 만 마켓에 표시된다. 그리고 별점과.. 2013. 9. 15.
[android] Nexus7 에서 잘 작동하는 앱 만들기. 안드로이드, Nexus 7 에서 잘 작동하는 앱 만들기. 1. 반응형 디자인을 적용하여 하나의 APK 로 폰은 물론 탭도 지원 가능하도록 만들자. 2. res/layout-sw600dp 와 res/layout-sw720dp 를 활용하여 7인치 /분만 아니라 10인치 타블렛도 지원하자. 만약 폰 레이아웃을 그대로 사용하고, 텍스트와 이미지가 차지하는 공간만 확대할 예정이라면 dimens.xml 을 잘 활용하자. 3. 하드웨어 기능에 대한 주의가 필요하다.넥서스 7은 저해상도 전면 카메라만 가지고 있다.넥서스 7은 전화 기능과 진동 기능이 없다.따라서 반드시 필요한 경우가 아니면 의 required 속성 값을 false 로 두자. 꼭 필요한 녀석이 아닐 경우에는 런타임에 해당 앱이 있는지 확인하여 유두리 있.. 2013. 9. 9.
반응형