Android联系人中添加归属地分组

本文介绍了如何在Android应用中实现联系人归属地的分组,避免依赖网络查询,通过创建本地数据库存储全国手机归属地信息,将数据按运营商前三位分表存储,提高查询效率。在应用启动时将数据库复制到data目录,并在添加或修改联系人时更新配置文件,保证数据时效性。文章还分享了数据库制作和查询逻辑,以及源码链接。
摘要由CSDN通过智能技术生成
 

之前重要负责收集联系人添加归属地,公司这两个智能分组;网上的实现方法很多,有说通过webserver来查询,但是网络这种形式不是长远之道;毕竟服务器不是你自己的,还有其他很多的各种不稳定因素。那下面,就主要介绍归属地这个分组我是怎么实现的。

经过自己制作一个第三方的归属地数据库来实现的。我使用的全国手机归属地数据记录是2013年中旬的,当时弄到数据后吓坏,全国的手机归属地记录总共有28.6w多条。正常情况下,每个手机存储的联系人数一般是100+多个人。我采取的方式是,先把所有的归属地信息全部查出来然后保存在配置文件,如果有添加修改联系人的操作就刷新全部刷新配置文件。一百多个人全部刷新大概是4~5s左右,几十个人的话用户几乎感觉不到。所以,这个效率是可行的。下面开始介绍我使如何制作第三方数据库(程序运行把数据库拷贝到data目录对应包名下)和对数据处理的。

        首先我们先分析一下手机号码,手机号码的前七位中的前三位是运营商信息,前七位中的后四位是归属地信息。因此,对于这么多数据我们应该尽可能的细分为小的模块,使得每次查询时的范围减少才能提高效率。下面列出各个运营商的号码数:

        数据总数 286764条
电信133 -> 9648 电信153 -> 9818 电信180 -> 9577

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值