質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
HTTP

HTTP(Hypertext Transfer Protocol)とはweb上でHTML等のコンテンツを交換するために使われるアプリケーション層の通信プロトコルです。

URL

URL(ユニフォームリソースロケータ)とは、インターネット上のリソース(Webページや電子メールの宛先等)を特定するための形式的な記号の並びの事を言う。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

Q&A

0回答

534閲覧

外部サーバに接続する際のBASE_URLにポート番号も追記したいのですが、記述の方法を教えて頂けますか。

cazusan

総合スコア0

HTTP

HTTP(Hypertext Transfer Protocol)とはweb上でHTML等のコンテンツを交換するために使われるアプリケーション層の通信プロトコルです。

URL

URL(ユニフォームリソースロケータ)とは、インターネット上のリソース(Webページや電子メールの宛先等)を特定するための形式的な記号の並びの事を言う。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

0グッド

0クリップ

投稿2020/10/13 00:04

前提・実現したいこと

AndroidStudioで外部サーバのデータベースからデータの入出力をしたいと思っています。
外部サーバに接続する時にサーバーポートも指定しなければならない時のBASE_URLの記述の仕方がわかりません。
指定したいサーバーポートは10/1/0/116:8081です。
教えて頂けますか。

発生している問題・エラーメッセージ

いろいろ記述をかえてみているのですが、サーバーに接続できず記述の方法に問題があるような気がします。
それとも他に原因があるのでしょうか。

該当のソースコード

AndoridStudioで作成したkotlinのソースコードは以下の通りです。

kotlin

1interface Plating { 2 3 companion object { 4 const val BASE_URL = "http://10.1.0.116:8081/" 5 6 fun createApiService(): Plating{ 7 val moshi= Moshi.Builder() 8 .add(KotlinJsonAdapterFactory()) 9 .build() 10 11 return Retrofit.Builder() 12 .baseUrl(BASE_URL) 13 .addConverterFactory(MoshiConverterFactory.create(moshi)) 14 .build() 15 .create(Plating::class.java) 16 } 17 } 18 19 @POST("PHP_CAZ/COMMON/get_omise_list.php") 20 //suspend fun getOmise(): Response<ApiResponse> 21}

network_security_config.xmlの設定です

xml

1<?xml version="1.0" encoding="utf-8"?> 2<network-security-config> 3 <domain-config cleartextTrafficPermitted="true"> 4 <domain includeSubdomains="true">10.1.0.116</domain> 5 </domain-config> 6</network-security-config>

AndroidManifest.xmlの一部です

xml

1 <uses-permission android:name="android.permission.INTERNET"/> 2 3 <application 4 android:networkSecurityConfig="@xml/network_security_config"> 5 android:allowBackup="true" 6 android:icon="@mipmap/ic_launcher" 7 android:label="@string/app_name" 8 android:roundIcon="@mipmap/ic_launcher_round" 9 android:supportsRtl="true" 10 android:theme="@style/AppTheme"> 11

試したこと

サーバーポート:8081をBASE_URLに記述せず、@postメソッドの中に記述したり、http://を追記してみましたが接続できないようです。
どのAndroid参考書にも解説がないので困っています。

補足情報(FW/ツールのバージョンなど)

Windows10、AndroidStudio3.6.1を利用しKotlinでコードを作成しています。
サーバへの接続は
Retrofit2,Moshi,Coroutine を検討しています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

dodox86

2020/10/13 00:45

回答に至るほどではないのでコメントのみですが、接続時にどんな例外とかエラーが出るか(あるいは出ていないのか)を質問文中に示した方が良いと思います。 若干気になるのはnetwork_security_config.xml の以下の記述です。 <domain includeSubdomains="true">10.1.0.116</domain> 「サブドメイン」であるはずが、IPv4アドレスを指定されています。許容される書き方なのか否かは分かりませんが、ドメインという性質上、ピアなIPアドレスを記述するのは、何か違う気はします。 https://developer.android.com/training/articles/security-config?hl=ja
cazusan

2020/10/13 06:51

ごめんなさい。外部サーバーと書いてしまいましたが、実際にはネットワーク上にあるサーバーへの接続の事です。よろしくお願いします。
cazusan

2020/10/19 05:01

補足情報にサーバーへの接続はRetrofit2,Moshi,Coroutineを検討してしますと記述してしまいましたが、この補足は間違いでした。不要な内容でした、申し訳ありません。 記述したかったことは非同期処理で接続を考えています、という事でした。 Androidからネットワーク内の固定IPアドレスがふられているサーバーの接続する際 ":8081" といったポート番号を追加して記述する方法がわかりません。どなたか教えていただけませんか、よろしくお願いします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問