Xamarin.Forms读取并展示Android和iOS通讯录 - TerminalMACS客户端

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

Xamarin.Forms读取并展示Android和iOS通讯录 - TerminalMACS客户端

Dotnet9个人博客   2020-03-31 我要评论
# Xamarin.Forms读取并展示Android和iOS通讯录 - TerminalMACS客户端 本文同步更新地址: - https:/https://img.qb5200.com/download-x/dotnet9.com/11520.html - https://terminalmacs.com/861.html 阅读导航: - 一、功能说明 - 二、代码实现 - 三、源码获取 - 四、参考资料 - 五、后面计划 ## 一、功能说明 完整思维导图:https://github.comhttps://img.qb5200.com/download-x/dotnet9/TerminalMACS/blob/masterhttps://img.qb5200.com/download-x/docs/TerminalMACS.xmind ![Xamarin.Forms客户端通讯录功能](https://img.dotnet9.com/Contactxmind_ClientXamarinForms.png) 本文介绍图中右侧画红圈处的功能,即使用Xamarin.Forms获取和展示Android和iOS的通讯录信息,下面是最终效果,由于使用的是真实手机,所以联系人姓名及电话号码打码显示。 ![通讯录列表](https://img.dotnet9.com/ContactList_ClientXamarinForms.png) 并简单的进行了搜索功能处理,之所以说简单,是因为通讯录列表是全部读取出来了,搜索是直接从此列表进行过滤的。 下图来自:https://www.xamboy.com/2019/10/10/getting-phone-contacts-in-xamarin-forms/, 本功能是参考此文所写,所以直接引用文中的图片。 ![通讯录搜索列表](https://img.dotnet9.com/ezgif.com-video-to-gif-34.gif) ## 二、代码实现 ### 1、共享库工程创建联系人实体类:Contacts.cs ```C# namespace TerminalMACS.Clients.App.Models { /// /// 通讯录 /// public class Contact { /// /// 获取或者设置名称 /// public string Name { get; set; } /// /// 获取或者设置 头像 /// public string Image { get; set; } /// /// 获取或者设置 邮箱地址 /// public string[] Emails { get; set; } /// /// 获取或者设置 手机号码 /// public string[] PhoneNumbers { get; set; } } } ``` ### 2、共享库创建通讯录服务接口:IContactsService.cs 包括: - 一个通讯录获取请求接口:RetrieveContactsAsync - 一个读取一条通讯结果通知事件:OnContactLoaded ```C# using System; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using TerminalMACS.Clients.App.Models; namespace TerminalMACS.Clients.App.Services { /// /// 通讯录事件参数 /// public class ContactEventArgs:EventArgs { public Contact Contact { get; } public ContactEventArgs(Contact contact) { Contact = contact; } } /// /// 通讯录服务接口,android和iOS终端具体的通讯录获取服务需要继承此接口 /// public interface IContactsService { /// /// 读取一条数据通知 /// event EventHandler

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们