blog

  • HOME
  • 技術者ブログ
  • 第2回 Androidでデータベースアプリを作成してみましょう。(過去データの更新)

第2回 Androidでデータベースアプリを作成してみましょう。(過去データの更新)

2011.09.20

デバイスソリューション部 長野です。

今回は前回に作成した日記アプリを少しだけバージョンアップさせます。
過去データの編集について問い合わせもありましたので、過去データを編集できるようにしてみます。
それでは始めていきましょう。


 
 
1.イメージを考えましょう

過去データを編集すると言っても色々とやり方が考えられます。

例えば、一覧のリストの横に編集ボタンを表示する事もできますし、
参照画面に編集ボタンを表示する事もできます。

今回は後者の参照画面に編集ボタンを表示する方法で実装していきます。
 
 
2.レイアウトを作成

画面を以下のようにしてみました。
作成の仕方などは前回の前編を参照して下さい。
 

●res/layout/edit.xml

ぶっちゃけますと、add.xmlをコピー&ペーストして作成しています。(^^)
 
 
●res/layout/edit.xml

前回から変更したのは、「編集ボタン」を追加しただけです。
矢印で括った部分だけの更新です。

 
 


3.日記データを更新するデータベースのインターフェースを作成

今回は新規にアップデート用のメソッドを作成してみたいと思います。

 
3-1.DataBaseアクセスクラス(Class:RecordDaoItem)

前回のデータベース中に更新もできるような仕組みを入れていたのを忘れてました。
save_item()の所にrow_idを指定しているとアップデートのSQLが動作するようになっていますので、
それを流用してアップデート処理を実装されても良いかと。

●src/jp.app.nikkibybrightsystemdb/RecordDaoItem.java

前回の「RecordDaoItem」に「update_item()」を追加してください。
やってる事はRecordItemに記録されているID等のITEMで、update文の第4引数にあるwhere句指定したIDのレコードを更新しています。
 
 
 
4.プログラムを作成

参照画面のボタンの追加をしてますので、そのボタンが押下された時の動作と
編集画面の動作をプログラミングする事になります。

ソースを見てみましょう。
 
 
4-1.参照画面(Class:ActivityView)

一覧画面から選択されたレコードの参照画面になります。

●参照画面でやってる事
・トップ画面から引き継いだデータを表示。
 


●src/jp.app.nikkibybrightsystem/ActibityAdd.java

トップ画面から引き継いだデータをそのまま編集画面に引き継ぐような形になります。
編集画面を呼び出した後は参照画面自身を終了させています。
編集画面からの戻り先はトップ画面にしたい為、あえてfinish()を呼び出すようにしています。

 
4-2.編集画面(Class:ActivityEidt)

参照画面のレコードを編集する画面になります。

●編集画面でやってる事
・日記の本文を編集して、既存レコードを更新する。
 


●src/jp.app.nikkibybrightsystem/ActibityEdit.java

ぶっちゃけますと、ActibityEdit.javaをコピー&ペーストして作成しています。(^^)
矢印部分を追加/編集しています。
 
 


最後に忘れがちなAndroidManifest.xmlを更新です。

●./AndroidManifest.xml

以上で既存レコードを更新できる日記アプリの完成です。
ちょっとずるい感じの実装ですが、立派にレコードを更新できました。
他のupdateの方法を実装してみるのも面白いと思いますよ。是非とも他のやり方も試してみてください。
レコード更新する為の処理の参考になれば幸いです。

プロジェクトファイルをダウンロード