전체보기 (258) 썸네일형 리스트형 안드로이드 Selector에서 Custom States 만들기 안드로이드의 강력한 기능중 Selector States기능있다. 특정한 상태에 따른 리소스를 변경해준다. 예를 들어 버튼을 누를때의 색상과 포커스를 받았을때의 색상을 각각의 상태에 따라 다르게 처리할 수있다. 이것을 이용하면 Drawable또는 Color를 직접적으로 바꾸지 않고 자동으로 바뀌도록 관리 할 수 있다. 안드로이드에서는 기본적으로 다양한 상태를 기본으로 지원 해주고 있다. 흔하게 쓰이는 것은 다음과 같다. android:state_pressed 버튼을 터치하는 시점android:state_focused 트렉패드나 키보드로 포커스가 왔을때android:state_selected 선택되어 있을때android:state_checkable 체크가능한 상태에서 터치 android:state_check.. 구글플러스 안드로이드 앱 프로필 화면 구성 요즘 안드로이드 UI를 보면 섹션바가 중간쯤 있다가 위로 올라가면 위쪽에 걸쳐지는 경우가 많다. 구글에서 만들 앱을 보면 더더욱 많이 쓰고 있다. 구글 플러스의 프로필 페이지와 얼마전에 업데이트된 뉴스 스텐드 앱이다. 하지만 자세히보면 모두 구현 방식이 다르다. 구글 플러스좌우로 스와이프 되지 않고, 하나의 리스트뷰에 Adapter변경 방식스크롤이 완료 되면 섹션을 ListView위에 다시 그리고 이벤트 처리하는 방식http://antoine-merle.com/blog/2013/10/04/making-that-google-plus-profile-screen 구글 플러스의 프로필 화면을 분석 해놓은 글이다. 구글 뉴스 스텐드, AirbnbViewPager를 사용하여 좌우 스와이프가 됨.ViewPager뒤에.. Android ViewTreeObserver 안드로이드에서 뷰는 메인쓰레드에서 그려지게 되는데, 간혹 뷰의 높이나 넓이를 알고 싶은데 그려지고 있는 시점에 확인하게 되면 값이 들어 오지 않는 경우가 있다. 그래서 뷰가 메인쓰레드에서 정상적으로 생성이 완료되는 시점을 알아야 하는 경우가 있다. 모든 뷰에는 ViewTreeObserver가 있으며 getViewTreeObserver()를 통해서 얻어 올 수 있다. 여기에 뷰와 관련된 interface를 제공하여 뷰의 상태를 전달 받을 수 있다. 주요 Listener는 다음과 같다. OnGlobalFocusChangeListener - 뷰의 포커스 변경시 호출OnGlobalLayoutListener - 뷰의 변경이 생기면 호출OnPreDrawListener - 뷰가 그려지기전 호출 이중에 OnGlobal.. JS, CSS 압축을 통한 웹 페이지 로딩 속도 향상 인터넷 속도가 원악 빨라져서 모바일 앱과는 다르게 홈페이지 로딩에 대한 별도의 처리를 하지 않는다. 하지만 반응형웹인경우 홈페이지를 PC버전뿐만 아니라 모바일에서 사용하게 되면 로딩속도가 무척 느려지게 된다. 성능을 조금 이라도 올리기위해서는 모바일용에 맞도록 가볍게 제작을 하면 되지만, 반응형웹이라 따로 제작이 불가능 하다. 그래서 JS와 CSS를 압축해서 조금이라도 사용하는 파일의 크기를 줄이면된다. http://www.refresh-sf.com/yui/ 개인적으로 위의사이트를 추천한다. 이 사이트를 이용하면 CSS, JS를 압축을 해준다. 압축은 필요없는 공백과 띄어쓰기된 부분을 한줄로 바꿈으로 파일의 용량을 줄이게 된다. 보통 약 20%정도의 파일 사이즈를 줄일 수있다. 코드편집시 한줄로 바껴있기.. 구글 애드센스 수익금 이제 통장으로 바로 지급받자. 구글 애드센스 수익금 찾기는 기존에 수표와 웨스턴유니온 2가지 방법을 제공 했었는데, 은행을 가서 직접 찾아야되는 방식이였습니다. 매번 수익이 생길때 마다 은행하기가 귀찮으신분들 많을 거에요. (저는 아직 한번도 수익금을 찾아보진 않았습니다.) 이번 구글 애드센스가 많은 업데이트가 이루어 지면서 수익금 지급방식중 하나가 추가 되었는데, 그것은 바로 은행 계좌로 바로 송금해주는 방식입니다. 애드센스 지급설정에 가시면 은행 계좌로 송금이라는 항목이 추가 되었는데, 이를 사용하기 위해서는 예금주, 은행이름, SWIFT, 계좌번호 이렇게 4가지 정보만 입력 하면 됩니다. SWIFT 은행식별코드라는것이 생소 하실텐데요. 계좌를 만드시면 통장 첫페이지에 해외에서 송금 받을시 은행코드(SWIFT CODE)라고 해서 .. 인터넷 속도 제어 프로그램 Speed Limit 안드로이드 앱 개발을 하다보면 항상 좋은 환경에서만 테스트/개발이 이루어진다. 하지만 실제로 사용하는 사람들은 인터넷 속도가 100% 좋다는 보장이 없다. 그래서 이런 예외적인 상황에서 앱이 잘 실행되는지에 대해 테스트및 개발을 해야 한다. 그래서 에뮬레이터(제니모션) 자체적으로 속도를 제어하는 기능은 없고, 맥용 프로그램을 이용해서 속도를 제어 할 수 있다. Speed Limit 라는 프로그램인데 굉장히 간단하게 사용할 수 있다. 특정 포트와 호스트에 접근하는 속도를 제어 가능하다. 그리고 delay도 임의로 설정 할 수있다. http://mschrag.github.io 약간 아쉬운점은 모든 포트를 설정할 수 없는점과 speed는 정해진것만 가능하다는것이다. 사용하다보면 가끔씩 속도 제한을 풀었는데 설.. 티스토리 초대장받은 블로그 사용율 티스토리는 초대장을 통해서 가입이 이루어진다. 초대장이 없으면 가입이 불가능하다. 초대장은 블로그의 활용내역에 따라 한달에 한번씩 지급된다. 2013년 부터 블로그를 많이 하면서 초대장이 생겨 기회가 될때마다 초대를 해주었다. 지금까지 초대해준 사람이 약 50명 정도 되는것 같다. 초대해준 사람들의 블로그를 한번씩 들어 가봤더니 다들 만들기만 하고 글을 쓰지 않았다는 슬픈 현실.. 사람들의 소유욕인걸까 싶기도 하고.. 거의 반 정도는 만들기만 하고 사용하지 않았고, 또 반 정도는 한개 정도씩만 포스팅 하였다. 5%정도가 현재도 꾸준히 사용하고 있었다. 초대할때 댓글을 보고 잘 할것 같은 사람들만 뽑아서 초대 해줬는데도 이런 결과라니.. 어떨 수 없는 부분이고 중요한건 블로그가 차세대 SNS가 될 것은 틀.. DB Query를 별도의 Thread로 처리하기 안드로이드에서 일반적으로 DB Query가 빠르다고 생각하고 MainThread에서 실행하는 경우가 대다수라고 생각한다. 데이터가 복잡하지 않거나 적은양일 경우에는 빠르게 처리되지만, 쿼비가 복잡하고 데이터가 많은 경우에는 ANR이 발생한다. ANR 방지를 위해 별도의 Thread로 쿼리를 처리해야한다. 별도의 Thead를 쓰기가 번거로움을 방지하기위해 안드로이드에서는 AsyncQueryHandler를 제공해주고 있다. public class AsyncQueryHelper extends AsyncQueryHandler { private WeakReference mListener; public interface NotifyingAsyncQueryListener { void onQueryComplete(in.. 이전 1 2 3 4 5 6 ··· 33 다음