如何获取颤振包的 Android 字符串资源



我想读取另一个包中的 stings.xml 文件。

我正在创建一个颤振包

我该怎么办?

颤振示例应用字符串 XML

  <string name="client_id">clientid</string>

颤振包

   context.getString(R.stirng.client_id); // not found

在 xml 文件中设置后,您可以从上下文中读取它:

将此类添加到您的插件中:

import android.content.Context
import androidx.annotation.NonNull
class PluginUtilities 
{
    companion object {
        @JvmStatic
        fun getResourceFromContext(@NonNull context: Context, resName: String): String {
            val stringRes = context.resources.getIdentifier(resName, "string", context.packageName)
            if (stringRes == 0) {
                throw IllegalArgumentException(String.format("The 'R.string.%s' value it's not defined in your project's resources file.", resName))
            }
            return context.getString(stringRes)
        }
    }
}

然后,当你需要来自资源的任何字符串时,你可以调用getResourceFromContext方法,例如我将从资源中获取access_token:

val accessToken: String = PluginUtilities.getResourceFromContext(context,"access_token")

我希望答案有用...

您将无法访问flutterxml文件

您可以创建文件Strings.dart

class Strings {
  static const String client_id = "xxxxxxxx";
}

并像这样使用它

Text(Strings.client_id, /*Code*/),

不要忘记import Strings.dart

import '../Strings.dart';

最新更新