nextgis / android_gisapp

:dart: GIS application for Android
http://nextgis.com/nextgis-mobile
GNU General Public License v3.0
134 stars 107 forks source link

Crash on nextgis.com import layer #482

Closed BishopGIS closed 8 years ago

BishopGIS commented 8 years ago
java.lang.IllegalStateException: Expected an int but was BOOLEAN
    at android.util.JsonReader.nextInt(JsonReader.java:512)
    at com.nextgis.maplib.util.NGWUtil.readNGWFeatureFields(NGWUtil.java:439)
    at com.nextgis.maplib.util.NGWUtil.readNGWFeature(NGWUtil.java:403)
    at com.nextgis.maplib.map.NGWVectorLayer.createFromNGW(NGWVectorLayer.java:508)
    at com.nextgis.maplibui.service.LayerFillService$NGWVectorLayerFillTask.execute(LayerFillService.java:673)
    at com.nextgis.maplibui.service.LayerFillService$2.run(LayerFillService.java:253)
    at java.lang.Thread.run(Thread.java:818)
4eRTuk commented 8 years ago

Есть пример данных?

BishopGIS commented 8 years ago

Я пролазил по логу - нет там адреса, только сервер. Надо добавить для отладки что бы при импорте адрес в лог писался.

4eRTuk commented 8 years ago

Адрес должен писаться, если DEBUG включен.

BishopGIS commented 8 years ago

Debug включен - версия из феи. А полного адреса - нет.

BishopGIS commented 8 years ago

One more crash

java.lang.IllegalStateException: Expected BEGIN_OBJECT but was NULL
    at android.util.JsonReader.expect(JsonReader.java:310)
    at android.util.JsonReader.beginObject(JsonReader.java:293)
    at com.nextgis.maplib.datasource.GeoGeometryFactory.fromJsonStream(GeoGeometryFactory.java:69)
    at com.nextgis.maplib.util.GeoJSONUtil.readGeoJSONFeature(GeoJSONUtil.java:484)
    at com.nextgis.maplib.util.GeoJSONUtil.createLayerFromGeoJSONStream(GeoJSONUtil.java:434)
    at com.nextgis.maplib.map.VectorLayer.createFromGeoJson(VectorLayer.java:396)
    at com.nextgis.maplibui.service.LayerFillService$VectorLayerFillTask.execute(LayerFillService.java:390)
    at com.nextgis.maplibui.service.LayerFillService$2.run(LayerFillService.java:253)
    at java.lang.Thread.run(Thread.java:841)

Судя по логу там не внешний url а файл на шаре которую андроид прочитать не може:

00:33 D/nextgismobile: File Uri: content://com.android.externalstorage.documents/document/04EE-E814%3Awindows%2FBstSharedFolder%2Ffld_form.geojson

Это в 3 решиться. Но эксепшн надо ловить и не падать тут.