■ 参考ページ
vCardはIrMC内で定められている個人情報のデータ-フォーマット
・vCardの仕様書
・vCard Overview
■ vCard のバージョン
・vCard 2.1
・"7BIT"禁止
・"BASE64"禁止
(・vCard 2.1 for Europe
・名前の順番が "Prefix Middle Given Family Suffix")
・vCard 3.0 (RFC 2426)
・"QUOTED-PRINTABLE"禁止
・"CHARSET"禁止
・vCard 4.0
* Card 2.1 までの属性
・BEGIN : VCARD
exp) BEGIN:VCARD
・VERSION : [2.1 | 3.0 | 4.0]
exp) VERSION:3.0
・N : string // Name
exp) N:Yuki
・FN : string // Full Name
exp) FN:Yuki Anzai
・ADR : string // Address
exp) ADR;TYPE=HOME:;;1-2;目黒区;東京都;000-0000;日本
・EMAIL : string // Mail Address
exp) EMAIL;TYPE=PREF;INTERNET:android@gmail.com
・NOTE : string // Memo
exp) Note:Android好き
・ORG : string // 所属組織
exp) ORG:Android女子部
"SOUND"
・TEL : number // phone number
exp) TEL;TYPE=PREF;HOME:0001112222
exp) TEL;WORK:0001112222
exp) TEL;FAX:0001112222
exp) TEL;CELL:0001112222
・TITLE : string // 肩書き
exp) TITLE:総長
"ROLE"
"PHOTO"
"LOGO"
・ URL : url
exp) URL:http://android.com
・END : VCARD
exp) END:VCARD
* Card 3.0 で追加された属性
・NAME : string // N とどう違うのかよくわからない // (3.0, 4,0)
・NICKNAME : string // (3.0, 4.0)
・PROFILE
・SOURCE
・CLASS : string
exp) CLASS:PRIVATE
・BDAY : date? // Birthday (3.0, 4.0)
・SORT-STRING : string // (3.0, 4.0)
exp) SORT-STRING:アンザイユキ
・CATEGORIES : string // カテゴリ名
exp) CATEGORIES:無所属
・PRODID
* Docomo 独自の属性? (3.0)
"ENCODING"
"CHARSET"
"HOME"
"WORK"
"FAX"
"CELL"
"VOICE"
"INTERNET"
* Card 4.0 で追加された属性
"BIRTH" // Place of birth (4.0)
"ANNIVERSARY" // Date of marriage (4.0)
■ Android での実装
まずは vcard で検索
VCardParser.java とか VCardInterpreter.java とかいますねー
このへんみるといろいろありすぎw
http://tools.oesf.biz/android-2.3_r1.0/xref/frameworks/base/core/java/android/pim/vcard/VCardConstants.java
190 /*
191 * vCard 3.0 defines
192 *
193 * param = param-name "=" param-value *("," param-value)
194 * param-name = iana-token / x-name
195 * param-value = ptext / quoted-string
196 * quoted-string = DQUOTE QSAFE-CHAR DQUOTE
197 * QSAFE-CHAR = WSP / %x21 / %x23-7E / NON-ASCII
198 * ; Any character except CTLs, DQUOTE
199 *
200 * QSAFE-CHAR must not contain DQUOTE, including escaped one (\").
201 */
212 /*
213 * param-value = ptext / quoted-string
214 * quoted-string = DQUOTE QSAFE-CHAR DQUOTE
215 * QSAFE-CHAR = WSP / %x21 / %x23-7E / NON-ASCII
216 * ; Any character except CTLs, DQUOTE
217 *
218 * QSAFE-CHAR must not contain DQUOTE, including escaped one (\")
219 */
V3.0 用のコード
http://tools.oesf.biz/android-2.3_r1.0/xref/frameworks/base/core/java/android/pim/vcard/VCardParser_V30.java
http://tools.oesf.biz/android-2.3_r1.0/xref/frameworks/base/core/java/android/pim/vcard/VCardParserImpl_V30.java
では、
「vCard 3.0 では "CHARSET" 属性は許可されていないが、実際に使われているファイルでは "UTF-8" が使われていないものもあり、"CHARSET" も許すようにしてます。"7BIT" と "BASE64"は vCard 2.1 では許可されていないけどパースします。」ってコメントがあるね。
NDEF の vCard 関連だと Tag アプリの中に実装がありますね。
http://tools.oesf.biz/android-2.3_r1.0/xref/packages/apps/Tag/src/com/android/apps/tag/record/VCardRecord.java
0 件のコメント:
コメントを投稿