如何设置 Android Retrofit2 BASE URL 从 activity 中获取 EditText 的值?

How can I set Android Retrofit2 BASE URL taking values of EditText from an activity?

我有一个 activity 从那里我通过两个不同的 EditText 获得基础 url ip 像 10.0.2.2 和端口 8080。
现在我'我从 http://10.0.2.2:8080.
等获得的值制作 url 字符串现在我需要将此 url 设置为 ApiClient() BASE_URL。这 url 将是永久性的。它应该在整个应用程序的任何 activity 或任何片段中可用。
注意:我只需要设置一次应用程序生命周期的值。
如果您建议 Singleton ClassSharedPreference 请解释资源。 (我试过他们但效果不佳)

你可以做一个class,定义静态变量越来越好。 当您从编辑文本中获取值时初始化这些变量,然后您可以简单地从该静态中获取值 在您的 activity class 中,您可以这样访问 baseurl.Setip(您的编辑文本值) 为了得到那个 ip 你可以写 Retrofit.Builder.baseurl(baseurl.getIp) 像这样的东西 Hope this image will explain you

对于上述问题,最好的解决方案是将信息存储在SQLiteRoom数据库中,或者手动将信息存储在Phone存储中的文件中。

使用SharedPreferences也可以做到。在这种情况下 ApiClient 应该有一个参数。