在android工作室中,我应该在哪里放置模型文件?以及如何从普通类而不是活动加载它



我尝试了许多不同的方法来加载android studio中的模型文件,甚至是简单的文本文件。我已经把它放在assets文件夹中,但无法从中读取,因为我的类不是活动类。我试着把文件和类放在一起,然后直接阅读,但没有成功。最近我试着从res/raw文件夹中读取它(raw是创建的),但我的应用程序仍然找不到该文件。这是我从堆栈上的另一个答案中得到的最新尝试,但没有成功,因为它仍然找不到模型。

String file = "res/raw/filteredsvmmodel2.model";
InputStream in this.getClass().getClassLoader().getResourceAsStream(file); 

我被这个问题卡住了,任何方法、导入、库或任何其他可以解决读取简单文件问题的方法都会有所帮助。

我已经把它放在assets文件夹中,但无法从中读取,因为我的类不是活动类。

Context传递给类(例如,在其构造函数中)。使用什么Context在一定程度上取决于您在哪里创建此类的实例,以及您打算保留这些实例多长时间。您可以使用触发类实例创建的Context(例如,ActivityService)。或者,您可以对其中一个调用getApplicationContext(),然后将该Context传递给您的构造函数。

最近我试着从res/raw文件夹中读取它(raw是创建的),但我的应用程序仍然找不到该文件。

资源是开发机器上的文件。它们不是设备上的文件。您可以通过对Resources对象调用openRawResource()来读取原始资源。您可以通过在Context上调用getResources()来获得其中一个。

相关内容

  • 没有找到相关文章

最新更新