前回の続き。
今回はデータベースを使用してみます。
SQLiteが使用できるようです。
まずはBizCardひとりぶんのデータを保持するクラスを作ります。
単にプロパティ名とそれに対応するDBカラム名、セッターゲッターを書いただけです。
setter/getterを一個一個作るのは馬鹿みたいなので、「ソース」→「toString()の生成」から自動で作ってもらいます。
/src/com.example.bizcard/db/BizCard.java
SerializableはserialVersionUIDを定義しないと怒られます。
これは、BizCardのデータをエクスポートするときにバージョン情報も付記しておき、その後インポートしたときにデータ構造がバージョンアップされていたら警告する、みたいな機能です。
エクスポートインポート機能を備えたアプリなら重要かもしれません。
元のエントリでは@SuppressWarnings("serial")でエラーの発生を抑えていますが、こっちではとりあえず1で。
まあ今後バージョンアップする予定もありませんが。
PR
今回はデータベースを使用してみます。
SQLiteが使用できるようです。
まずはBizCardひとりぶんのデータを保持するクラスを作ります。
単にプロパティ名とそれに対応するDBカラム名、セッターゲッターを書いただけです。
setter/getterを一個一個作るのは馬鹿みたいなので、「ソース」→「toString()の生成」から自動で作ってもらいます。
/src/com.example.bizcard/db/BizCard.java
001 | public 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 | } |
SerializableはserialVersionUIDを定義しないと怒られます。
これは、BizCardのデータをエクスポートするときにバージョン情報も付記しておき、その後インポートしたときにデータ構造がバージョンアップされていたら警告する、みたいな機能です。
エクスポートインポート機能を備えたアプリなら重要かもしれません。
元のエントリでは@SuppressWarnings("serial")でエラーの発生を抑えていますが、こっちではとりあえず1で。
まあ今後バージョンアップする予定もありませんが。
トラックバック
トラックバックURL: