我在哪里放置模型文件在android studio?以及如何从正常的类而不是活动中加载它?

时间:2016-07-18 21:32:44

标签: android file android-studio

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

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

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

1 个答案:

答案 0 :(得分:0)

  

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

Context传递给您的班级(例如,在其构造函数中)。您使用的Context取决于您创建此类实例的位置以及您打算保留这些实例的时间。您可以使用触发创建类“实例”的Context(例如ActivityService)。或者,您可以在其中一个上调用getApplicationContext(),然后将Context传递给您的构造函数。

  

最近我尝试从res / raw文件夹中读取它(raw已创建。)但我的应用程序仍无法找到该文件。

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