将多个共享首选项键添加到 flipper 共享首选项插件

Adding multiple shared preferences keys to the flipper shared preferences plugin

我想知道如何在 Flipper 共享首选项查看器插件中显示多个共享首选项键。 KEY_FOOKEY_BARKEY_BAZ 是共享首选项文件的字符串常量。

类似

class App: Application() {

     override fun onCreate() {
        super.onCreate()
        setupFlipper()
     }
    
     private fun setupFlipper() {
         if (BuildConfig.DEBUG && FlipperUtils.shouldEnableFlipper(this)) {
            val client = AndroidFlipperClient.getInstance(this)
            client.addPlugin(InspectorFlipperPlugin(this, DescriptorMapping.withDefaults()))

         
            client.addPlugin(
                SharedPreferencesFlipperPlugin(applicationContext, KEY_FOO)
            )

            client.addPlugin(
                SharedPreferencesFlipperPlugin(applicationContext, KEY_BAR)
            )

            client.addPlugin(
                SharedPreferencesFlipperPlugin(applicationContext, KEY_BAZ)
            )

            client.start()
         }
     }

}

检查 SharedPreferencesFlipperPlugin 的构造函数。存在第二个选项,它需要一个 SharedPreferencesDescriptor 的列表。

下面的解决方案。

class App: Application() {

     override fun onCreate() {
        super.onCreate()
        setupFlipper()
     }
    
     private fun setupFlipper() {
         if (BuildConfig.DEBUG && FlipperUtils.shouldEnableFlipper(this)) {
            val client = AndroidFlipperClient.getInstance(this)
            client.addPlugin(InspectorFlipperPlugin(this, DescriptorMapping.withDefaults()))

            val keys = mutableListOf(
                KEY_FOO,
                KEY_BAR,
                KEY_BAZ,
            )

            var descriptors: List<SharedPreferencesFlipperPlugin.SharedPreferencesDescriptor> = keys.map {
                SharedPreferencesFlipperPlugin.SharedPreferencesDescriptor(it, MODE_PRIVATE)
            }

            client.addPlugin(
                SharedPreferencesFlipperPlugin(applicationContext, descriptors)
            )

            client.start()
         }
     }

}