android 四级联动地址选择器

本文介绍了一个自研的安卓四级联动地址选择器项目,采用Kotlin编写,结合Jetpack Room作为数据库。数据源来自Administrative-divisions-of-China,提供预览效果,并给出Gradle依赖及主要API用法。

android 四级联动地址选择器

之前遇到一个需求,需要一个四级联动的地址选择器,Github上找了许久,要么是年代过于久远不维护,要么是只有三级联动没有满意的,遂自己动手实现,于是有了本项目。
安卓四级联动地址选择器


技术

本人喜欢新东西,故本项目都是采用的较新的框架和技术,对于安卓5.0之前的兼容性未经过测试。

  • 项目源码是kotlin编写
  • 数据库是Jetpack的Room
  • ViewPager2

数据源

国内的地址数据来源于Github上开源项目Administrative-divisions-of-China,该项目所爬数据的最终来源是国家统计局等政府权威部门,目前最新的数据是2019年(2020年2月发布)

预览

v1.1开始首字母改为吸顶效果
在这里插入图片描述

使用

Gradle依赖 (中间的版本号代表数据更新的年份)
implementation 'com.xres.selecor:address-selector:0.2019.15'
(已从jcenter迁移Jitpack)
在项目根目录的build.gradle文件下加入

buildscript {
    repositories {
        maven { url 'https://jitpack.io' }
    }
}
allprojects {
    repositories {
        maven { url 'https://jitpack.io' }
    }
}

在项目 app 模块下的 build.gradle 文件中加入

dependencies {
 implementation  'com.github.MoonRiser.RocketCat:address-selector:v1.1'
}

主要api

  • AddressSelector 已实现的带对话框样式,可以直接使用
   初始化:new AddressSelector(context) 
    显示:  show();
    隐藏:  dismiss();
    设置选中监听:setOnSelectCompletedListener((addressSelector, province, city, area, street) ->{
    addressSelector.dismiss;
    city.name;//名称
    city.code;//对应的行政编码
    } )
  • AddressSelectorView 不包含对话框,可以自行定制
    setOnSelectCompletedListener()

最后

有什么bug问题可以提issue,我会抽空解决

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值