これまで使っていたフィーチャーフォン1の電話帳を、Xperiaに移行する方法を、自作プログラムと共に紹介します。
一番良く知られている方法は、フィーチャーフォンから電話帳データをSDカードにエクスポート2し、その出力されたファイルをXperiaの電話帳でインポート3するやり方です。
SDカードにエクスポートする方法は機種によって異なりますが、SHの携帯の場合は、
LifeKit → microSD → 個別バックアップ/復元 → microSDへバックアップ → 電話帳
という手順で行います。4
こうすると、これもSHの場合ですが、SDカードの "SD_PIM" というフォルダに "PIM00001.VCF" というようなファイル名で、vCard形式で保存されます。
Xperiaへのインポートは、まずエクスポートしたファイルを保存してあるSDカードをXperiaへ挿入し、
電話 → 連絡先 → [メニューボタン] → その他 → 連絡先をインポート → SDカード → 先ほどエクスポートしたファイルを選択
という流れで行います。
しかしこの方法では、今までの携帯でなされていたグループ分けが消えてしまいます。
なのでこの方法は使わずに、Xperiaの連絡先はGmailの連絡先と同期されるという特性を利用して、Gmailからインポートする方法を使います。
Xperia(Android)やGmailでは、グループではなく、タグを使って連絡先を分類します。
グループではひとつの連絡先がひとつのグループにしか属せないのに対して、タグでは複数のタグに属することができます。
Gmailで電話帳をインポートすると、その時インポートした連絡先全てにひとつのタグを付けることができます。
つまり、インポートするファイルをグループごとのファイルに分け、ひとつずつインポートしていけば、グループごとに任意のタグを付けることができるというわけです。
vCard形式のファイルは、メモ帳などのテキストエディタで開くことができ、とてもシンプルな書式で記述されているので、連絡先の件数が少ない場合は手でコピペして分けることもできますが、これが100件とか200件となってくると、手でやるのは大変です。
そこで、自動的に振り分けるプログラムをC#で書きました。
Visual C# 2005で書いたので、実行には .NET Framework 2.0 が必要です。これは、WindowsUpdateからもインストールできるので、そちらから入れた方が簡単です。
さて、以下がそのプログラムです。SourceForge.JPに登録してあります。5
このプログラムを実行すると、hoge.VCFというファイルを、vcard_01.vcf、vcard_02.vcf、といった感じにグループごとに連絡先を分割して保存できます。
ファイル名が連番なので、どのvCardファイルがどのグループのファイルかは分かりにくいのですが、前述の通り、vCard形式のファイルはメモ帳などで開けますので、開いて確認してみて下さい。6
分割できたら、Gmailを開き、左のサイドバーから「連絡先」を選び、「その他の操作」から「インポート」を選びます。
「アップロードする CSV ファイルか vCard ファイルを選択してください:」のところで、先ほど分割したファイルの内ひとつを選び、「インポートした連絡先を次にも追加:」でグループ名を指定して、インポートします。
これを分割したファイルの個数分行って下さい。
全てのインポートが終わったら、Xperia側でちゃんと連絡先が同期されているか確認してみて下さい。
ただ、Xperia標準の電話帳(連絡先)では、グループ分けが表示されません。
なので、使いやすくて定評があるe電話帳なんかをマーケットから入手して利用することをお勧めします。
ひとつ注意点としては、GmailやXperiaが、連絡先に勝手にタグを付けることがあります。
例えば "System Group: My Contacts" や "Starred in Android"7 などです。
これらはシステムで使っているタグなので、消さずにそのままにしておきましょう。
Classify vCards by Group 使用させていただきました。
自分で作るのも面倒だったので非常に助かりました。
一点だけ不具合なのか分かりませんが複数のグループが1つにまとめられていましたので報告だけ。
ぱっと見た感じ、未分類のグループと半角英数のみのグループが一緒になってしまっているように感じました。
ご指摘ありがとうございます。
グループ名を読み込む為の正規表現が "X-GN;CHARSET=SHIFT_JIS:(.+?)\r?\n" となっており、グループ名がSHIFT-JIS指定が無い半角英数ときに読み込めていませんでした。
"X-GN(?:;CHARSET=SHIFT_JIS)?:(.+?)\r?\n" というように修正してコミットしましたので、もしまた使う機会がありましたらダウンロードし直して下さい。