【问题标题】:Validating address input in Android在 Android 中验证地址输入
【发布时间】:2012-01-03 04:21:14
【问题描述】:

在我的应用程序中,我必须输入用户地址(美国)。用户需要输入有效地址。我怎样才能做到这一点?有没有图书馆可以帮助我了解州名、城市名和街道名?如果可能的话,我想使用自动输入。我阅读了 GeoCoding,但我认为它对我没有帮助,因为用户没有输入当前位置的地址。

【问题讨论】:

  • 地址需要多精确?它只是邮政编码和州,还是您还需要城市名称和街道地址。请记住,同一个地方可以有多个有效地址,因为例如,一条街道可能是一条高速公路,其编号也被命名为 ex:10 号高速公路也被称为 main st,它贯穿斯普林菲尔德。
  • 它需要精确..GPS设备是如何做到的?它有用户输入的州、城市和街道号码,然后 gps 找到地址并将其显示给用户。如果用户同意,则继续查找路线。我想要同样的东西。

标签: android street-address


【解决方案1】:

这是我使用 Google API 查找位置的方法。也许它会帮助你:

     Geocoder geoCoder = new Geocoder(context, Locale.getDefault());    
        try {
            List<Address> addresses = 
                    geoCoder.getFromLocationName(travel.getAddress() + "," + 
            travel.getCity() + "," + travel.getState() + "," + travel.getCountry(), 3);

            if (addresses.size() > 0) {
                point = new GeoPoint(
                        (int) (addresses.get(0).getLatitude() * 1E6), 
                        (int) (addresses.get(0).getLongitude() * 1E6));
                travel.setLatitude(String.valueOf(point.getLatitudeE6()));
                travel.setLatitude(String.valueOf(point.getLongitudeE6()));
                long res = travel.update(context, null);
                if (res < 1){
                    result = false;
                }

            }    
        } catch (IOException e) {
            e.printStackTrace();
            result = false;
        }

【讨论】:

  • 这里的旅行是什么?
【解决方案2】:

为什么不验证区号?你应该这样做才能得救。

【讨论】:

    【解决方案3】:

    有多种方法可以清理地址输入并将其标准化为预期格式。但是,验证地址以确保其真实和正确的唯一真正方法是使用地址验证服务。

    标准化地址就是为了确保事情看起来不错——比如格式化和标准化电话号码或电子邮件地址。但是只有看起来不错的数据是不够的。您需要 好的数据。例如,如果用户提供的信用卡可能不错,您会接受订单吗?或者您想要一张 好的信用卡?地址也是一样。如果您正在收集地址,很高兴知道它是真实的、可交付的并且可以用于您的预期目的。否则,它只是垃圾数据——垃圾输入,垃圾输出。

    幸运的是,在您的情况下,由于用户使用的是基于 Android 的设备,因此他们很可能具有互联网连接,这使您可以对第三方地址验证服务进行查询。有许多提供街道地址验证的服务。我是SmartyStreets 的创始人。我们的LiveAddress API 可能正是您想要的。而且,根据您的数量和业务,它也可能完全免费。如果没有,没什么大不了的,您可以使用其他服务。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-08
      相关资源
      最近更新 更多