- 浏览: 193019 次
- 性别:
- 来自: 无锡
文章分类
最新评论
-
luoqianjiang:
很好,谢谢
一些iOS高效开源类库 -
sgjsdf5944:
没看明白。。。。。。。。。。
UIWebView打开doc、pdf文件 -
593864589:
mac 上不支持呢?
cocos2d 粒子设计器 -
寻墨小楼:
多谢了...正在弄这个。
mysql for mac 安装和基本操作 -
yueliancao:
楼主如何联系啊 我的MAC系统 #LoadModule php ...
mac OS x中配置apache + php + mysql
ABAddressBookRef addressBook = ABAddressBookCreate();
CFArrayRef results = ABAddressBookCopyArrayOfAllPeople(addressBook);
for(int i = 0; i < CFArrayGetCount(results); i++)
{
ABRecordRef person = CFArrayGetValueAtIndex(results, i);
//读取firstname
NSString *personName = (NSString*)ABRecordCopyValue(person, kABPersonFirstNameProperty);
if(personName != nil)
textView.text = [textView.text stringByAppendingFormat:@"\n姓名:%@\n",personName];
//读取lastname
NSString *lastname = (NSString*)ABRecordCopyValue(person, kABPersonLastNameProperty);
if(lastname != nil)
textView.text = [textView.text stringByAppendingFormat:@"%@\n",lastname];
//读取middlename
NSString *middlename = (NSString*)ABRecordCopyValue(person, kABPersonMiddleNameProperty);
if(middlename != nil)
textView.text = [textView.text stringByAppendingFormat:@"%@\n",middlename];
//读取prefix前缀
NSString *prefix = (NSString*)ABRecordCopyValue(person, kABPersonPrefixProperty);
if(prefix != nil)
textView.text = [textView.text stringByAppendingFormat:@"%@\n",prefix];
//读取suffix后缀
NSString *suffix = (NSString*)ABRecordCopyValue(person, kABPersonSuffixProperty);
if(suffix != nil)
textView.text = [textView.text stringByAppendingFormat:@"%@\n",suffix];
//读取nickname呢称
NSString *nickname = (NSString*)ABRecordCopyValue(person, kABPersonNicknameProperty);
if(nickname != nil)
textView.text = [textView.text stringByAppendingFormat:@"%@\n",nickname];
//读取firstname拼音音标
NSString *firstnamePhonetic = (NSString*)ABRecordCopyValue(person, kABPersonFirstNamePhoneticProperty);
if(firstnamePhonetic != nil)
textView.text = [textView.text stringByAppendingFormat:@"%@\n",firstnamePhonetic];
//读取lastname拼音音标
NSString *lastnamePhonetic = (NSString*)ABRecordCopyValue(person, kABPersonLastNamePhoneticProperty);
if(lastnamePhonetic != nil)
textView.text = [textView.text stringByAppendingFormat:@"%@\n",lastnamePhonetic];
//读取middlename拼音音标
NSString *middlenamePhonetic = (NSString*)ABRecordCopyValue(person, kABPersonMiddleNamePhoneticProperty);
if(middlenamePhonetic != nil)
textView.text = [textView.text stringByAppendingFormat:@"%@\n",middlenamePhonetic];
//读取organization公司
NSString *organization = (NSString*)ABRecordCopyValue(person, kABPersonOrganizationProperty);
if(organization != nil)
textView.text = [textView.text stringByAppendingFormat:@"%@\n",organization];
//读取jobtitle工作
NSString *jobtitle = (NSString*)ABRecordCopyValue(person, kABPersonJobTitleProperty);
if(jobtitle != nil)
textView.text = [textView.text stringByAppendingFormat:@"%@\n",jobtitle];
//读取department部门
NSString *department = (NSString*)ABRecordCopyValue(person, kABPersonDepartmentProperty);
if(department != nil)
textView.text = [textView.text stringByAppendingFormat:@"%@\n",department];
//读取birthday生日
NSDate *birthday = (NSDate*)ABRecordCopyValue(person, kABPersonBirthdayProperty);
if(birthday != nil)
textView.text = [textView.text stringByAppendingFormat:@"%@\n",birthday];
//读取note备忘录
NSString *note = (NSString*)ABRecordCopyValue(person, kABPersonNoteProperty);
if(note != nil)
textView.text = [textView.text stringByAppendingFormat:@"%@\n",note];
//第一次添加该条记录的时间
NSString *firstknow = (NSString*)ABRecordCopyValue(person, kABPersonCreationDateProperty);
NSLog(@"第一次添加该条记录的时间%@\n",firstknow);
//最后一次修改該条记录的时间
NSString *lastknow = (NSString*)ABRecordCopyValue(person, kABPersonModificationDateProperty);
NSLog(@"最后一次修改該条记录的时间%@\n",lastknow);
//获取email多值
ABMultiValueRef email = ABRecordCopyValue(person, kABPersonEmailProperty);
int emailcount = ABMultiValueGetCount(email);
for (int x = 0; x < emailcount; x++)
{
//获取email Label
NSString* emailLabel = (NSString*)ABAddressBookCopyLocalizedLabel(ABMultiValueCopyLabelAtIndex(email, x));
//获取email值
NSString* emailContent = (NSString*)ABMultiValueCopyValueAtIndex(email, x);
textView.text = [textView.text stringByAppendingFormat:@"%@:%@\n",emailLabel,emailContent];
}
//读取地址多值
ABMultiValueRef address = ABRecordCopyValue(person, kABPersonAddressProperty);
int count = ABMultiValueGetCount(address);
for(int j = 0; j < count; j++)
{
//获取地址Label
NSString* addressLabel = (NSString*)ABMultiValueCopyLabelAtIndex(address, j);
textView.text = [textView.text stringByAppendingFormat:@"%@\n",addressLabel];
//获取該label下的地址6属性
NSDictionary* personaddress =(NSDictionary*) ABMultiValueCopyValueAtIndex(address, j);
NSString* country = [personaddress valueForKey:(NSString *)kABPersonAddressCountryKey];
if(country != nil)
textView.text = [textView.text stringByAppendingFormat:@"国家:%@\n",country];
NSString* city = [personaddress valueForKey:(NSString *)kABPersonAddressCityKey];
if(city != nil)
textView.text = [textView.text stringByAppendingFormat:@"城市:%@\n",city];
NSString* state = [personaddress valueForKey:(NSString *)kABPersonAddressStateKey];
if(state != nil)
textView.text = [textView.text stringByAppendingFormat:@"省:%@\n",state];
NSString* street = [personaddress valueForKey:(NSString *)kABPersonAddressStreetKey];
if(street != nil)
textView.text = [textView.text stringByAppendingFormat:@"街道:%@\n",street];
NSString* zip = [personaddress valueForKey:(NSString *)kABPersonAddressZIPKey];
if(zip != nil)
textView.text = [textView.text stringByAppendingFormat:@"邮编:%@\n",zip];
NSString* coutntrycode = [personaddress valueForKey:(NSString *)kABPersonAddressCountryCodeKey];
if(coutntrycode != nil)
textView.text = [textView.text stringByAppendingFormat:@"国家编号:%@\n",coutntrycode];
}
//获取dates多值
ABMultiValueRef dates = ABRecordCopyValue(person, kABPersonDateProperty);
int datescount = ABMultiValueGetCount(dates);
for (int y = 0; y < datescount; y++)
{
//获取dates Label
NSString* datesLabel = (NSString*)ABAddressBookCopyLocalizedLabel(ABMultiValueCopyLabelAtIndex(dates, y));
//获取dates值
NSString* datesContent = (NSString*)ABMultiValueCopyValueAtIndex(dates, y);
textView.text = [textView.text stringByAppendingFormat:@"%@:%@\n",datesLabel,datesContent];
}
//获取kind值
CFNumberRef recordType = ABRecordCopyValue(person, kABPersonKindProperty);
if (recordType == kABPersonKindOrganization) {
// it's a company
NSLog(@"it's a company\n");
} else {
// it's a person, resource, or room
NSLog(@"it's a person, resource, or room\n");
}
//获取IM多值
ABMultiValueRef instantMessage = ABRecordCopyValue(person, kABPersonInstantMessageProperty);
for (int l = 1; l < ABMultiValueGetCount(instantMessage); l++)
{
//获取IM Label
NSString* instantMessageLabel = (NSString*)ABMultiValueCopyLabelAtIndex(instantMessage, l);
textView.text = [textView.text stringByAppendingFormat:@"%@\n",instantMessageLabel];
//获取該label下的2属性
NSDictionary* instantMessageContent =(NSDictionary*) ABMultiValueCopyValueAtIndex(instantMessage, l);
NSString* username = [instantMessageContent valueForKey:(NSString *)kABPersonInstantMessageUsernameKey];
if(username != nil)
textView.text = [textView.text stringByAppendingFormat:@"username:%@\n",username];
NSString* service
= [instantMessageContent valueForKey:(NSString *)kABPersonInstantMessageServiceKey];
if(service != nil)
textView.text = [textView.text stringByAppendingFormat:@"service:%@\n",service];
}
//读取电话多值
ABMultiValueRef phone
= ABRecordCopyValue(person, kABPersonPhoneProperty);
for (int k = 0; k<ABMultiValueGetCount(phone); k++)
{
//获取电话Label
NSString * personPhoneLabel = (NSString*)ABAddressBookCopyLocalizedLabel(ABMultiValueCopyLabelAtIndex(phone, k));
//获取該Label下的电话值
NSString * personPhone = (NSString*)ABMultiValueCopyValueAtIndex(phone, k);
textView.text = [textView.text stringByAppendingFormat:@"%@:%@\n",personPhoneLabel,personPhone];
}
//获取URL多值
ABMultiValueRef url = ABRecordCopyValue(person, kABPersonURLProperty);
for (int m = 0; m < ABMultiValueGetCount(url); m++)
{
//获取电话Label
NSString * urlLabel = (NSString*)ABAddressBookCopyLocalizedLabel(ABMultiValueCopyLabelAtIndex(url, m));
//获取該Label下的电话值
NSString * urlContent = (NSString*)ABMultiValueCopyValueAtIndex(url,m);
textView.text = [textView.text stringByAppendingFormat:@"%@:%@\n",urlLabel,urlContent];
}
//读取照片
NSData *image = (NSData*)ABPersonCopyImageData(person);
UIImageView *myImage = [[UIImageView alloc] initWithFrame:CGRectMake(200, 0, 50, 50)];
[myImage setImage:[UIImage imageWithData:image]];
myImage.opaque = YES;
[textView addSubview:myImage];
}
CFRelease(results);
CFRelease(addressBook);
发表评论
-
IOS7 小技巧
2013-11-17 21:04 9301.设置navigationBar的字体颜色 se ... -
开发小技巧
2013-06-05 14:10 10211.设置View阴影 button.layer.shad ... -
iPhone 路径大全
2012-01-30 13:44 14681、【/Applications】常用软件的安装目录 2. 【 ... -
CABasicAnimation
2012-01-20 19:36 1009//移动 CABasicAnimati ... -
IOS 5手势识别教程:二指拨动、拖移以及更多手势
2012-01-29 16:04 1679免责申明(必读!):教程的翻译原稿均来自于互联网,仅供学习交流 ... -
iPhone图形开发绘图小结
2011-12-29 09:34 9561、绘图总结: 绘图前设置: CGContextS ... -
math.h里的数学计算公式介绍
2011-12-14 10:27 14411、 三角函数 double sin (do ... -
UItableView 详细讲解
2011-11-06 18:40 1023-、建立 UITableView DataTable = [[ ... -
UIView to UIImage resize 图片
2011-10-24 15:10 96601 有时候你想把某个view上的内容截取下来,变 ... -
自定义NavgationController动画
2011-10-14 11:08 1479只要把这两个方法作为UINavigationControlle ... -
在程序运行中调整UITableViewCell高度
2011-09-19 23:22 1574最近要实现下面的效果,就是在UITableView中有很多 ... -
在iphone工程属性设置时,使用相对路径
2011-09-19 23:21 898"$(SRCROOT)" 这个代表工 ... -
ios设置时区转换
2011-09-19 23:20 1758有的时候为了在系统中统一时间,需要在服务器和客户端统一交换 ... -
ios通过google map显示地图和乘车信息
2011-09-19 23:19 755添加一个UIWebView控件,UIWebView *my ... -
ios实现汉字拼音首字母类库
2011-09-19 23:18 1180phone的通讯录是按照字母进行排序的,那么中文需要知道第一个 ... -
捕获 iPhone 电话呼叫事件的方法
2011-09-19 23:15 1061这是 iOS 4.0 以后才公开的接口,用于捕获 iPho ... -
在 iPhone 静音情况下,播放 MP3 文件的代码
2011-09-19 23:14 1430在 iPhone 静音情况下,播放 MP3 文件的代码 ... -
向iPhone模拟器中添加视频
2011-09-19 23:14 1275NSString *path=[[NSBundle mai ... -
适合显示时间的字体
2011-09-19 23:11 1028UILabel *label = [[UILabe ... -
UIWebView显示gif图片
2011-09-19 23:10 1364在适当的地方加入下面的代码: NSString* ...
相关推荐
在Android平台上,批量导入联系人至手机通讯录是一项常见的需求,尤其对于企业用户或需要整理大量联系信息的个人而言。本教程将详细讲解如何通过线程池模式实现这一功能,确保即使处理5000个联系人也不会出现内存...
6. **处理联系人属性**:CNContact类提供了丰富的属性,如name(姓名)、phoneNumbers(电话号码)、emailAddresses(电子邮件地址)等,可以根据需求读取或设置。 7. **联系人分组**:Contacts框架还支持对联系人...
查看通讯录信息,即展示所有联系人,可以通过执行SQL的SELECT语句来实现,将查询结果转换成用户友好的格式进行显示。查询功能则允许用户根据姓名或其他条件搜索特定联系人,这可能需要使用到SQL的WHERE子句。而增加...
4. **数据存储**:通讯录需要存储联系人信息,可以选择结构体或类来表示一个联系人,然后使用STL容器(如vector或list)或者数据库来保存所有联系人。MFC提供了对数据库的支持,可以使用CDatabase和CRecordset类与...
在iOS开发中,通讯录是应用中不可或缺的一部分,它允许用户管理他们的联系人信息,包括姓名、电话号码、电子邮件地址等。本示例项目“iOS通讯录Demo”提供了一个完善的解决方案,展示了如何在iOS应用中实现通讯录...
在这个通讯录应用中,WinForm控件被用来创建添加联系人、查看联系人、编辑联系人和删除联系人的界面。 文件读写是该项目的核心功能之一。在C#中,我们可以使用`System.IO`命名空间中的类来实现这一操作。例如,`...
4. **联系人属性**: `CNContact`类代表了一个联系人,包含了丰富的属性,如名字、姓氏、电话号码、电子邮件地址等。你可以根据需求获取这些属性值。 5. **排序联系人**: 获取到联系人列表后,可以按照不同的...
这涉及到对用户联系人数据的管理和展示,包括增加新联系人、删除现有联系人、修改联系人信息以及为联系人添加头像等操作。在iOS中,苹果提供了一个强大的框架——Contacts Framework,用于处理与系统通讯录相关的...
通讯录管理系统是一种常见的软件应用,它能够帮助用户存储、管理和查找联系人的信息。在这个项目中,我们利用C++编程语言来设计和实现这样一个系统,这对于C++初学者来说是一个很好的实践机会。通过这个项目,我们...
在iOS平台上,获取通讯录是开发过程中常见的需求,主要用于实现如联系人同步、备份或特定功能的个性化。本文将详细讲解如何使用Objective-C或Swift语言来获取iOS设备上的通讯录,并将单个联系人信息存储到数组中。 ...
通过定义Contact类来表示联系人信息,包含各种属性如name、phone、email等,并提供相应的get和set方法来访问和修改这些属性。同时,可以利用继承来扩展特定类型的联系人,例如公司联系人可能包括部门和职务等额外...
3. 访问通讯录:如果用户授权,我们可以通过`CNContactStore`的`unifiedContacts`方法获取所有联系人。这是一个异步操作,通常在`requestAccess`的回调中执行。 ```swift let keysToFetch = ...
通讯录应用的核心功能包括添加联系人、修改联系人信息,这些功能在我们的"telbook"程序中得到了实现。下面我们将详细探讨这两个关键知识点。 1. **MFC框架的理解与应用**: MFC是基于Windows的消息驱动模型,通过...
`keysToFetch`参数用于指定希望获取的联系人属性,如姓名、电话号码、电子邮件等。 4. **写入联系人**:添加新联系人或更新现有联系人,可以创建`CNMutableContact`对象,设置其属性,然后调用`CNContactStore.save...
这个“swift-一行代码获取按A~Z分组精准排序的通讯录联系人Swift版”项目提供了一个简洁高效的方法来实现这一功能。在iOS应用中,通常会使用`Contacts`框架来访问通讯录,并通过`UITableView`或`UICollectionView`...
八、联系人属性键 Contacts框架提供了许多预定义的属性键,如CNLabelPhoneNumberMobile,CNLabelHome等,用于获取或设置联系人的特定属性。开发者也可以自定义属性键来扩展联系人信息。 九、同步和异步操作 ...
在这个通讯录系统中,XML文件被用作存储通讯录数据的载体,每个联系人信息作为一个节点,包含姓名、电话、邮箱等字段。通过DOM(Document Object Model)或SAX(Simple API for XML)解析器,我们可以方便地读取、...
在iOS开发中,获取用户通讯录是常见的需求,例如实现联系人同步或社交应用的功能。本教程将基于提供的"ios-获取通讯录列表.zip"压缩包,深入讲解如何在iOS应用中请求用户权限并获取其通讯录列表。该示例项目...
这里的`CNContactKey`用于指定你想获取哪些联系人属性,比如名字、电话号码等。得到的联系人集合可以进一步处理,例如展示在列表中。 在实际应用中,可能还需要对获取的联系人进行筛选或过滤,例如只显示有电话号码...
每个联系人信息可能被封装在独立的对象中,具有属性(如name、phone、email)和方法(如getter和setter)。 2. **集合框架**:为了存储多个联系人,代码可能会使用Java的集合框架,如ArrayList或HashMap来组织和...