2017-07-07 18 views
0

次の方法を使用して、サーバーURLを他のクラスからアクセスできるようにサーバーIPアドレスをAndroidプロジェクトに格納します。AndroidでハードコードされたIPアドレスを避ける

interface GlobalConstants{ 
     String SERVER_URL = "192.168.xx.xx"; 
    } 

ただし、このアプローチでは、IPアドレスが変更され、逆コンパイルによってサーバーURLが公開されるたびに再コンパイルする必要があります。 SERVER_URLを初期化するより良い方法はありますか?

私はSystem.setProperty()とSystem.getProperty()を試しましたが、それでも実行時に実行されました。設定ファイルのようなものを使ってIPアドレスを保存し、設定できるようにする方法はありますか?

ありがとうございます。 :)

+0

私はapkのコンパイルとビルドをバイパスする方法がないと思います。 –

+0

なぜDNSを使っていないのですか? – chrylis

+0

@chrylisこれはwifi経由でPCのlocalhostにアクセスしてコードをテストする試みでした。 – user54321

答えて

0

あなたは次にあなたがアンドロイドスタジオが発生することBuildConfigクラスを使用して、それをアセスすることができますgradle.build

buildTypes { 
     debug { 
      buildConfigField "String", "SERVER_URL", "\"http:TempRequest\"" 
     } 
     release { 
      buildConfigField "String", "SERVER_URL", "\"http:TempRequest\"" 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 

でこれを行うことができます。

は例

String url = BuildConfig.SERVER_URL + "endpoint"; 

のために私は、これはあなたを助けることを願っています。

+0

これは、私が探していたものですが、再コンパイルの必要性を排除しません。ありがとう。 – user54321

+0

あなたは歓迎です:) –

関連する問題