• 【AGC】远程配置如何传入自定义属性


    背景:

    现在AGC远程配置端侧服务提供的SDK支持传入自定义属性获取和更新云端配置数据了。下面将通过一个demo集成远程配置SDK来实现这一功能。

    集成准备

    1.在AGC创建工程并开通远程配置服务。

    2.在Android Studio中创建一个工程,将agconnect-services.json文件拷贝到项目的app目录下。

    cke_485.png

    3.在项目级build.gradle中配置Maven仓地址和AGC插件地址。

    1. buildscript {
    2. repositories {
    3. google()
    4. jcenter()
    5. maven { url 'https://developer.huawei.com/repo/' }
    6. }
    7. dependencies {
    8. classpath "com.android.tools.build:gradle:4.0.0"
    9. classpath 'com.huawei.agconnect:agcp:1.6.5.200'
    10. }
    11. }
    12. allprojects {
    13. repositories {
    14. google()
    15. jcenter()
    16. maven { url 'https://developer.huawei.com/repo/' }
    17. }
    18. }

    4.在应用级build.gradle中添加编译依赖和集成SDK。

    1. apply plugin: 'com.android.application'
    2. apply plugin: 'com.huawei.agconnect'
    3. dependencies {
    4. implementation 'com.huawei.agconnect:agconnect-remoteconfig:1.6.5.200'
    5. compileOnly 'com.huawei.agconnect:agconnect-core:1.6.5.200'
    6. }

    5.同步工程配置

    cke_2407.png

    布局设计

    参考如下设置布局,添加一个“CustomAttributes”按钮和result文本框。

    1. "1.0" encoding="utf-8"?>
    2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    3. xmlns:app="http://schemas.android.com/apk/res-auto"
    4. android:layout_width="match_parent"
    5. android:layout_height="match_parent"
    6. android:orientation="vertical"
    7. android:padding="30dp">
    8. <Button
    9. android:layout_marginTop="20dp"
    10. android:id="@+id/CustomAttributes"
    11. android:layout_width="match_parent"
    12. android:layout_height="wrap_content"
    13. android:text="CustomAttributes " />
    14. <TextView
    15. android:id="@+id/result"
    16. android:layout_width="wrap_content"
    17. android:layout_height="wrap_content"
    18. android:textSize="24dp"
    19. android:textAlignment="center" />
    20. LinearLayout>

    功能实现

    在项目的MainActivity.java文件中导入头文件并定义相关界面元素。

    1. import android.os.Bundle;
    2. import android.util.Log;
    3. import android.view.View;
    4. import android.widget.Button;
    5. import android.widget.TextView;
    6. import com.huawei.agconnect.remoteconfig.AGConnectConfig;
    7. import java.util.HashMap;
    8. import java.util.Map;
    9. public class MainActivity extends AppCompatActivity {
    10. private static final String TAG = "MainActivity";
    11. private static TextView textView;
    12. @Override
    13. protected void onCreate(Bundle savedInstanceState) {
    14. super.onCreate(savedInstanceState);
    15. setContentView(R.layout.activity_main);
    16. Button setCustomAttributes = findViewById(R.id.CustomAttributes);
    17. textView = findViewById(R.id.result);
    18. setCustomAttributes.setOnClickListener(new View.OnClickListener() {
    19. @Override
    20. public void onClick(View v) {
    21. setCustomAttributes();
    22. }
    23. });
    24. }

    通过setCustomAttributes(Map map)方法设置需要传入的的自定义属性map1,并且通过getCustomAttributes()方法来获取云端的自定义属性map2并展示在界面。

    1. public void setCustomAttributes(){
    2. Map<String, String> map1 = new HashMap<String, String>();
    3. map1.put("test1", "123");
    4. map1.put("test2", "456");
    5. map1.put("test3", "789");
    6. AGConnectConfig config = AGConnectConfig.getInstance();
    7. config.setCustomAttributes(map1);
    8. String map2 = config.getCustomAttributes().toString();
    9. textView.setText(map2);
    10. Log.i(TAG,map2);
    11. }

    功能测试

    在Android Studio上运行项目安装APK包,点击“CustomAttributes”按钮,设置自定义属性,并且从云端获取传入的自定义属性,展示在界面上。

    cke_9365.png

    结论

    经过测试,通过setCustomAttributes(Map map)和getCustomAttributes()方法,可以正常在端侧传入自定义属性,获取云端配置数据。

    欲了解更多更全技术文章,欢迎访问https://developer.huawei.com/consumer/cn/forum/?ha_source=zzh

  • 相关阅读:
    数据结构与算法-时间复杂度与空间复杂度
    几款常见存储系统的对比分析
    什么是IP地址?
    适用于Windows电脑的最佳数据恢复软件是哪些?10佳数据恢复软件
    这就是程序员眼中的函数吗?(一)
    青少年python系列 26.turtle库绘制一个四叶草
    现在的数字藏品该怎么玩才不会被割韭菜?
    数值法求解最优控制问题(一)——梯度法
    postman发送soap报文示例
    C++ 输入、输出和整数运算
  • 原文地址:https://blog.csdn.net/weixin_44708240/article/details/127859604