Androidアプリ内のデータベースにデータを保存する

アプリ内データベースにデータを保存する必要があったので勉強を兼ねて
前回作成した方位アプリの角度情報をDBに保存するプログラムを作成しました。

データベースを操作するためのSQLiteOpenHelperクラスを継承した
クラスを作成し、
定数でデータベース名とバージョン
テーブル名とカラム名
DBを操作するためのSQL文をそれぞれ定義しておきます。

onCreateメソッド内でSQL文を実行し テーブルを作成します 。

引数で受け取った値をDBへ保存するメソッドです。
writableDatabaseで書き込み可能なデータベースを受け取り、変数dbに保存
定数で定義したカラム名と対応する値のペアを作り
変数dbに作成した値のペアをinsertしてcloseします。

DBからデータを読み取りJSONObject配列として返すメソッドです。
readableDatabaseで読み取り可能なデータベースを受け取り、変数dbに保存
変数dbのqueryメソッドでデータを読み取っています。
読み取ったデータはJSONObject化しループで配列化しています。

読み取るデータの範囲を絞り込むためにデータを保存した日時カラム、timeStumpを対象にして、
変数dbの queryメソッドの
第三引数にWHERE句 “timeStump BETWEEN ? AND ?”を指定し、
第四引数にString配列{絞り込む範囲の初め, 絞り込む範囲の終わり}を指定しています。
第三引数に指定したSQL WHERE句 の’?’に対して、第四引数に指定したString配列の要素がインデックスが若い順に割り当てられています。

メソッドの呼び出し側です。
10秒ごとにタイムスタンプと最後に取得した方位角をsaveDataメソッドを使いデータベースに保存しています。

水曜担当:Tanaka




アプリ関連ニュース

お問い合わせはこちら

お問い合わせ・ご相談はお電話、またはお問い合わせフォームよりお受け付けいたしております。

tel. 06-6454-8833(平日 10:00~17:00)

お問い合わせフォーム