当前位置: 首页 > news >正文

Android 开发APP中参数配置与读取总结

以使用MQTT配置的参数   MQTT_BROKER_UR 、MQTT_USER_NAME、  MQTT_PASSWORD为例,说明配置设置和读取应用

项目中使用系统参数(如环境变量和gradle.properties文件中的属性)在Gradle构建脚本中,以下是一个详细的操作文档资料,涵盖了如何设置、访问这些参数,并将其应用到Android项目的BuildConfig类中。

系统参数使用的操作文档

1. 设置系统环境变量

系统环境变量可以直接影响你的构建过程。它们通常用于存储敏感信息或根据运行环境变化的配置。

  • Windows:
    • 打开“系统属性” -> “高级系统设置” -> “环境变量”,然后添加新的环境变量。
  • Linux/MacOS:
    • 编辑~/.bashrc~/.zshrc或其他shell配置文件,添加如下行:
       bash 

      深色版本

      export MQTT_BROKER_URL="tcp://your_broker_url:port"
2. 使用gradle.properties文件

gradle.properties文件允许你在项目内部定义一些可复用的属性,这些属性可以在整个项目中被引用。

  • 在项目根目录下创建或编辑gradle.properties文件,添加如下内容:
     properties 

    深色版本

    MQTT_BROKER_URL=tcp://your_broker_url:port
    MQTT_CLIENT_ID=yourClientId
    MQTT_USERNAME=yourUsername
    MQTT_PASSWORD=yourPassword
3. 配置build.gradle.kts以使用这些属性

在你的模块级别的build.gradle.kts文件中启用buildConfig并正确引用这些属性。

 

kotlin

深色版本

plugins {alias(libs.plugins.android.application)
}android {buildFeatures {buildConfig = true // 启用BuildConfig生成}defaultConfig {applicationId = "cn.sin.smart.container" // 示例包名minSdk = 24targetSdk = 35versionCode = 1versionName = "1.0"val mqttBrokerUrl: String? = project.findProperty("MQTT_BROKER_URL") as? Stringval mqttClientId: String? = project.findProperty("MQTT_CLIENT_ID") as? Stringval mqttUsername: String? = project.findProperty("MQTT_USERNAME") as? Stringval mqttPassword: String? = project.findProperty("MQTT_PASSWORD") as? StringbuildConfigField("String", "MQTT_BROKER_URL", "\"${System.getenv("MQTT_BROKER_URL") ?: (mqttBrokerUrl ?: "")}\"")buildConfigField("String", "MQTT_CLIENT_ID", "\"${System.getenv("MQTT_CLIENT_ID") ?: (mqttClientId ?: "")}\"")buildConfigField("String", "MQTT_USERNAME", "\"${System.getenv("MQTT_USERNAME") ?: (mqttUsername ?: "")}\"")buildConfigField("String", "MQTT_PASSWORD", "\"${System.getenv("MQTT_PASSWORD") ?: (mqttPassword ?: "")}\"")}
}
4. 访问BuildConfig字段

一旦设置了上述所有内容并在Gradle同步后,你可以通过BuildConfig类访问这些值:

  • Kotlin

     kotlin 

    深色版本

    val brokerUrl = BuildConfig.MQTT_BROKER_URL
    println("MQTT Broker URL is $brokerUrl")
  • Java

     java 

    深色版本

    String brokerUrl = BuildConfig.MQTT_BROKER_URL;
    System.out.println("MQTT Broker URL is " + brokerUrl);
5. 调试与验证

为了确保属性被正确读取和设置,可以添加一个简单的任务来打印出所有的属性值,以便调试:

 

kotlin

深色版本

tasks.register("printProperties") {doLast {println("MQTT Broker URL from env: ${System.getenv("MQTT_BROKER_URL")}")println("MQTT Broker URL from properties: ${project.findProperty("MQTT_BROKER_URL")}")println("Final MQTT Broker URL in BuildConfig: ${BuildConfig.MQTT_BROKER_URL}")}
}

然后运行这个任务:./gradlew printProperties,检查输出是否符合预期。

通过遵循以上步骤,你应该能够成功地在你的Android项目中使用系统参数,并将它们安全地传递给应用程序代码。这种方法不仅提高了灵活性,也增强了安全性,因为它避免了硬编码敏感信息。

http://www.lryc.cn/news/533418.html

相关文章:

  • Scala 语法入门
  • python中的flask框架
  • 【redis】缓存设计规范
  • 归一化与伪彩:LabVIEW图像处理的区别
  • DeepSeek大模型本地部署实战
  • deepseek+kimi自动生成ppt
  • 集成SwanLab与HuggingFace TRL:跟踪与优化强化学习实验
  • cefsharp131升级132测试(WinForms.NETCore)
  • Gitee AI上线:开启免费DeepSeek模型新时代
  • nginx常用命令及补充
  • 自动驾驶---聊聊传统规控和端到端
  • node.js + html + Sealos容器云 搭建简易多人实时聊天室demo 带源码
  • OpenFeign远程调用返回的是List<T>类型的数据
  • PCL 计算多边形的面积【2025最新版】
  • 著名大模型评测榜单(不同评测方式)
  • 国内知名Deepseek培训师培训讲师唐兴通老师讲授AI人工智能大模型实践应用
  • 【AIGC】冷启动数据与多阶段训练在 DeepSeek 中的作用
  • 如何打造一个更友好的网站结构?
  • 【ROS2】RViz2自定义面板插件(rviz_common::Panel)的详细步骤
  • 漏洞分析 Spring Framework路径遍历漏洞(CVE-2024-38816)
  • 《手札·避坑篇》2025年传统制造业企业数字化转型指南
  • MySQL中DDL操作是否支持事务
  • GWO优化决策树回归预测matlab
  • 掌握Spring @SessionAttribute:跨请求数据共享的艺术
  • python读取Excel表格内公式的值
  • 第三十八章:阳江自驾之旅:挖蟹与品鲜
  • C++小等于的所有奇数和=最大奇数除2加1的平方。
  • 设置IDEA的内存大小,让IDEA更流畅: 建议设置在 2048 MB 及以上
  • Ranger Hive Service连接测试失败问题解决
  • 车机音频参数下发流程