忍者ブログ
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。


share

2025/03/29 16:03 |
Android2.2 名刺管理アプリケーションを作ってみる4日目
前回の続き。
今回はデータベースを使用してみます。
SQLiteが使用できるようです。

まずはBizCardひとりぶんのデータを保持するクラスを作ります。
単にプロパティ名とそれに対応するDBカラム名、セッターゲッターを書いただけです。
setter/getterを一個一個作るのは馬鹿みたいなので、「ソース」→「toString()の生成」から自動で作ってもらいます。

/src/com.example.bizcard/db/BizCard.java
001public class BizCard implements Serializable{
002     
003    //バージョン
004    private static final long serialVersionUID = 1;
005     
006    // テーブル名
007    public static final String TABLE_NAME = "biz_card";
008 
009    // カラム名
010    public static final String COLUMN_ID = "_id";
011    public static final String COLUMN_PERSON_NAME = "person_name";
012    public static final String COLUMN_COMPANY_NAME = "company_name";
013    public static final String COLUMN_ORGANIZATION_NAME = "organization_name";
014    public static final String COLUMN_POSITION_NAME = "position_name";
015    public static final String COLUMN_ZIP_CODE = "zip_code";
016    public static final String COLUMN_ADDRESS = "address";
017    public static final String COLUMN_TEL1 = "tel1";
018    public static final String COLUMN_TEL2 = "tel2";
019    public static final String COLUMN_MAIL = "mail";
020 
021    // プロパティ
022    private Long rowid = null;
023    private String personName = null;
024    private String organizationName = null;
025    private String companyName = null;
026    private String positionName = null;
027    private String zipCode = null;
028    private String address = null;
029    private String tel1 = null;
030    private String tel2 = null;
031    private String mail = null;
032 
033    //setter/getter
034    public Long getRowid() {
035        return rowid;
036    }
037    public void setRowid(Long rowid) {
038        this.rowid = rowid;
039    }
040    public String getPersonName() {
041        return personName;
042    }
043    public void setPersonName(String personName) {
044        this.personName = personName;
045    }
046    public String getOrganizationName() {
047        return organizationName;
048    }
049    public void setOrganizationName(String organizationName) {
050        this.organizationName = organizationName;
051    }
052    public String getCompanyName() {
053        return companyName;
054    }
055    public void setCompanyName(String companyName) {
056        this.companyName = companyName;
057    }
058    public String getPositionName() {
059        return positionName;
060    }
061    public void setPositionName(String positionName) {
062        this.positionName = positionName;
063    }
064    public String getZipCode() {
065        return zipCode;
066    }
067    public void setZipCode(String zipCode) {
068        this.zipCode = zipCode;
069    }
070    public String getAddress() {
071        return address;
072    }
073    public void setAddress(String address) {
074        this.address = address;
075    }
076    public String getTel1() {
077        return tel1;
078    }
079    public void setTel1(String tel1) {
080        this.tel1 = tel1;
081    }
082    public String getTel2() {
083        return tel2;
084    }
085    public void setTel2(String tel2) {
086        this.tel2 = tel2;
087    }
088    public String getMail() {
089        return mail;
090    }
091    public void setMail(String mail) {
092        this.mail = mail;
093    }
094 
095    /*
096     * toStringをオーバーライド
097     * 何故氏名+会社名だけかは謎
098     */
099    @Override
100    public String toString() {
101        StringBuilder builder = new StringBuilder();
102        builder.append( getPersonName());
103        if( getCompanyName() != null){
104            builder.append(":");
105            builder.append(getCompanyName());
106        }
107        return builder.toString();
108    }
109}

SerializableserialVersionUIDを定義しないと怒られます。
これは、BizCardのデータをエクスポートするときにバージョン情報も付記しておき、その後インポートしたときにデータ構造がバージョンアップされていたら警告する、みたいな機能です。
エクスポートインポート機能を備えたアプリなら重要かもしれません。
元のエントリでは@SuppressWarnings("serial")でエラーの発生を抑えていますが、こっちではとりあえず1で。
まあ今後バージョンアップする予定もありませんが。
PR

share

2010/07/26 22:25 | Comments(0) | TrackBack() | Android

トラックバック

トラックバックURL:

コメント

コメントを投稿する






Vodafone絵文字 i-mode絵文字 Ezweb絵文字 (絵文字)



<<STG板「CAVE関連」スレのアンチケイブ気違いまとめ7月版 | HOME | 買ったものリスト 2010/07/25>>
忍者ブログ[PR]