其实vcard格式并不复杂
下面是用output stream 输出一个简单的vcf
其实就是遵循某种约定的格式来输出成.vcf文件
格式大致如此:
BEGIN:VCARD
VERSION:x.x
[联系人信息] //如FN(全名)、TEL等等
END:VCARD
//query all contacts
ResultSet results = DatabaseHelper.queryAll(state);
try {
byte[] begin = "BEGIN:VCARD".getBytes();
byte[] end = "END:VCARD".getBytes();
byte[] version = "VERSION:3.0".getBytes();
byte[] enter = "\r\n".getBytes();
// for each contact, write it into output stream as vCard format
while (results.next()) {
//write head
os.write(begin);
os.write(enter);
os.write(version);
os.write(enter);
//write full name,use "FN:"
os.write(("FN:" + results.getString("name")).getBytes());
os.write(enter);
//write cell phone number
if (results.getString("number") != null) {
os.write(("TEL;CELL:" + results.getString("number")).getBytes());
os.write(enter);
}
os.write(end);
os.write(enter);
}
os.flush();
os.close();
} catch (SQLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}