uuzazuk9.egloos.com

悠悠自適

포토로그 방명록



안드로이드/Android Cursor를 이용한 DB 데이터 사용 하기 Android & JAVA & WIPI

원본 : http://arabiannight.tistory.com/381



안드로이드에서는 DB에서 가져온 데이터를 쉽게 처리하기 위해서 Cursor 라는 인터페이스를 제공해 줍니다. Cursor는 기본적으로 DB에서 값을 가져와서 마치 실제 Table의 한 행(Row), 한 행(Row) 을 참조하는 것 처럼 사용 할 수 있게 해 줍니다. 개발자는 마치 그 행(Row) 을 가지고 행(Row)에 있는 데이터를 가져다가 쓰는 것 처럼 사용하면 되는 편의성을 제공받게 됩니다.


1) 기본적인 DB 필드 구조.



 

Cursor는 SQLiteDatabase 에서 얻어오 실제 DB 값을 가지고 마치 테이블의 행(Row)를 하나하나 이동하며 참조하는듯 Data를 처리해 줍니다. 실제 Cursor의 동작은 이렇게 동작한다고 생각하시면 됩니다.


2) Cursor의 동작 원리 : 행(Row) 참조



실제 Cursor가 행(Row)를 참조하기 때문에 Cursor의 위치를 바꿔주는 메서드들이 존재 합니다. 실제 자주 사용하는 메서드들 입니다.


 메서드 

 동작 

 Cursor.moveToFirst();

 Cursor를 제일 첫번째 행(Row)으로 이동 시킨다.

 Cursor.moveToNext();

 Cursor를 다음 행(Row)으로 이동 시킨다.

 Cursor.moveToPrevious();

 Cursor를 이전 행(Row)으로 이동 시킨다.
 Cursor.moveToPosition(position);

 Cursor를 해당 Position 행(Row)으로 이동 시킨다.

 Cursor.moveToLast();

 Cursor를 마지막 행(Row)으로 이동 시킨다.



2-1) Cursor의 동작 원리 : 행(Row) 이동



위에서 실제 Cursor의 동작 원리를 살펴 보았는데요. 이번에는 Cursor가 참조하고 있는 DB 테이블의 행(Row) Data를 얻어오는 방법에 대해 알아 보겠습니다.



 메서드 

 동작 

 Cursor.getInt(), Cursor.getString(),   Cursor.getLong(), Cursor.getBoolean().....

 DB 테이블의 실제 Data를 가지고 옵니다.

 Cursor.getColumnIndex(Streing columnName);

 DB 테이블의 해당 필드(컬럼) 이름을 얻어 옵니다.

 Cursor.getPosition();

 Cursor가 가리키고 있는 DB 테이블 행(Row) Position 을 얻어 옵니다.

 Cursor.getColumnName(int columnIndex);

 필드(컬럼) index의 해당하는 필드(컬럼) 이름을 얻어 옵니다.

 Cursor.getCount();

 커서가 참조 할 수 있는 해당 테이블의 행(Row)의 갯수를 얻어 옵니다.

 Cursor.getColumnNames();

 DB 테이블의 필드(컬럼) 명을 순서대로 배열로 얻어 옵니다.

 Cursor.getColumnCount();

 DB 테이블의 필드(컬럼) 갯수를 얻어 옵니다.



3) Cursor로 값 가져오기

포스팅에서 언급하는 필드와 컬럼은 같은 개념으로 보시면 됩니다.


3-1) Cursor.getInt(), Cursor.getString(),   Cursor.getLong(), Cursor.getBoolean().....



3-2) Cursor.getColumnIndex(Streing columnName);



3-3) Cursor.getPosition();



3-4) Cursor.getColumnName(int columnIndex);



3-5) Cursor.getCount();



3-6) Cursor.getColumnNames();



3-7) Cursor.getColumnCount();



UML Class Diagram source code mapping UML

http://hodorii.blogspot.kr/2014/09/uml-class-diagram-source-code-mapping.html

Android Build ID Android & JAVA & WIPI

android\build\core\build_id.mk

export BUILD_ID=KOT49I

uid, gid Android & JAVA & WIPI

http://icarus0913.tistory.com/entry/uid-gid

touch명령어 사용방법과 옵션 Linux

[출처] [Linux] touch명령어 사용방법과 옵션|작성자 Specialist


명령어 형식 : touch [option] [file name]

 

touch명령어는 크기가 0 byte인 파일을 생성하기도 하는데 파일을 생성하면서 시간을 정해줄수도 있고

 

이미 생성되어있는 파일의 날짜와 시간 등을 변경해 줄 수 있습니다.

 

이런 기능을 이용한다면 여러 방법으로 사용이 가능하겠죠??

 

먼저 touch명령어와 함께 사용가능한 명령어로는 -r, -d, -t 정도를 기억하시면 됩니다.

 

-r : 임의의 선택된 파일의 시간으로 원하는 파일의 시간을 동기화한다.

 

-d : 현재시간 대신 지정한 시간으로 변경한다.(시간만 변경)

 

-t  : 현재시간 대신 지정한 시간으로 변경한다.(년도, 월, 일, 시간 모두 변경 가능)

 

기본적으로 만들고자 하는 파일의 이름을 wanted 라고 한다면 touch wanted 입력을 통해 크기가 0인 파일을 생성하게 됩니다.

 

 

맨 아래를 보면 크기가 0 byte인 wanted파일이 만들어진 것을 확인할 수 있습니다. 

 

<1. -r : 임의의 선택된 파일의 시간으로 원하는 파일의 시간을 동기화한다.>

 

touch -r [시간을 참조할 파일] [시간을 바꿀 파일]

 

위의 형식으로 파일 이름을 각각 입력해 줍니다.

 

그 전에 저는 먼저 시간을 비교할 파일 want를 만들겠습니다.

 

 

보시다시피 맨 아래에 새로만든 want파일이 22시 02분에 만들어졌고 wanted파일은 21시 52분에 만들어져 있습니다.

 

 

want파일의 생성시간으로 wanted파일의 시간을 동기화 시키기 위해 touch -r want wanted 를 입력했습니다.

 

보이시죠? wanted파일의 최종 수정시간이 want와 같아졌습니다.

 

<2. -d : 현재시간 대신 지정한 시간으로 변경한다.(시간만 변경)>

 

touch -d [HHMM] [file name]

 

-d는 시간만 변경할 수 있는 옵션입니다.

 

저는 06시 00분으로 want의 시간을 변경해 보겠습니다.

 

 

시간을 입력하는 곳에 0600을 입력하니 want파일의 시간이 06시 00분으로 변경되었습니다.

 

<3. -t  : 현재시간 대신 지정한 시간으로 변경한다.(년도, 월, 일, 시간 모두 변경 가능)>

 

touch -t [YYMMDDHHMM][file name]

 

-t는 년도부터 월,일,시간 모두 변경할 수 있습니다.  다시 want파일의 시간을 변경해 보겠습니다.

 

 

want파일의 원래 생성시간은 2012년 3월 19일 22시 02분 이었습니다.

 

하지만 0812250600을 입력해서 08년 12월 25일 06시 00분으로 시간을 변경했습니다.

 

파일의 최종수정시간이 바뀐것을 확인할 수 있습니다. 근데 2008이 시간을 덮어버렸네요 ㅋ 

 

[출처] i2sec 


1 2 3 4 5 6 7 8 9 10 다음



메모장