Как создать json_template?

#java #android #geojson #osmbonuspack

#java #Android #geojson #osmbonuspack

Вопрос:

Я создаю некоторый код, и я видел пример здесь, на этом форуме, и мне трудно использовать geojson.

Всякий раз, когда он выдает ошибку в raw, потому что я не добавил этот json_template

 private String getGeoString() throws IOException{
    InputStream is = getResources().openRawResource(R.raw.json_template);
    Writer writer = new StringWriter();
    char[] buffer = new char [1024];
    try{
        Reader reader = new BufferedReader(new InputStreamReader(is, "UTF-8"));
        int n;
        while ((n= reader.read(buffer)) != -1){
            writer.write(buffer, 0, n);
        }
    }finally {
        is.close();
    }
    String jsonString = writer.toString();
    return jsonString();
}
 

Как я могу решить эту ошибку?

Комментарии:

1. вы хотите создать json в Android?

2. ТАК что это не форум, а сайт вопросов и ответов

3. Да, я хочу создать файл json на Android

Ответ №1:

Если вы хотите создать файл json в своем приложении, вы можете сначала создать json_template.json файл в папке app -> res -> raw.

В этот файл вы можете поместить весь ответ json, полученный при запросе.

Полезным инструментом для просмотра обхода json во вложенном ответе является JSON Pretty Print .

Тогда вы можете попробовать:

 public static String getGeoString(Context context) throws IOException {

   InputStream is = context.getResources().openRawResource(R.raw.json_template);
   Writer writer = new StringWriter();
   char[] buffer = new char[1024];

   try {
        Reader reader = new BufferedReader(new InputStreamReader(is, "UTF-8"));
        int n;
        while ((n = reader.read(buffer)) != -1) {
           writer.write(buffer, 0, n);
        }
   } finally {
       is.close();
    }

 // The local variable 'jsonString' can be inlined as below
 return writer.toString(); 
}
 

Это должно сработать. Надеюсь, это полезно.

Комментарии:

1. проблема в том, что я ничего не могу добавить внутри этого json, потому что я хочу добавить отметки, которые я делаю на карте. Как бы вы добавили эти точки?

2. планируете ли вы добавлять разметку на карту на основе данных geojson, загруженных из необработанного файла ресурсов? Если да, знакомы ли вы с Картами Google? вы можете взглянуть на GeoJsonDemoActivity.java , в демонстрационном приложении, предоставленном документацией Google Maps здесь . Он добавляет разметку на основе локального файла geojson. Надеюсь, это полезно.

3. дело не в том, что я хочу загружать разметки из файла geojson, я хочу создать разметки на своей карте и сохранить их в geojson, например: я щелкнул по экрану в определенной точке и дал координату этого типа, -5.013124, 13.0394958 , эта координата должна быть сохранена в файле geojson.geojson, и просто помня, что я использую открытую карту улиц