我如何获得用于颤振包的Android字符串资源?

我如何获得用于颤振包的Android字符串资源?,android,dart,flutter,Android,Dart,Flutter,我想读取另一个包中的stings.xml文件 我正在创建一个颤振包 我该怎么办 颤振示例应用程序字符串xml clientid 颤振包装 context.getString(R.stirng.client_id); // not found 您将无法访问flatter包中的xml文件 您可以创建一个文件Strings.dart class Strings { static const String client_id = "xxxxxxxx"; } 像这样使用它 Text(Str

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

我正在创建一个颤振包

我该怎么办

颤振示例应用程序字符串xml

clientid
颤振包装

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

您将无法访问
flatter
包中的
xml
文件

您可以创建一个文件
Strings.dart

class Strings {
  static const String client_id = "xxxxxxxx";
}
像这样使用它

Text(Strings.client_id, /*Code*/),
别忘了导入
Strings.dart

import '../Strings.dart';

在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\u令牌:

val accessToken: String = PluginUtilities.getResourceFromContext(context,"access_token")
我希望答案是有用的