Android Studios 1.0
我在Android工作室的app / src / main / assets文件夹中添加了一个文件,但它仍然不停地抛出
unreported exception FileNotFoundException; must be caught or declared to be thrown
所以我尝试使用ERSI ArcGIS API创建一个Geodatabase类(但我相信这个问题与此无关)。我已经尝试将文件(basemap.geodatabase)放在各种不同的位置,在app文件夹中,在src,main,assets中,在很多不同的位置,但IDE不会识别它。我甚至尝试过从计算机上的C:/驱动器中引用它,但这也不会起作用。我已经读过有这个问题的不同人,但他们的解决方案对我来说并不起作用。以下是我在文件位于src / main / assets文件夹时使用的代码:
Geodatabase geodatabase = new Geodatabase("/basemap.geodatabase");
我也试过了,
Geodatabase geodatabase = new Geodatabase("{/basemap.geodatabase}");
和
Geodatabase geodatabase = new Geodatabase("/src/main/assets/basemap.geodatabase");
以及所有的不同变体。
根据app.iml文件,第一行应该是正确的,因为:
<option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />
但它一直在抛出FileNotFound错误。 如何让IDE识别此文件以便我可以使用它?
答案 0 :(得分:0)
好吧,不用担心我会回答我自己的问题,我找到了解决方案。
我还不太确定为什么Gradle没有将.geodatabase文件打包在包中,但解决方法是将文件放在PHYSICAL设备上,然后放在从那里引用它的代码中,我知道它就是这样:
try {
geodatabase = new Geodatabase("/sdcard/Geodatabase/basemap.geodatabase");
} catch (FileNotFoundException e) {
Log.e("ERROR", "File Not found");
e.printStackTrace();
}
所以我将文件放在平板电脑上的文件层次结构中的位置(/sdcard/Geodatabase/basemap.geodatabase"),程序在那里找到它。