Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/189.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Firebase Android获取值_Android_Firebase_Firebase Remote Config - Fatal编程技术网

从Firebase Android获取值

从Firebase Android获取值,android,firebase,firebase-remote-config,Android,Firebase,Firebase Remote Config,我尝试从Firebase中的远程配置中获取特定值,但它总是提供我第一次在客户端定义的值 这是我的密码: public static final int DEFAULT_MSG_LENGTH_LIMIT = 1000; private static final String FRIENDLY_MSG_LENGTH_KEY ="friendly_msg_length"; protected void onCreate(Bundle savedInstanceState) { super.

我尝试从Firebase中的远程配置中获取特定值,但它总是提供我第一次在客户端定义的值

这是我的密码:

 public static final int DEFAULT_MSG_LENGTH_LIMIT = 1000;
private static final String FRIENDLY_MSG_LENGTH_KEY ="friendly_msg_length";

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    mFirebaseRemoteConfig = FirebaseRemoteConfig.getInstance();
    FirebaseRemoteConfigSettings configSettings = new FirebaseRemoteConfigSettings.Builder()
            .setDeveloperModeEnabled(BuildConfig.DEBUG).build();
    mFirebaseRemoteConfig.setConfigSettings(configSettings);

    Map<String, Object> defaultConfigMap = new HashMap<>();
    defaultConfigMap.put(FRIENDLY_MSG_LENGTH_KEY, DEFAULT_MSG_LENGTH_LIMIT);
    mFirebaseRemoteConfig.setDefaults(defaultConfigMap);
    fetchCnfig();
}

private void fetchCnfig() {
    long cacheExpiration = 3600;
    if(mFirebaseRemoteConfig.getInfo().getConfigSettings().isDeveloperModeEnabled()){
        cacheExpiration = 0;
    }
    mFirebaseRemoteConfig.fetch(cacheExpiration)
            .addOnCompleteListener(new OnCompleteListener<Void>() {
                @Override
                public void onComplete(@NonNull Task<Void> task) {
                    if(task.isSuccessful()){
                        mFirebaseRemoteConfig.activateFetched();
                        applyRetrievedLengthLimit();
                    }else{
                        Log.w(TAG, "error fetching config" + task.getException().getMessage());
                        applyRetrievedLengthLimit();
                    }
                }
            });
}

private void applyRetrievedLengthLimit() {
    long friendly_msg_length = mFirebaseRemoteConfig.getLong(FRIENDLY_MSG_LENGTH_KEY);
    mMessageEditText.setFilters(new InputFilter[]{new InputFilter.LengthFilter(((int) friendly_msg_length))});
}
public static final int DEFAULT\u MSG\u LENGTH\u LIMIT=1000;
私有静态最终字符串友好\u MSG\u LENGTH\u KEY=“友好\u MSG\u LENGTH”;
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mFirebaseRemoteConfig=FirebaseRemoteConfig.getInstance();
FirebaseRemoteConfigSettings configSettings=新的FirebaseRemoteConfigSettings.Builder()
.setdeveloperDeenabled(BuildConfig.DEBUG).build();
mFirebaseRemoteConfig.setConfigSettings(configSettings);
Map defaultConfigMap=新建HashMap();
defaultConfigMap.put(友好的消息长度键,默认消息长度限制);
mFirebaseRemoteConfig.setDefaults(defaultConfigMap);
fetchCnfig();
}
私有void fetchCnfig(){
长缓存过期=3600;
如果(mFirebaseRemoteConfig.getInfo().getConfigSettings().isDeveloperModeEnabled()){
cacheExpiration=0;
}
mFirebaseRemoteConfig.fetch(缓存过期)
.addOnCompleteListener(新的OnCompleteListener(){
@凌驾
未完成的公共void(@NonNull任务){
if(task.issusccessful()){
mFirebaseRemoteConfig.activateFetched();
applyRetrievedLengthLimit();
}否则{
Log.w(标记“错误获取配置”+task.getException().getMessage());
applyRetrievedLengthLimit();
}
}
});
}
私有无效applyRetrievedLengthLimit(){
long-friendly\u-msg\u-length=mFirebaseRemoteConfig.getLong(friendly\u-msg\u-length\u键);
mMessageEditText.setFilters(新的InputFilter[]{new InputFilter.LengthFilter(((int)friendly_msg_length)));
}

任何可能出错的想法都将在更新值后进行评估,您需要从firebase控制台发布更改


发布更改后,最终用户可以使用它,您可以在应用程序中获取该值。

我的错误是我在firebase项目中输入了FRIENDLY_MSG_LENGTH_键值,并且我必须输入该属性的值(在我的例子中为FRIENDLY_MSG_LENGTH)


希望它能对大家有所帮助:)

这已经完成,但仍然不会更改从firebase收到的值