android - 如何设置 Android Retrofit2 BASE URL 从活动中获取 EditText 的值?
问题描述
我有一个活动,我通过两个不同的EditText
.
现在我正在从获得的值(如http://10.0.2.2:8080
.
现在我需要将此 url 设置为ApiClient()
BASE_URL。此网址将是永久的。它应该在任何活动或任何片段中的整个应用程序中都可用。
注意:我只需要设置应用程序生命周期的单次值。
如果您建议一个Singleton Class
或由SharedPreference
请解释来源。(我已经尝试过,但效果并不理想)
解决方案
您可以创建一个类并定义越来越好的静态变量。并在您从编辑文本中获取值时初始化这些变量,然后您可以简单地从该静态中获取值在您的活动类中,您可以像这样访问 baseurl.Setip(您的编辑文本值) 并获取该 IP,您可以编写 Retrofit.Builder .baseurl(baseurl.getIp) 类似这样的东西 希望这张图片能解释你
推荐阅读
- javascript - 向目录中的链接添加一个字符
- google-app-engine - Google 对“Google API”的含义是什么?App Engine 端点(例如 xxx.appspot.com)是 Google API 吗?
- javascript - 在 socket.io 中每秒发射一次不起作用
- php - PHP复选框从文件夹中删除文件
- java - 尝试使用 forge 修改 minecraft 1.12.2 的问题。无法打包和测试构建
- r - 如何强制以“:”分隔的一系列数字到该范围内的数字列表中?
- javascript - 查找多个数组中的连续数字 JavaScript
- apache-spark - 如何将字符串数组转换为 numpy 数组并将其传递给 Pyspark 中的 UDF?
- python - 在用户定义类的实例上启用列表(实例)或元组(实例)
- javascript - 二进制数组需要有一个固定的长度