Android では、 http://api.openweathermap.org/data/2.5/forecast/daily?q=khulna&mode=json&units=metric&cnt=7&appid=02b7のような URL があります。
だから私はUriビルダーを使います
final String FORECAST_BASE_URL=
"http://api.openweathermap.org/data/2.5/forecast/daily?";
final String QUERY_PARAM="q";
final String FORMAT_PARAM="mode";
final String UNITS_PARAM = "units";
final String DAYS_PARAM="cnt";
final String appID="&appid=";
//http://api.openweathermap.org/data/2.5/forecast/daily?q=khulna&mode=json&units=metric&cnt=7
//now uri build
Uri buildUri = Uri.parse(FORECAST_BASE_URL).buildUpon()
.appendQueryParameter(QUERY_PARAM,"khulna")
.appendQueryParameter(FORMAT_PARAM,"json")
.appendQueryParameter(UNITS_PARAM,"metric")
.appendQueryParameter(DAYS_PARAM,Integer.toString(7))
.appendQueryParameter(appID, BuildConfig.OPEN_WEATHER_MAP_API_KEY)
.build();
ここに 2 つの余分な文字 '%26' と '%3D' があります。
この URI を文字列に変換し、replace メソッドを使用してこれら 2 つの文字を置き換えます
String url = buildUri.toString().replace("%3D","").replace("%26","");
しかし、私の質問は、文字列置換メソッドを使用して 2 つの文字を置換しないと予想される Uri を構築するにはどうすればよいかということです。