2017-01-27 25 views
0

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(); 

を使用しますが、出力は http://api.openweathermap.org/data/2.5/forecast/daily?q=khulna&mode=json&units=metric&cnt=7&%26appid%3D=02b7

ここでは2つの余分な文字 '%26' と '%の3D' です。

私は文字列に、このURIに変換し、方法

String url = buildUri.toString().replace("%3D","").replace("%26",""); 

を交換使用することにより、これらの2つの文字を置き換えるしかし、私の質問はどのように私はウリのメソッドを置き換える文字列を介して2つの文字を交換しないと予想その構築することができます。

答えて

0

変更:

final String appID="appid"; 

final String appID="&appid="; 

関連する問題