You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取Android自定义资源目录text的路径?

解决Android自定义资源目录无法通过R类访问的问题

问题原因

Android的res目录仅支持系统预定义的资源类型子目录(如raw、drawable、layout、values等),自定义命名的text目录不会被编译工具扫描,因此不会生成对应的R.text引用,手动编写会触发Unresolved reference: text编译错误。

可行解决方案

方案1:将JSON文件移至res/raw目录

  1. 在res目录下创建raw子目录(如果不存在),将JSON文件放入其中
  2. 编译项目后,系统会自动生成R.raw.xxx的引用,可通过以下方式获取资源路径:
    val resourcePath = "android.resource://$packageName/${R.raw.your_json_file}"
    
    或者直接通过资源管理器读取文件内容:
    val inputStream = resources.openRawResource(R.raw.your_json_file)
    // 后续可将inputStream转换为字符串或其他格式处理
    

方案2:使用assets目录存放自定义资源

  1. 在main目录下创建assets子目录(如果不存在),在其中创建text子目录并放入JSON文件
  2. 通过AssetManager访问文件,示例代码:
    val inputStream = assets.open("text/your_json_file.json")
    // 读取文件内容
    

    注意:assets目录下的文件不会生成R类引用,且无法直接获取文件路径,只能通过输入流读取;若必须获取路径,需先将文件复制到应用私有存储目录,再读取本地路径。

内容的提问来源于stack exchange,提问作者Никита Попов

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 10:30:01