[解決済み】AndroidでURIビルダーを使うか、変数でURLを作成するか
2022-04-05 12:03:04
質問
Androidアプリを開発しています。APIリクエストを行うために、アプリ用のURIを作成する必要があります。URIに変数を入れる他の方法がない限り、これが私が見つけた最も簡単な方法です。私は、あなたが使用する必要があることを発見しました
Uri.Builder
しかし、どうすればいいのかよくわかりません。私のurlは
http://lapi.transitchicago.com/api/1.0/ttarrivals.aspx?key=[redacted]&mapid=value
私のスキームは http で、オーソリティは
lapi.transitchicago.com
で、パスは
/api/1.0
パスセグメント(複数可
ttarrivals.aspx
で、クエリ文字列は
key=[redacted]&mapid=value
.
私のコードは以下の通りです。
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);
ができることは理解しています。
URI.add
に統合するにはどうしたらよいでしょうか。
Uri.Builder
? のようにすべて追加すればよいのでしょうか?
URI.add(scheme)
,
URI.add(authority)
といった具合でしょうか?それとも、そのやり方ではダメなのでしょうか?また、URI/URLに変数を追加するために、他にもっと簡単な方法はないでしょうか?
どのように解決するのですか?
例えば、次のようなURLを作りたいとします。
https://www.myawesomesite.com/turtles/types?type=1&sort=relevance#section-name
で構築する場合
Uri.Builder
私なら次のようにします。
Uri.Builder builder = new Uri.Builder();
builder.scheme("https")
.authority("www.myawesomesite.com")
.appendPath("turtles")
.appendPath("types")
.appendQueryParameter("type", "1")
.appendQueryParameter("sort", "relevance")
.fragment("section-name");
String myUrl = builder.build().toString();
関連
-
[解決済み】このアクティビティでは、Theme.AppCompatテーマ(またはその子孫)を使用する必要があります。
-
[解決済み】Dalvikとdalvik-cacheとは何ですか?
-
[解決済み】apkファイルのインストール中に「パッケージが破損しているようです」というエラーが発生する。
-
[解決済み] サポートされていないメソッドです。BaseConfig.getApplicationIdSuffix()がサポートされていません。
-
[解決済み] URI、URL、URNの違いは何ですか?
-
[解決済み] Androidでファイルをダウンロードし、ProgressDialogで進捗を表示する。
-
[解決済み] ファイルを変換します。AndroidでUriからファイルへ
-
[解決済み】Android UserManager.isUserAGoat()の正しい使用例?)
-
[解決済み】Androidで透明なActivityを作成する方法は?
-
[解決済み】URIの単語の区切り文字にハイフン、アンダースコア、キャメルケースのどれを使うか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Android TextView : "setTextで表示されたテキストを連結しない" について
-
[解決済み】コンテンツには、id属性が「android.R.id.list」であるListViewが必要です。
-
[解決済み] ユーザーが拒否する可能性のあるパーミッションが必要なコール
-
[解決済み】Android Studio。Android.support.design.widget.FloatingActionButton クラスを膨らませるのにエラーが発生する。
-
[解決済み】アクティビティにない場所でのgetLayoutInflater()の呼び出し
-
[解決済み] SDKの場所がandroid studioで見つからない
-
[解決済み] BIOSのセキュリティ設定でVT-xを有効にする(お使いのコンピュータのドキュメントを参照)。
-
[解決済み] Androidのgravityとlayout_gravityの違いは何ですか?
-
[解決済み] Gradle DSL メソッドが見つかりません:'compile()'
-
[解決済み] Java "ラムダ式はこの言語レベルではサポートされていません"