首页 » Android. 如何通过电话号码检测国家代码

Android. 如何通过电话号码检测国家代码

在Foursquare,我们的目标是让广大受众能够使用工业级地理空间数据和分析。今年 2 月,我们推出了Hex Tiles,这是 Foursquare Unfolded平台的最新成员。Hex Tiles 是一种独特的地理空间数据平铺方法,利用H3离散全局网格系统,使并行处理服务器上的工作负载和在浏览器中可视化海量数据集变得前所未有的简单。我们最近庆祝了Foursquare 收购 Unfolded一周年,为了纪念这一里程碑,我们正在讨论 Hex Tiles 的诞生以及它目前如何优化数据分析。

地图平铺 101

地理空间数据集可能带来许多可视化和处理挑战。通常,将整个 GB 或更大的数据集传输到浏览器进行可视化可能会导致浏览器选项卡崩溃。虽然加载部分数据集可以将其缩小到合理的大小,但许多数据集没有方便的分区来划分数据。这时按地理区域或图块进行分区就派上用场了。

切片系统是一种通过 Web 提供超大地理空 中国电话号码库 间数据集的方法。现代地理空间数据集非常庞大,以至于下载所有记录(即使是下载到专用的本机应用程序)可能效率低下,甚至在许多情况下是不可能的。切片系统将这些大型数据集划分为称为切片的分区,并允许用户专门访问所需的数据部分。

第一个地图平铺系统基

于栅格图像数据。在栅格图块中,单个栅格图像通过互联网传输,并可由客户端拼接在一起以生成所需区域的合成图像。使用栅格图块传输卫星图像等连续数据特别有效,因为它们可以利用图像压缩和处理方面的许多进步。

中国电话号码库

然而,这也带来了一些限制。某些特征的栅格图像不能平滑缩放,这使得客户端很难知道每个像素代表什么。这样的挑战导致了矢量切片系统的开发,它由精确坐标定义的几何体组成。这使得它们更适合道路网络、兴趣点和行政边界。虽然使用矢量切片可以更轻松地执行进一步处理,但它们也有局限性。特征未对齐,需要计算量巨大的算法才能连接。与几何灵活性相比,Mapbox 矢量切片等常见实现也提供了相对受限的数据编码选择。

六边形

编码地理空间数据的另一种方法是使用离散全局网格系统(DGGS)。DGGS 生成均匀的网格,其中单元格以不同的网格分辨率相互关联。

H3是一个六边形、全局、分层且开源的离散全球网格系统。H3 网格单元的六边形形状提供了几个关键优势。与基于正方形的网格不同,六边形更容 生活窍门:提示和建议  连接邻近区域,同时最大限度地减少空间偏差,因为六边形的六个邻居等距。六边形单元还可以改善地球表面的形状拟合、低面积和角度失真,同时减少误差幅度。

此外,由于 H3 是一个

散的全局网格系统,因此它具有多个不同分辨率的网格。这种分层结构使我们能够仅通过按位运算将不同分辨率的单元格关联起来。H3 也是 根据 Apache 2.0 许可证开源的,并且可以在后台使用相同的通用核心库与各种编程语言、框架和数据库系统一起使用。

我只需要根据电话号码的首位数字猜 羚羊加速器 测国家代码。我在 google 上搜索了一下后,找到了一个库们需要执行以下操作:

  • 添加监听器EditText.
  • 添加库libphonenumber。
  • 通过电话号码检测国家代码。
  • 如果我们可以检测到国家代码,则显示国家代码。

添加监听器EditText

 

添加库libphonenumber

我们需要将以下块添加到依赖项中:

通过电话号码检测国家代码

我们需要创建一个PhoneNumberUtils类的实例:

之后,我们需要将库中String的数字  转换为PhoneNumber类。使用此类,我们可以从中检测国家/地区:

该库有一个限制,即电话号码必须以“+”开头。这就是我们添加电话验证的原因。最后,我们可以在文本更改监听器中使用此函数:

完整代码

说话没用。给我看代码 ©。链接到 github 存储库。

我是一位充满热情的 Android 开发人员,欢迎在LinkedIn、Facebook和Medium上关注和联系我。

滚动至顶部