2011年7月24日日曜日

AndaroidからSQLiteへの登録

お久しぶりです。

先週は3連休なのに更新を怠ってしまいました。

今回はしっかりと更新したいと思います。

前回記述したデータの登録について調べていきたいと思います。
※今、前回の更新を見直したところ、インデントがおかしくなってましたね。。。修正しました。

Androidは内部的にSQLiteを持っているようなので、
SQLiteを使用する形で作りたいと思います。

今回、参考にしたサイトは以下の2つです。
CodeZine - Androidアプリでのデータベース基礎~速習! Androidアプリケーション開発(4)~
mucchinのAndroid戦記 - Androidアプリのデータ保存方法の一つ「SQLite」の使い方
を参考にさせていただきました。

起動時にDBを生成する必要があるかなと思うので、SQLiteOpenHelperのサブクラスを作ります。

とりあえず、小遣い帳の費目のテーブルを考えてみたいと思います。
画面上でいうと赤枠の部分のDBですね。

単純に、キーと名前だけのテーブルを作りたいと思います。

そこで、費目テーブルのCREATE文をDatabaseOpenHelperクラスに書いてみたのですが、
DatabaseOpenHelperクラスを生成するだけでは、onCreate()メソッドが実行されませんでした。

どうやら、getReadableDatabaseメソッド、getWritableDatabaseメソッドなどを
コールする必要があるみたいです。

コールすると無事、SQLiteにDBを作ることはできました。
DBができたかどうかの確認は、Eclipse上の『DDMS』パースペクティブで確認できます。
※パスとしては、data/data/パッケージ/databasesって感じですね。

・・・とまあここまで書いたところで気付いたのですが、
DBの中身の見方がわかりません・・・

どうやらAndroidのSQLiteデータを読むには、adbコマンドを使ってみるようです。
ただ、コマンドがあまり好きではない得意ではない私としては違う方法を探します。

ということで見つけた手順は、EclipseでSQLiteファイルを出力して
PupSQLiteというツールで確認する事にしました。
PupSQLiteダウンロードサイト:PupSQLiteダウンロード

EclipseからのSQLiteの出力方法は、
対象データを選択して、右上のボタン『Pull a file・・・』をクリックするとファイルを出力できます。

でその上で、PupSQLiteを起動し、ファイルを読み込むとSQLiteファイルの中身(DBのデータ)
を参照することができます。
という感じで確認することができました。

何とかデフォルト値としてINSERTした値(Helperクラス内でINSERT)を参照することができました。

何とか無事にDBに値が入ってよかったです。
次回は、AndroidからのアクションでDBの操作をする形にしたいと思います。

いよいよアプリっぽくなるはずです。

余談ですが・・・私は絵が描けないので、このアプリの殺風景さはどうにもならないでしょう・・・

※これ書くのに、6時間かかりました・・・

ではでは。

0 件のコメント:

コメントを投稿