如何获取资源';使用Android库的应用程序的路径?

如何获取资源';使用Android库的应用程序的路径?,android,android-studio,kotlin,sdk,android-library,Android,Android Studio,Kotlin,Sdk,Android Library,我使用的是Android库(SDK A),它有一个自定义选项 此选项的使用方式与下面的示例类似: val-sdk=sdk_A() sdk.customizeFont(“font/myFont.ttf”) sdk.show() 这意味着该库将在fonts文件夹中查找“myFont.ttf”,以显示使用我的自定义字体的内容 我的主要目标是创建一个使用该库的新Android库(SDK B),并让我的库的用户能够访问该定制,他们需要将自定义字体放在我的库可以访问的地方 我的库应该这样使用: val-s

我使用的是Android库(SDK A),它有一个自定义选项

此选项的使用方式与下面的示例类似:

val-sdk=sdk_A()
sdk.customizeFont(“font/myFont.ttf”)
sdk.show()
这意味着该库将在fonts文件夹中查找“myFont.ttf”,以显示使用我的自定义字体的内容

我的主要目标是创建一个使用该库的新Android库(SDK B),并让我的库的用户能够访问该定制,他们需要将自定义字体放在我的库可以访问的地方

我的库应该这样使用:

val-sdk=sdk_B()
customizeFont(“font/myFont.ttf”)//它可以有另一种方法,比如资源id或类似的东西
sdk.show()
综上所述,SDK B的用户将有一个自定义字体,并将使用SDK进行设置。来自SDK B的customizeFont方法,SDK B将使用SDK a的SDK.customizeFont方法设置此相同字体

我不能更改SDK A,我可以更改SDK B并告诉用户如何使用它

SDK A:需要使用类似“font/myFont.ttf”的路径才能知道字体的位置

SDK B:需要知道字体在哪里设置SDK A上的路径,不需要使用相同的方法

有谁知道如何解决这个问题吗?

多亏了:


为了清楚起见,字体文件位于模块中的
main/assets/font/myFont.ttf
。然后将
font/myFont.ttf
传递给
setTextFontName()


在使用SDK B的测试应用程序上,我将
myFont.ttf
放在
app/main/src/main/assets/font
中,并使用
SDK\u B.setTextFontName(“font/myFont.ttf”)
“如何获取资源路径”——资源在Android设备上没有文件系统路径。“有人对如何解决它有好主意吗?”--如何解决什么?您已经编写了看起来是解决方案的内容:“SDK B的用户将拥有一个自定义字体,并将使用SDK B中的SDK.customizeFont方法进行设置,SDK B将使用SDK a的SDK.customizeFont方法设置相同的字体”。但是,这表明我不明白问题出在哪里。当SDK B的用户使用SDK_B.customizeFont(“font/myFont.ttf”)时,SDK B使用SDK_a.customizeFont(“font/myFont.ttf”),SDK a显示一条font not found消息,我猜SDK a是在SDK B的文件上查找字体,而不是在用户的文件上。你知道我的意思吗?因为我们现在知道了“SDK A”是什么,所以我们不能评论它的
customizeFont()
函数期望作为参数的内容。SDK没有文件,所以“SDK A正在寻找SDK B文件上的字体”在Android中没有真正的意义。您需要阅读SDK A的文档,或联系其开发人员,以了解
customizeFont()
的确切需求。或者,也许告诉我们SDK A实际上是什么(带有链接和其他东西),也许我们可以通过这种方式提供一些建议。。。我在那页上没有看到
customizeFont()
。我看到了许多与字体相关的方法,例如
setTextFontName()
。其中的条目表示该参数是应用程序的
资产/
内的相对路径。因此,应用程序或SDK B需要
main/assets/font/myFont.ttf
才能将
font/myFont.ttf
用作参数值。要清楚,字体文件位于模块中的
main/assets/font/myFont.ttf
。然后将
font/myFont.ttf
传递给
setTextFontName()