サンプルソース 137.98 KB
1 2 3 →

Androidアプリケーションでのデータベース基礎

 前回でレイアウトが作成できましたので、今回はデータベースを作成してアプリケーションに組み込んでいきましょう。

対象読者

 本連載はJavaおよびEclipseの基本を理解している方を対象としています。

前回までの記事

Androidで利用するSQLiteのクラス

 AndroidではSQLiteがサポートされており、下記の2つのクラスを使うだけで、簡単に利用できます。

SQLiteOpenHelper

 データベースの生成、スキーマのバージョン管理を行うための抽象クラスです。こちらのクラスを継承してデータベースの生成、アップグレード処理を実装します。

SQLiteDatabase

 insert、updateなどデータベースに対する各種操作用のメソッドを提供するクラスです。

 前回同様、今回の作業を行った状態のプロジェクトがこちらからダウンロードできますので、迷った場合は参考にしてください。

SQLiteの特徴

 SQLiteはデータの保存に単一ファイルのみを使用する軽量のRDBMSです。アプリケーションに含む形で利用される場合が多く、iPhoneでもSQLiteが利用されています。データ型もシンプルで下記の5種類のみに対応しています。

  • INTEGER・・・符号付整数
  • REAL・・・浮動小数点
  • TEXT・・・テキスト
  • BLOB・・・バイナリデータ
  • NULL・・・NULL

事前準備

 データベースの作成に入る前に、ソースのさまざまな所にSQLやカラム名が埋まってしまうのを防ぐため、1レコード分のデータを保持するクラスを準備しましょう。なお、データベース関連のソースは「sample.bizcard.db」パッケージに作成しています。

BizCard.java
package sample.bizcard.db;

import java.io.Serializable;

/**
 * 1レコードのデータを保持するオブジェクト
 * Intentに詰めてやり取りするのでSerializableをimplementsする
 */
@SuppressWarnings("serial")
public class BizCard implements Serializable{
    // テーブル名
    public static final String TABLE_NAME = "biz_card";
    
    // カラム名
    public static final String COLUMN_ID = "_id";
    public static final String COLUMN_PERSON_NAME = "person_name";
    public static final String COLUMN_COMPANY_NAME = "company_name";
    public static final String COLUMN_ORGANIZATION_NAME = "organization_name";
    public static final String COLUMN_POSITION_NAME = "position_name";
    public static final String COLUMN_ZIP_CODE = "zip_code";
    public static final String COLUMN_ADDRESS = "address";
    public static final String COLUMN_TEL1 = "tel1";
    public static final String COLUMN_TEL2 = "tel2";
    public static final String COLUMN_MAIL = "mail";
    
    // プロパティ
    private Long rowid = null;
    private String personName = null;
    private String organizationName = null;
    private String companyName = null;
    private String positionName = null;
    private String zipCode = null;
    private String address = null;
    private String tel1 = null;
    private String tel2 = null;
    private String mail = null;

    :
    :中略(getter/setter)
    :

    /**
     * ListView表示の際に利用するのでユーザ名+会社名を返す
     */
    @Override
    public String toString() {
        StringBuilder builder = new StringBuilder();
        builder.append( getPersonName());
        if( getCompanyName() != null){
            builder.append(":");
            builder.append(getCompanyName());
        }
        return builder.toString();
    }
}

1 2 3
→
INDEX
Androidアプリでのデータベース基礎 ~速習! Androidアプリケーション開発(4)~
Page1
Androidアプリケーションでのデータベース基礎
Androidで利用するSQLiteのクラス
事前準備
データベースの作成
データベースアクセスクラスの作成
データバインド
まとめ
プロフィール
横井 朗 ヨコイ アキラ

株式会社ビーブレイクシステムズにて業務システムのパッケージソフト(MA-EYES)の製品開発から導入までを手掛けるとともに、オープンソースソフトウェア(ExCella)の開発リーダも務める。

オープンソース関連について多くの執筆経験を持つ。

 

 


注目の求人情報
プロジェクトマネージャー/PMO専門企業
アウトソーシングという第三者の立場から、PMの意志決定やプロジェクトが抱える課題解決支援を行う。 ・...
プログラマ/システムソリューション
UNIX・Windows環境における詳細設計・プログラミング、テストおよび各種ドキュメント作成業務などを担当...
サーバ技術者・NE/ITコンサルティング企業
外資大手ベンダー、大手SIerとのプロジェクトに参加していただきます。主にUNIX系サーバを使用した業務...

(最新日付順)
名前(ゲストの方もコメントをどうぞ):*
アイコン:
なし

内容(テキストのみ1200文字まで):*

投稿規定に同意して

スポンサーサイト

この記事のトラックバックURL: