ShapefileFeatureTable
을 사용하여 ArcGIS
을 사용하여지도에 모양 파일을 그려 봅니다. 하지만 모양 파일을로드 할 때 File not found
예외가 발생합니다.
이 내가 사용하는 코드입니다 :안드로이드에서 ArcGIS로 ShapefileFeatureTable을 사용할 때 파일을 찾을 수 없습니다.
ShapefileFeatureTable shapefileFeatureTable;
try {
shapefileFeatureTable = new ShapefileFeatureTable(Environment.getExternalStorageDirectory().getAbsolutePath() + "/shape.shp");
} catch (Exception e) {
e.printStackTrace();
Toast.makeText(this, "loading shape failed", Toast.LENGTH_SHORT).show();
return;
}
여기 캐치 모양 파일이 실제로 SDCARD에 존재한다는 것입니다. 내가 코드를 디버깅 및 예외를 던지고이 부분에 도달 :
static Geodatabase a(String var0) throws FileNotFoundException {
File var1 = new File(var0);
if(!var1.exists()) {
throw new FileNotFoundException(var1 + " does not exist.");
} else {
return new Geodatabase(nativeOpenShapefile(var0)); // this is where it happens
}
}
네이티브 nativeOpenShapefile
는 자바 부분은 완벽하게 보는 동안 파일을 볼 수 없을 것입니다.
D/dalvikvm : 스택 트레이스 확인로드 시도를 LIB /data/data/com.hmomeni.arcgis/lib/libruntimecore_java.so 0x4163daf0 D/dalvikvm : lib에는 공유 추가했습니다 /데이터/데이터/com.hmomeni.arcgis/lib/libruntimecore_java.so 0x4163daf0 W/System.err : java.lang.RuntimeException : 도형 파일을 찾을 수 없음 : /storage/sdcard0/shape.shp W/System.err : at com.esri .core.geodatabase.Geodatabase.nativeOpenShapefile (기본 메서드) W/System.err : 에서 com.esri.core.geodatabase.Geodatabase.a (원본 파일 : 126) 승/System.err : at com.esri. 기음 ore.geodatabase.ShapefileFeatureTable (SourceFile의 79). W/System.err에 : com.hmomeni.arcgis.MainActivity.initView (MainActivity.java:32) W/System.err의 장소 : com.hmomeni.arcgis에서 .MainActivity.onCreate (MainActivity.java:21) W/System.err에 : android.app.Activity.performCreate에서 (Activity.java:5031) W/System.err에 :
에서 android.app.Instrumentation. callActivityOnCreate (Instrumentation.java:1082) W/System.err에 : android.app.ActivityThread.performLaunchActivity에서 (ActivityThread.java:2038) W/System.err에 : android.app.ActivityThread.handleLaunchActivity (ActivityThread에서. java : 2099),691,363,210 W/System.err의 일 : android.app.ActivityThread.access $ 600 (ActivityThread.java:134) W/System.err의 일 : android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1207) W/System.err : android.os.Handler.dispatchMessage (Handler.java:99) 승/System.err :
at android.os.Looper.loop (Looper.java:137) 승/System.err : 에서 android.app.ActivityThread.main (ActivityThread.java:4797) W/System.err : java.lang.reflect.Method.invokeNative (기본 메서드)에서/System.err : 에서 java.lang .reflect.Method.invoke (Method.java:511) W/System.err : at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:776) W/System.err에 : com.android.internal.os.ZygoteInit.main (ZygoteInit.java:543) W/System.err의 장소 : dalvik.system.NativeStart.main에서 (원시 메소드)
무엇이 문제 일 수 있습니까?