0
我正在使用小型library對位置進行反向地理編碼。 我的問題是我的用戶界面中的位置名稱(我使用反向地理編碼設置爲位置名稱的TextView,例如「英國阿伯丁」)與手機的默認語言(如保加利亞語)使用相同的語言手機語言是保加利亞語),我的應用程序中的其他所有內容都是英語。所以我在尋找一種方式如何設置Locale.ENGLISH(或類似的東西)下面的方法,我使用了獲取地點名稱:ReverseGeocoding僅限EN語言環境中的地址名稱
Observable<List<Address>> reverseGeocodeObservable;
String locationName = "";
....
public void getLocationName(){
reverseGeocodeObservable
.subscribeOn(Schedulers.io())// use I/O thread to query for addresses
.observeOn(AndroidSchedulers.mainThread())// return result in main android thread to manipulate UI
.subscribe(new Subscriber<List<Address>>() {
@Override
public void onCompleted() {
}
@Override
public void onError(Throwable e) {
Log.d(TAG,"OnError Geocode");
locationName = sharedPref.getString(getString(R.string.location_name_on_error),"unknown");
}
@Override
public void onNext(List<Address> addresses) {
if(addresses.size() > 0) {
Address address = addresses.get(0);
Log.v(MainActivity.class.getSimpleName(),"Locality: "+address.getLocality() + ", CountryName " + address.getCountryName());
//check if cityName is null...
String cityName = "unknown";
if(address.getLocality() != null) {
cityName = address.getLocality();
//if it is, try to get the subAdmin Area instead...
}else if (address.getSubAdminArea() != null){
cityName = address.getSubAdminArea();
}
String countryName = address.getCountryName();
editor.putString(getString(R.string.location_name_on_error),cityName + ", " + countryName);
editor.apply();
locationName = getString(R.string.location_name, cityName, countryName);
}
}
});
}
任何意見或想法將不勝感激!
這是一個好的觀點。然而,我正在使用Gradle導入這個庫,並且我不知道如何在其他庫中包含庫(我曾嘗試過,但沒有運氣):/ –
最簡單的方法是下載Java代碼並將其放入項目中 –
但是,除非你必須刪除你的gradle構建腳本中的依賴項;-) –