2011.06
15

android メモ2 DBとボタンにイベント処理


■データベースの利用 SQlite
・少しのデータ→プリファレンス(Preference)
・ちょっと多目のデータ→ローカルファイル
・それ以上→SQlite

・最初にオープン⇒読み取りや書込み⇒最後にクローズ、という手順を踏む
・SQLiteOpenHelper で拡張クラスをつくる
・onCreateメソッド→create tableコマンドでテーブル作成。table名、型、制約を設定
・getWritableDatabase()メソッド→データベースをオープン
・SQLiteDatabase.insert()メソッド→レコードの追加 (第一引数:テーブル名、第三引数:データ)
・SQLiteDatabase.update()メソッド→レコードの更新 (第一引数:テーブル名、第三引数:条件→where句)
・SQLiteDatabase.delete()メソッド→レコードの削除 (第一引数:テーブル名、第三引数:条件→where句)
・SQLiteDatabase.execSQL()メソッド→SQL文をそのまま実行。
レコードの追加、更新、削除や、テーブルの作成、削除。※select文は使えず
・レコードの検索結果はCursorというインスタンスで返される。インスタンスの取得方法は以下2つ
1.SQLiteDatabase.query()メソッド
sdb.query(“第1引数”,“第2引数”,“第3・・・); 引数でorder by句やlimit句を設定。
2.SQLiteDatabase.rawQuery()メソッド
生のクエリを使用

※参考URL
http://www.ipentec.com/document/document.aspx?page=android-use-sqlite-simple-app
http://android.roof-balcony.com/shori/strage/sqlite/

■ボタンのイベント処理・・・DBとテキストボックス・ボタンの連携方法
・android:onClick=”onClickButton”→xmlファイルでイベントの設定
・javaファイルで読み込み(R.layout.ファイル名)
・javaファイルでクリックした際のイベントを設定
例)保存orキャンセルのボタン→保存を押下したら保存確認のアラート(はい/いいえ)
swich
 case ボタン「保存」(idが1)を押下したとき
  アラートダイアログのインスタンスを作成。/new AlertDialog
  ボラン「はい」(idがyes)の設定・・・xmlファイルから取得/(R.getstring.指定したstring)
  ボタン「はい」を押下したら(onClickListener)保存処理
  onSaveInstanceState(Bundle) で保存
  
  ボラン「いいえ」(idがno)の設定・・・xmlファイルから取得/(R.getstring.指定したstring)
  ボタン「いいえ」を押下したら(onClickListener)何もせずに戻る

 case ボタン「キャンセル」(idが2)を押下したとき
  何もせずに戻る
break;
swich終わり

という感じで、次はボタンを押下したときのイベント(保存処理)を細かく読んでメモします。

■入力されたテキストをSQlite保存
EditTextクラスを利用するにはコンストラクタを使ってEditTextクラスのオブジェクトを作成。
・1枚目の画面→保存orキャンセル ボタン。  ここでテキストを入力(EditText)し、保存を押す。
保存するデータを、EditText01から取得(getText())する。
後はinsert文でDBにテキストを保存すれば良い?

※参考URL
http://techbooster.jpn.org/andriod/application/567/
http://d.hatena.ne.jp/hkhumanoid/20090117/1232194093

■外部のデータを利用
※Androidで外部からデータを保存するにはContent Providerを使用するのが基本。
Content Providerは端末内のアプリ専用エリアに作成され、アクセス権限を定義すれば他のアプリからも使用可能。
使用するには設定(以下のタグ)をAndroidManifest.xmlに追加。 http://d.hatena.ne.jp/isher/20090613/1244932235
http://d.hatena.ne.jp/Korsakov/20101128/1290957083

作りたいものは、フォースクエアみたいなアプリ。
写真を撮ったら、その場で位置情報+つぶやき+写真のログがデータベースに記録されるというもの。
どローカルな観光アプリ「みんなで作る観光MAP」みたいな感じをイメージしていた。

作るまでの流れとしては
1.文字列をDBに保存→半分ぐらいできてない
2.マップを表示して位置情報を取得→できていない
3.写真を撮ってDBに保存→できていない
4.これらを繋げるコード→できていない

今週末(6/19)にあるICT復興会議に、このアプリを出してみたかったけど無理っぽいな・・・
まあ、できるだけ頑張ろう。

仙台テイガクHP|製作費0円・月額5000円から始める定額制のホームぺージ作成サービス 仙台テイガクHP|製作費0円・月額5000円から始める定額制のホームぺージ作成サービス

ページトップへ戻る