Tworzę aplikację na Androida. Muszę zbudować identyfikator URI dla mojej aplikacji, aby wykonać żądanie interfejsu API. O ile nie ma innego sposobu na umieszczenie zmiennej w URI, jest to najłatwiejszy sposób, jaki znalazłem. Odkryłem, że musisz użyć Uri.Builder
, ale nie jestem pewien, jak to zrobić. Mój adres URL to:
http://lapi.transitchicago.com/api/1.0/ttarrivals.aspx?key=[redacted]&mapid=value
Mój schemat to http, autorytet lapi.transitchicago.com
, ścieżka to /api/1.0
, segmenty ścieżki to ttarrivals.aspx
, a ciąg zapytania to key=[redacted]&mapid=value
.
Mój kod jest poniżej:
Intent intent = getIntent();
String value = intent.getExtras().getString("value");
Uri.Builder builder = new Uri.Builder();
builder.scheme("http")
.authority("www.lapi.transitchicago.com")
.appendPath("api")
.appendPath("1.0")
.appendPath("ttarrivals.aspx")
.appendQueryParameter("key", "[redacted]")
.appendQueryParameter("mapid", value);
Rozumiem, że mogę to zrobić URI.add
, ale jak mogę to zintegrować z Uri.Builder
? Dodam wszystko podobnego URI.add(scheme)
, URI.add(authority)
i tak dalej? A może nie tak to zrobić? Czy istnieje też inny łatwiejszy sposób dodania zmiennej do identyfikatora URI / adresu URL?