티스토리 뷰
아래는 걍 예제 소스. DB를 쓴다음에 읽어와서 화면에 뿌린다.
@Override
public void onClick(View v)
{
// 데이터베이스 열기 (생성)
m_db = openOrCreateDatabase( "test.db", Context.MODE_PRIVATE, null );
if ( !m_db.isOpen() )
{
Log.e( "SQLite", "openOrCreateDatabase ... Fail" );
return;
}
Log.i( "SQLite", "openOrCreateDatabase ... OK" );
String strSQL;
try
{
// member 테이블이 존재하면 삭제
strSQL = "DROP TABLE IF EXISTS member;";
m_db.execSQL( strSQL );
// member 테이블이 존재하지 않으면 생성
strSQL =
"CREATE TABLE IF NOT EXISTS member " +
"(" +
" c_name TEXT" +
" , c_alias TEXT" +
" , c_age INTEGER" +
");";
m_db.execSQL( strSQL );
Log.i( "SQLite", "Create Table ... OK" );
// Insert 구문을 이용한 Row 삽입
for ( int i = 0; i < 3; ++i )
{
strSQL =
"INSERT INTO member ( c_name, c_alias, c_age )" +
" VALUES ( 'code_" + Integer.toString( i ) + "'," +
" 'test', " + Integer.toString( i + 2 ) +
" );";
m_db.execSQL( strSQL );
Log.i( "SQLite", "Insert data " + i + " ... OK" );
}
// ContentValues 를 이용한 데이터 삽입
ContentValues cvInsert = new ContentValues();
cvInsert.put( "c_name", "neo" );
cvInsert.put( "c_alias", "dreamer" );
cvInsert.put( "c_age", "20" );
m_db.insert( "member", null, cvInsert );
cvInsert.put( "c_name", "neo2" );
cvInsert.put( "c_alias", "dreamer2" );
cvInsert.put( "c_age", "40" );
m_db.insert( "member", null, cvInsert );
// rawQuery 함수를 이용한 데이터 질의
m_cursor = m_db.rawQuery( "SELECT * FROM member", null );
if ( m_cursor != null )
{
if ( m_cursor.moveToFirst() )
{
String strRow = "--------------------------------\n";
for(int i = 0 ; i < m_cursor.getColumnCount() ; i++ )
{
strRow += m_cursor.getColumnName(i) + " | ";
}
strRow += "\n";
txtResult.setText( strRow );
do
{
strRow = "";
for(int i = 0 ; i < m_cursor.getColumnCount() ; i++ )
{
strRow += m_cursor.getString(i) + " | ";
}
strRow += "\n";
txtResult.setText( txtResult.getText() + strRow );
} while ( m_cursor.moveToNext() );
}
}
m_cursor.close(); // 커서 닫기
// rawQuery 함수에 parameter 를 이용한 데이터 질의
String strParam[] = { "neo" };
m_cursor = m_db.rawQuery( "SELECT * FROM member WHERE c_name = ?", strParam );
if ( m_cursor != null )
{
if ( m_cursor.moveToFirst() )
{
String strRow = "--------------------------------\n";
for(int i = 0 ; i < m_cursor.getColumnCount() ; i++ )
{
strRow += m_cursor.getColumnName(i) + " | ";
}
strRow += "\n";
txtResult.setText( txtResult.getText() + strRow );
do
{
strRow = "";
for(int i = 0 ; i < m_cursor.getColumnCount() ; i++ )
{
strRow += m_cursor.getString(i) + " | ";
}
strRow += "\n";
txtResult.setText( txtResult.getText() + strRow );
} while ( m_cursor.moveToNext() );
}
}
m_cursor.close(); // 커서 닫기
// query 함수를 이용할 데이터 질의
String strColumn[] = { "c_name", "c_age" };
String strSelection = "c_name like 'neo%'";
m_cursor = m_db.query( "member", strColumn, strSelection,
null, null, null, null );
if ( m_cursor != null )
{
if ( m_cursor.moveToFirst() )
{
String strRow = "--------------------------------\n";
for(int i = 0 ; i < m_cursor.getColumnCount() ; i++ )
{
strRow += m_cursor.getColumnName(i) + " | ";
}
strRow += "\n";
txtResult.setText( txtResult.getText() + strRow );
do
{
strRow = "";
for(int i = 0 ; i < m_cursor.getColumnCount() ; i++ )
{
strRow += m_cursor.getString(i) + " | ";
}
strRow += "\n";
txtResult.setText( txtResult.getText() + strRow );
} while ( m_cursor.moveToNext() );
}
}
m_cursor.close(); // 커서 닫기
}
catch ( SQLException e )
{
// SQL 예외 처리
Log.e( "SQLException", e.getMessage() );
}
finally
{
// Database 닫기
m_db.close();
Log.i( "SQLite", "Database Close ... OK" );
}
}
자세한건 아래 사이트 참조
'Development > Mobile' 카테고리의 다른 글
| [Android] 갤럭시 탭용 어플 개발 시 화면에 꽉 채우게 하기 (0) | 2010.12.30 |
|---|---|
| [Android] 내부 저장소 사용하기(Data Storage) (0) | 2010.12.29 |
| [Android] DB - SQLite (2) | 2010.12.28 |
| [Android] SQLite3 기본 (0) | 2010.12.24 |
| [Java] jUnit 사용하기 (0) | 2010.12.24 |
| [Android] JCIFS를 이용하여 Android와 Windows간에 파일 공유하기 (10) | 2010.12.24 |
| [Android] Conversion to Dalvik format failed with error 1 (2) | 2010.12.23 |
| [Java/Android] Override annotation 에러 발생 시 (0) | 2010.12.18 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- algorithm
- Visual C++
- kering
- Troubleshooting
- Cloud
- 프로그래밍
- driver
- source
- C++
- java
- NDK
- jni강좌
- Quiz
- winapi
- C
- 리눅스
- it
- MFC
- android
- gcc
- 음악
- database
- 드라이버
- API
- 안드로이드
- jni
- Python
- AWS
- db
- linux
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 |
글 보관함