上一篇文章讲了如何获取所有联系人,这篇文章就讲下怎么保存联系人数据到本机通讯录。这里我就假设你已经拿到了要保存的联系人数据。
读取短信和联系人经常会用到,要了解的是这是内容提供者(contentProvider)的知识点,大家都知道数据库是在data-->data 对应的包目录下,其他应用是不可以访问到的,如果有些数据要提供给其他的应用,比如通信录,其他应用想获取它的数据怎么办呢,这时内容提供者就出现了,预先写好了一些操作数据库的方法,因为方法是开发这个应用的开发者提供的,所以保证了数据库的安全操作,又能共享数据。
本文实例讲述了Android编程操作手机通讯录的方法。分享给大家供大家参考,具体如下:
本文主要介绍了如何在Android应用中通过ContentProvider将自定义数据源添加到Android的联系人应用中,包括自定义ContentProvider、自定义SQLiteOpenHelper以及自定义UriMatcher。同时,本文还提供了完整的示例代码以及详细的注释,帮助读者更好地理解整个实现过程。
本文实例为大家分享了Android实现手机联系人读取和插入的具体代码,供大家参考,具体内容如下
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
在Android中,如果要将一个程序的数据共享给另一个程序,在之前的Android版本,我们可以设置Android文件和SharedPreferences操作的两个模式:MODE_WORLD_READABLE 和 MODE_WORLD_WRITEABLE 这两种模式来使得数据可以被其他应用程序读写,但是这两种模式在在Android4(具体4.几也不记得了。。。)的时候就被废除了,那么现在要在不同的Android程序之间共享数据的话就只能通过ContentProvider(内容提供器)来实现了(排除你是黑客的前提下)。 下面来看一下怎么来读取其他Android程序的数据。
通过ContentResolver 获取到手机的联系人跟手机短信信息并显示出来,供大家参考,具体内容如下
调用系统联系人列表 Intent intent = new Intent(Intent.ACTION_PICK, Contacts.CONTENT_URI); startActivityForResult(intent, ACTION_PICK); 获取返回 代码 1 @Override 2 protected void onActivityResult(int requestCode, int resultCode, Intent intent) { 3 if (ACTION
给大家分享一下我的一个Android工具类,能够获取手机里面的各种信息,包含拨打电话。 获取全部联系人姓名及电话,插入联系人姓名及电话,插入联系人姓名及电话。插入通话记录。获取用户全部短信。批量插入短信,读取文件从SDcard,写入文件到SDcard。
Android 的SMS读取短信,可以获取发信人/收信人的手机号码(address),Contacts的联系人,可以过滤手机号码(address),因此SMS可以通过手机号码(address)关联到Contacts联系人
基础环境:win10,Android studio 3,jd-gui,apktool,dex2jar
在我们开发一些如短消息、应用商店等应用时,会考虑在短消息的图标上加上未读短信的数量,在应用商店上加上可以升级的应用数量,这样不占太大空间还能达到提示的目的。
利用AsyncQueryHandler能异步任务获取手机联系人,增加用户体验,使用起来也很方便。不多说,上干货。
本文实例为大家分享了Android读取手机通讯录联系人到项目的具体代码,供大家参考,具体内容如下
本模块共有四篇文章,参考郭神的《第一行代码》,对Content Provider的学习做一个详细的笔记,大家可以一起交流一下:
读取联系人 新建项目ContactsTest 修改activity_main.xml: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xml
完整思维导图:https://github.com/dotnet9/TerminalMACS/blob/master/docs/TerminalMACS.xmind
只要是开发和手机通讯录有关的应用,总要学会获取联系人信息,每次都google很麻烦,怎么办?
零、前言 [1].顾名思义,内容提供者,目的:实现跨进程间数据共享 [2].基于数据库提供数据 [3].如电话簿,短信,歌曲信息都是以数据库存储存储,都可以通过ContentProvider获取 [4].不太熟悉安卓运行时权限的童鞋可以看一下我封装的权限申请类: TI--安卓运行时权限完美封装 [5].如果只是想使用的人,直接把静态方法拷贝即可,想知道原理的,图片和注释认真看一下,也可以自己分析一下联系人的表。 [6].本文只打印一下查询结果:ListView篇将会界面展示数据,Xml篇将会
其实很多时候我们用到ContentProvider并不是自己暴露自己的数据,更多的时候通过 ContentResolver来读取其他应用的信息,最常用的莫过于读取系统APP,信息,联系人, 多媒体信息等!如果你想来调用这些ContentProvider就需要自行查阅相关的API资料了! 另外,不同的版本,可能对应着不同的URL!这里给出如何获取URL与对应的数据库表的字段, 这里以最常用的联系人为例,其他自行google~
本文实例为大家分享了android短信管理器SmsManager的具体代码,供大家参考,具体内容如下
下面直接贴代码 1.先写一个实体类,来放名字和号码 public class PhoneDto { private String name; //联系人姓名 private String telPhone; //电话号码 public String getName() { return name; } public void setNam
原理是通过,contentprovider获取系统短信数据库中的字段信息而达到获取内容目的 效果图如下: 具体代码如下: package com.internal.message; impor
跨程序共享数据之内容提供器,这是个什么功能?看到这个名称的时候最能给我们提供信息的应该是“跨程序”这个词了,是的重点就是这个词,这个内容提供器的作用主要是用于在不同的引用程序之间实现数据共享的功能,它提供了一完整的机制,允许一个程序访问另一个程序中的数据,同时还能保证被访问的数据的安全性,在目前使用内容提供器是Android实现跨程序共享数据的标准方式。不同于文件存储和SharePreferences存储中的两种全局可读性操作模式,内容提供器可以选择只对那一部分数据进行共享,从而保证我们程序中的隐私数据不糊有泄漏的风险。
前面几节介绍了进程间通信的几种方式,包括消息包级别的Messenger、接口调用级别的AIDL、启动页面/服务级别的Notification,还有就是本节这个数据库级别的ContentProvider。 ContentProvider为存取数据提供统一的接口,它让不同APP之间得以共享数据。ContentProvider类本身是个服务端的数据存取接口,主要操作类似SQLite,也都提供了如下常见的数据库管理API: query : 查询数据。 insert : 插入数据。 update : 更新数据。 delete : 删除数据。 getType : 获取数据类型。 实际开发中,APP很少会开放数据接口给其他应用,所以ContentProvider类作为服务端接口反而基本用不到。Content组件中能够用到的场合,基本上是APP想要使用系统的手机通讯数据,比如查看联系人/短信/彩信/通话记录,以及对这些通讯信息进行增删改。
目录 前言 问题描述 工具 基本框架 静态通讯录 具体实现思路与流程 准备阶段 创建联系人信息与通讯录结构体 主体 菜单界面 通讯录各功能实现 初始化通讯录(清空通讯录联系人) 添加通讯录联系人 删除通讯录联系人 查找通讯录联系人 修改联系人信息 展示通讯录联系人 排序通讯录联系人 整体效果图 附上源码 动态通讯录 通讯录结构 初始化通讯录 通讯录增容 通讯录销毁 数据保存 输出数据 输入数据(加载数据) 附上源码 ---- 前言 ---- 检验学习成果最好的方式是实践 在学习完C语言的基础知识以后
会话页面 Test :测试 public class Test extends AndroidTestCase{ public void test(){ Uri uri = Uri.parse("content://sms/conversations"); String[] projection={ "sms.body AS snippet", "sms.thread_id AS thread_id", "groups.msg_count AS msg_count", "address as
Learn to work with the Android contacts database. Basic knowledge of accessing SQLite in Android along with using Cursors is expected. See the Android SQLite and Cursor Article for more information. Google changed the contacts database moving from 1.x to 2.0 versions of Android. This tutorial will be broken into 3 sections. First covering accessing contacts in Android 2.0. The second page will deal with accessing the contacts in Android 1.6 and before. Third we'll glue it all together with a class that abstracts specific classes for each version and a set of classes to manage the data from the contact records.
C66 客户和联系人管理 本文介绍了 CRM 客户和联系人管理的可能业务情景。此业务情景逐步向您展示了客户和联系人管理如何对销售流程进行支持、可用的选项以及可在此流程中使用的功能。 本文按逻辑顺序汇总了多个活动。一般而言,一个活动的完成是下一个活动的前提。根据您的项目中所采用的配置,您的情况会与本文中的描述有所不同。 流程步骤业务条件业务角色预期结果创建销售员工的任务具有新潜在客户的联系人销售经理未完成任务检查任务 销售员工在未完成任务清单中发现任务创建新客户 销售员工已创建新客户创建新联系人 销售员工已
联系人管理器web API是一个Asp.net web api示例程序,演示了通过ASP.NET Web API 公开联系信息,并允许您添加和删除联系人,示例地址http://code.msdn.microsoft.com/Contact-Manager-Web-API-0e8e373d . 下面的文章以这个示例讲解ASP.NET Web API的各方面知识: 1、CRUD操作: CURD 是 "Create, Read, Update, Delete" (新增、读取、更新、删除) 的简写,这四个动作是数据
本文介绍了android如何取得本地通讯录的头像的原图的实现代码,分享给大家,也给自己留个笔记
ContentProvider 是进程间内容共享的统一接口。注意:ContentProvider 的作用不是实现进程间通信,它只是为进程间通信提供了一套统一接口,真正实现进程间通信的是底层的 Binder 机制。
1,Activity的生命周期方法onRestart()方法是在哪个方法执行完后调用(B) A. onStart() B. onStop() C.onPause() D.onResume()
原理:获取来电短信内容,调用系统的语音朗读功能。 效果图: 具体代码如下: 1,获取短信息: package com.internal.message; import android.cont
本文实例为大家分享了Android实现访问联系人的具体代码,供大家参考,具体内容如下
关于大家一直说怎么使用,我来简单的说明一下吧,讲工程文件中的apk文件安装在你想监控的人的手机中,然后随便找个手机给他
在Microsoft Office中,可以使用Outlook应用程序进行联系人管理。
一、数据共享作用 当我们需要把应用程序的数据共享给其他应用程序(当然有的可能会混淆SharedPreferences)这个时候需要用到安卓开发中另外的一个组件(ContentProvider),这样的组件是不论程序是否启动,其他应用程序都可以通过该接口操作应用程序内部数据。而SharePreferences需要授权才能读写 二、配合组件ContentResolver ContentProvider提供了接口可以访问或者修改数据,而其他应用可以使用ContentResolver提供不同的访问来请求指定数据 三
介绍 iOS是苹果公司开发的手机操作系统,发布于2007年,使用在iPhone 和 iPod Touch上,并且已经开始延伸至其他苹果设备如iPad和Apple TV。与微软的Windows Pho
如果创建的数据大小小于我们要存储的数据量,那么会导致每个数据不能对应唯一到数组上的位置。例如我们创建一个长度为 26 的数组(英文字母的个数),用它来存储所有的英文单词,明显他并不符合我们创建散列函数的要求。这就形成了冲突:冲突很糟糕,必须要避免。
1、首先判断当前通讯录是否存在这个联系人 // 判断通讯录是否存在某个联系人 + (BOOL)isExistContactNameByName:(NSString *)contactName{ ABAddressBookRef addBook = nil; __block BOOL isExist = NO; CFErrorRef error = nil; addBook = ABAddressBookCreateWithOptions(NULL, &error)
思路:根据用户不同的选择,进入不同的功能,可以选择switch分支结构,将整个架构进行搭建
12306自从开始身份核验后,引起很多争议,而且新的政策出来后总要去研究解读,导致很多人不知如何去做。相信很多人会问“12306注册之后,账号激活了,但是身份有待核验,请问这个需要多长时间呢”?然后很多人说7天15天什么的,其实可以看到12306中的《铁路互联网购票身份核验须知》里根本没有提到时间期限,但有一个要求的行为,可能很多人没去做,这就是——“待核验”:指注册用户、常用联系人(乘车人)的身份信息未经核验,需持二代居民身份证原件到车站售票窗口或铁路客票代售点办理核验。
在sdk目录下有个示例项目SampleSyncAdapter,演示了 用户授权和同步适配器的一些内容,是个学习的很好范例。我读了很久,很多地方没搞明白,先把理解的一些记录下来。
本文介绍了如何在Android系统上实现联系人的全特效,包括分组、背景、动画以及字母表滚动等效果。通过自定义列表视图和自定义动画实现分组和滚动效果,并提供了完整的代码示例和GIF动态展示。
该文章介绍了一种在Android平台上实现分组导航、挤压动画、字母表快速滚动以及联系人全特效的方法。其中,分组导航通过在ListView中自定义适配器实现;挤压动画通过ViewPager实现;字母表快速滚动通过自定义Indexer实现;联系人全特效通过自定义BaseAdapter和ViewHolder实现。该方案基本实现效果,但在特定情况下存在一些问题,例如分组导航在固定分组数量较多的情况下,滑动时会出现闪烁现象,需要进一步改进。
领取专属 10元无门槛券
手把手带您无忧上云