2016-08-26 99 views
0

我刚刚开始使用Firebase控制台中的远程配置。这是一个很好的工具,它工作正常,但我无法弄清楚如何使用控制台中的参数将不同的图像(可绘制)“推送”到我的应用程序。这是甚至可能的,如果是的话,我该如何在我的应用程序中使用它?使用Firebase远程配置显示图像

我现在的MainActivity:

public class MainActivity extends AppCompatActivity { 

private static final String TEAM1 = "team1"; 
private static final String TEAM2 = "team2"; 
private FirebaseRemoteConfig mFirebaseRemoteConfig; 
private TextView mTeam1Text; 
private TextView mTeam2Text; 


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

    mTeam1Text = (TextView) findViewById(R.id.team1); 
    mTeam2Text = (TextView) findViewById(R.id.team2); 


    Button fetchButton = (Button) findViewById(R.id.button); 
    fetchButton.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      fetchDiscount(); 
     } 
    }); 

    mFirebaseRemoteConfig = FirebaseRemoteConfig.getInstance(); 
    FirebaseRemoteConfigSettings configSettings = new FirebaseRemoteConfigSettings.Builder() 
      .setDeveloperModeEnabled(BuildConfig.DEBUG) 
      .build(); 
    mFirebaseRemoteConfig.setConfigSettings(configSettings); 
    mFirebaseRemoteConfig.setDefaults(R.xml.remote_config_defaults); 
    fetchDiscount(); 
} 
private void fetchDiscount() { 
    mTeam1Text.setText(mFirebaseRemoteConfig.getString(TEAM1)); 
    mTeam2Text.setText(mFirebaseRemoteConfig.getString(TEAM2)); 

    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()) { 
         Toast.makeText(MainActivity.this, "Vernieuwd", 
           Toast.LENGTH_SHORT).show(); 
         mFirebaseRemoteConfig.activateFetched(); 
        } else { 
         Toast.makeText(MainActivity.this, "Vernieuwen mislukt", 
           Toast.LENGTH_SHORT).show(); 
        } 
       } 
      }); 
} 
} 

的远程配置中的默认值:

<?xml version="1.0" encoding="utf-8"?> 
<defaultsMap> 
<entry> 
    <key>vernieuwen</key> 
    <value>true</value>- 
</entry> 

enter image description here 你们能告诉我,如果这甚至有可能,如果是这样,那是如何工作的?请让我知道你是否需要更多信息?

回答

1

Firebase Remote Config用于将简单的值发送到您的应用程序。它不能用于传送图像。

处理这种情况的典型方法是将图像从远程配置中分离出来。例如:您可以将它们存储在Firebase存储或Firebase托管中。

然后在远程配置你必须包含图像来显示的URL参数:

startupImage: https://yourapp.firebaseapp.com/path/to/todays/image.jpg 
相关问题