Ich habe durch den Quellcode gegraben, aber ich kann einfach keinen Grund für dieses Verhalten finden.Android Uri.Builder mit "/" anstelle von "//" nach Schema
Nach Use URI builder in Android or create URL with variables sollte dies absolut einwandfrei funktionieren.
, ich sage https://www.gravatar.com/eac16c9fc481cb6825f8b3a35f916b5c.json
verbinden möchten diesen Code dann, ich habe die Adresse des Erhaltens drei getrennte Wege zu drucken.
String userHash = "eac16c9fc481cb6825f8b3a35f916b5c";
String correctUrl = "https://www.gravatar.com/" + userHash + ".json";
Uri.Builder builder1 = Uri.parse(correctUrl).buildUpon();
Uri.Builder builder2 = new Uri.Builder()
.scheme("https")
.path("www.gravatar.com")
.appendPath(userHash + ".json");
Log.i("Correct URL", correctUrl);
Log.i("Builder 1 URL", builder1.toString());
Log.i("Builder 2 URL", builder2.toString());
Die ersten beiden Druck in Ordnung, aber das dritte ist, was ich verwenden möchten, aber es ist nicht richtig, wie Sie http:/www
statt http://www
I/Correct URL: https://www.gravatar.com/eac16c9fc481cb6825f8b3a35f916b5c.json
I/Builder 1 URL: https://www.gravatar.com/eac16c9fc481cb6825f8b3a35f916b5c.json
I/Builder 2 URL: https:/www.gravatar.com/eac16c9fc481cb6825f8b3a35f916b5c.json
sehen, mit denen ich kompilieren API 23, und ich habe mir nicht die Mühe gemacht, eine andere API-Version auszuprobieren, weil ich nur verwirrt bin, warum das nicht funktionieren würde.
Sie müssen den URL-Pfad auf die 'authority()' setzen, statt auf den 'Pfad', der Ihnen immer einen Schrägstrich von 1 gibt. entferne '.path (" www.gravatar.com ")' add 'authority (" www.gravatar.com ")', [Hier für weitere Informationen] [1] [1]: http: // developer. android.com/guide/topics/providers/content-provider-creating.html#ContentURI –
@Rod_Algonquin Ohh, ich sehe das jetzt in dem anderen Post :) Hoppla! Vielen Dank. Fühlen Sie sich frei zu antworten. –