package jp.mixi.sample.sqlite; import android.app.Activity; import android.content.ContentValues; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; import android.view.Menu; import android.widget.Toast; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); BookOpenHelper bookOpenHelper = new BookOpenHelper(getApplicationContext()); insert(bookOpenHelper); // update(bookOpenHelper); // delete(bookOpenHelper); // insertWithTransaction(bookOpenHelper); // read(bookOpenHelper); } private void insert(BookOpenHelper bookOpenHelper) { // 書き込み用のSQLiteDatabaseを取得 SQLiteDatabase db = bookOpenHelper.getWritableDatabase(); ContentValues values = new ContentValues(); values.put(Book.COLUMN_NAME_BOOK_TITLE, "TITLE1"); values.put(Book.COLUMN_NAME_BOOK_PUBLISHER, "PUBLISHER1"); values.put(Book.COLUMN_NAME_BOOK_PRICE, "PRICE1"); // 戻り値はRowID(_ID) // エラーの場合は-1になる long rowId = db.insert(Book.BOOK_TABLE_NAME, null, values); } private void read(BookOpenHelper bookOpenHelper) { // 読み込み用のSQLiteDatabaseを取得 SQLiteDatabase db = bookOpenHelper.getReadableDatabase(); // 取得する情報を指定 String[] projection = { Book._ID, Book.COLUMN_NAME_BOOK_TITLE, Book.COLUMN_NAME_BOOK_PUBLISHER, Book.COLUMN_NAME_BOOK_PRICE }; // 条件を指定 String selection = Book.COLUMN_NAME_BOOK_PRICE + " = ?"; String[] selectionArgs = { "PRICE1" }; Cursor cursor = db.query(Book.BOOK_TABLE_NAME, projection, selection, selectionArgs, null, null, null); boolean moveToFirst = cursor.moveToFirst(); long itemId = cursor.getLong(cursor.getColumnIndexOrThrow(Book._ID)); String title = cursor.getString(cursor.getColumnIndexOrThrow(Book.COLUMN_NAME_BOOK_TITLE)); Toast.makeText(this, itemId + title, Toast.LENGTH_SHORT).show(); cursor.close(); } private void update(BookOpenHelper bookOpenHelper) { SQLiteDatabase db = bookOpenHelper.getWritableDatabase(); // update情報を設定する ContentValues values = new ContentValues(); values.put(Book.COLUMN_NAME_BOOK_TITLE, "NEW_TITLE"); String selection = Book.COLUMN_NAME_BOOK_TITLE + " LIKE ?"; String[] selectionArgs = { "TITLE%" }; int updatedCount = db.update(Book.BOOK_TABLE_NAME, values, selection, selectionArgs); Toast.makeText(getApplication(), "updatedCount:" + updatedCount, Toast.LENGTH_SHORT).show(); } private void delete(BookOpenHelper bookOpenHelper) { SQLiteDatabase db = bookOpenHelper.getWritableDatabase(); String selection = Book.COLUMN_NAME_BOOK_PRICE + " = ?"; String[] selectionArgs = { "PRICE1" }; int deletedCount = db.delete(Book.BOOK_TABLE_NAME, selection, selectionArgs); Toast.makeText(getApplication(), "deletedCount:" + deletedCount, Toast.LENGTH_SHORT).show(); } private void insertWithTransaction(BookOpenHelper bookOpenHelper) { SQLiteDatabase db = bookOpenHelper.getWritableDatabase(); db.beginTransaction(); try { for (int i = 0; i < 10; i++) { ContentValues values = new ContentValues(); values.put(Book.COLUMN_NAME_BOOK_TITLE, "TITLE" + i); values.put(Book.COLUMN_NAME_BOOK_PUBLISHER, "PUBLISHER" + i); values.put(Book.COLUMN_NAME_BOOK_PRICE, "PRICE" + i); db.insert(Book.BOOK_TABLE_NAME, null, values); } db.setTransactionSuccessful(); } finally { db.endTransaction(); } } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }