객체에 OnClickListener를 설정할 수 있는 메소드를 제공하므로 별도 클래스 정의 없이 리스터 객체 정의/설정가능

:위임모델(Delegation Model) - 자바에서도 일반적으로 사용되는 이벤트 처리 방식, 컴포넌트 마다 하나의 이벤트 처리루틴 할당 방식

 

ㅇ 터치 이벤트 : 화면을 손가락으로 누를 때 방생하는 이벤트

ㅇ 키 이벤트 : 키패드나 하드웨어 버튼을 누를 때 발생하는 이벤트

ㅇ 제스쳐 이벤트 : 터치 이벤트 중에서 일정 패턴을 만들어 내는 이벤트

 - ex) onDown(), onShowPress(), onSingleTapUp(), onSingleTapConfirmed(), onDoubleTap() etc.

ㅇ 포커스 : 뷰 마다 순서대로 주어지는 포커스

ㅇ 화명 방향 변경 : 화면의 방향이 가로/세로로ㅗ 바뀜에 따라 발생하는 이벤트

 

제스쳐 이벤트 처리 객체 GestureDetector

Scroll : 손가락으로 드래그하는 일반적인 경우에 해당, 이동한 거리값이 중요 처리 포인트

Fling :  빠른 속도로 스크롤 하는 경우, 이동한 속도값이 중요 처리 포인트

LongClikck :오랫동안 손가락을 누르고 있을 때 발생

FocusChange : 포커스가 변경 될 때 마다 호출

GestureDetector 객체는 이런 이벤트를 간단히 처리할 수 있도록 거리, 속도값 전달

 

액티비티 자체에 대한 이벤트를 처리 할때는 아래와 같은 메소드를 재정의 한다.

boolean onTouchEvent (MotionEvent event)

boolean onKeyDown (int KeyCode, KeyEvent event)

boolean onKeyUp (int KeyCode, KeyEvent event)

 

버튼이나 테스트뷰 와 같은 view들에 이벤트를 처리 할 때는 이벤트 리스터 함수를 등록한다.

view.onTouchListener

view.onKeyListener

view.onClickListener

view.onFocusChangeListener

by wisegirl 2013. 2. 27. 23:47

 

저희는 집에서 우유와 발효유 요거트를 함께 직접 요거트를 발효해 먹고 있어요.

 

그 동안은 전통적(?) 방식으로 우유와 요거트를 섞어서 전기장판 아래에 하루동안 두는 방식으로 해 왔어요.

 

그런데 전기세 부담과 출근하고 집을 비우는 동안 전열기를 켜 두고 나온다는 것도 좀 그렇더라구요.

 

그래서 발효기계를 찾던중 저의 요구사항에 꼭 맞는 제품을 발견 하였습니다.

 

마음에 드는점은 가격, 편의성, 생산용량 등 제 마음에 꼭 들어요.

 

사진 나갑니다.

 

 

크기도 딱 정당하고 공간차지도 최소화 되는것 같아서 마음에 들어요, 게다가 가볍구요..

 

 

요렇게 뚜껑을 열고 내부 플라스틱 통에 다가 우유 100ml와 유산균 발효유를 1통 넣으시면 되요.

통이 보기엔 작아 보이는데 모두 부으면 가득 차기 직전까지... 넘치지 않고 꼭 맞는 양이 되더라구요.

 

 

짠~ 딱 8시간 동안 발효하고 출근하면서 냉장고에 넣두고 차갑게 숙성시킨 후의 모습이에요.

8시간 이면 그리 오래 발효 하지 않은것도 아닌데도 국자로 덜어 보니 단단하게~ 아주 만족스럽게 발효 되어 있더라구요.

정말 만족 대 만족입니다!! ^^

 

완성된 사진 좀더 크게 보여드릴게요.

 

 

여러분도 저렴한 가격에 사정용 수제 요거트 발효기로~ 맛과 영양 모두  챙겨 보세요^^

 

 

by wisegirl 2013. 2. 22. 12:49

Content Provider는 안드로이드 애플리케이션 간에 데이터를 공유할 수 있는 유일한 수단이다.

안드로이드 패키지들이 공통적으로 접근할 수 있는 데이터 저장소는 따로 없음
데이터를 제공하는 저장소를 한 곳으로 통일시키고 클라이언트 들이 쉽게 접근할 수 있도록 만들어 주는 데이터 레이어

같은 애플리케이션 안 뿐만 아니라 다른 애플리케이션의 액티비티나 서비스도 접근가능
 

ㅇ 제공가능 데이터 타입: 오디오, 비디오, 이미지, 연락처 등
ㅇ 다양한 데이터 저장 매커니즘 지원가능 파일, SQLite데이터베이스, 메모리 상의 해쉬맵 등

 

* 구현하기

ContentResolver resolver = getContentResolver();
Cursor cursor = resolver.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);

int count = cursor.getCount();
Toast.makeText(this,"데이터갯수: "+count, Toast.LENGTH_LONG).show();

String name = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME);

 

menifest.xml ->  permissions -> add -> android.permission.READ_CONTACTS
까지 하면 menifest.xml 자동 추가됨 <user-permission> 이하내용...

 

정리하자면 ContentResolver라는 객체를 통해 query()메소드를 수행하여 데이터를 얻어 온다.
query()메소드의 리턴타입은 Cursor 이므로, 결국 ContentResolver를 통해 얻어 진 데이터는 Cursor의 객체형태로 저장된다.

by wisegirl 2013. 2. 22. 12:23