Java 地理编码器正在将其中一个值返回为null
我试图获取国家、州、城市、Pincode、子区域、地址的详细信息。但有时它返回城市为空或子区域为空。这是所附的图片 这是我的密码Java 地理编码器正在将其中一个值返回为null,java,android,geolocation,Java,Android,Geolocation,我试图获取国家、州、城市、Pincode、子区域、地址的详细信息。但有时它返回城市为空或子区域为空。这是所附的图片 这是我的密码 String locationCountry = "", locationState = "", locationCity = "", locationPincode = "", locationSubRegion = "", locationAddress = ""; Geocoder gCoder; List<Address> add
String locationCountry = "", locationState = "", locationCity = "", locationPincode = "", locationSubRegion = "", locationAddress = "";
Geocoder gCoder;
List<Address> addresses;
double latitude = 0, longitude = 0;
GPStracker g = new GPStracker(getApplicationContext());
Location l = g.getLocation();
if (l != null) {
latitude = l.getLatitude();
longitude = l.getLongitude();
}else {
l = g.getLocation();
}
gCoder = new Geocoder(this, Locale.getDefault());
try {
addresses = gCoder.getFromLocation(latitude, longitude, 1);
if (addresses != null && addresses.size() > 0) {
locationCountry = addresses.get(0).getCountryName();
locationState = addresses.get(0).getAdminArea();
locationCity = addresses.get(0).getLocality();
locationPincode = addresses.get(0).getPostalCode();
locationSubRegion = addresses.get(0).getSubLocality();
locationAddress = addresses.get(0).getAddressLine(0);
}
} catch (Exception e) {
}
Geo coder API将根据lat long返回值,如果API数据库没有这些值,那么它将只返回NULL,据我所知,您对此无能为力。你必须优雅地处理这些情况,这样你的应用程序才不会崩溃
处理这些情况包括,您必须使用以下条件进行检查:特定值是否为null或是否具有某个值,因为如果您在代码中某处使用任何值而未进行检查,并且该值为Null,则每当该特定值为Null时,应用程序可能会崩溃。对于不同的lat long,结果是相同的?代码是用onCreate方法编写的。不,有时我得到局部性,而子局部性为空。但是这两个值中的一些或其他值是空的。这个API将根据lat long返回值,如果API数据库没有这些值,那么它将只返回空值,据我所知,您对此无能为力。你必须优雅地处理这些情况,这样你的应用程序才不会崩溃。好的,你能解释一下我该如何处理吗。