ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

グーグルケータイOS、androidのお勉強(4)-データベースアクセス部分。

2007-11-30 13:06:46 | ケータイ

シリーズグーグルケータイOS、androidのお勉強、前回は、チュートリアルのStep1に相当する、サンプルプログラムをダウンロードしてくるところをやりました。

 ということで、今回はStep2に相当する、データベースアクセス部分です。。





■データベース操作―DBHelper

 このまえのノートパッドの例のなかに、すでに、データベース部分はコーディングされているようです。それをみて、お勉強してみましょう。
 DB操作を行うクラスは、DBHelperですので、プロジェクトのなかのsrcの下の、パッケージcom.google.android.demo.notepad1にある、DBHelper.javaをみます。

メソッドからすると、以下のことをやっているようです。

●コンストラクタ=生成
  引数のコンテキスト(ctx)からctx.openDatabase(データベース名、null)で
  データベースをオープン、

  オープンできないときは、
    ctx.createDatabaseでデータベース作成
    db.execSQL("Create Table文");
  でテーブル作成

●挿入(createRow)
  ContentValuesで値の組(レコード)がはいるところを生成
  ContentValuesのオブジェクトのput(項目名、引数)でレコードに値設定
  db.insertでそのレコードをテーブルに挿入

●行削除(deleteRow)
  db.deleteで引数にIDを指定して削除

●全行取得(fetchAllRows)
 db.queryで検索して、その結果をCursorクラスにいれる
 このカーソルはc.first()で最初の行、
        c.next()で次の行、
        c.count()で全部の行数
        c.getLong(pos)で現在さしている行のpos番目の項目(先頭0)の値
        c.getString(pos)で現在さしている行のpos番目の項目(先頭0)の値
になるので(getLong、getStringは返す値により、よきにはからう)、適当に操作する

●1行取得(fetchRow)
 db.queryの指定IDの行の検索結果をかえす。
 カーソルからの値取り出しは全行取得と同様

●更新(updateRow)
  ContentValuesで値の組(レコード)がはいるところを生成
  ContentValuesのオブジェクトのput(項目名、引数)でレコードに更新する値設定
  db.updateでその値を更新(更新先のIDを指定する)

●クローズ
  db.close()する




■ということで・・・

 操作手順は、
(1)DBHelperクラスを生成する
(2)上記の、全行検索、行検索、更新、削除、挿入のメソッドを呼び出し、
   お好きなように・・・
(3)クローズをよびだしてとじる

というかんじでしょうか。。

ちなみに、上記の中で書いたdbというクラスは、
android.database.sqlite.SQLiteDatabaseに説明があり、
カーソルは、android.database.Cursorに説明があり、
値をセットしたContentValuesは、android.content.ContentValuesにあり、
生成時の引数のContextは、android.content.Contextにある




ということで、データベースぶぶんの説明おわり
Step2もおしまいということで、つぎからStep3



この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« みっくみくぷろぐらみんぐ | トップ | 暗号技術を外国人に教えたら... »
最新の画像もっと見る

ケータイ」カテゴリの最新記事