@burguy83

Как вывести картинку из json в apk?

Здравствуйте, прошу помочь начинающему android программисту.
Я делаю приложение с тестами. У меня приложение выводит вопрос и ответы. Хочу добавить функционал добавления в вопросам ещё фотографию. Вопросы берутся из файлика json. Мои мысли добавить ещё одну пару ключ-значение в файл json уже с картинками. Я предполагаю, что картинки лучше хранить в папке drawable. И начинаются вопросы
1. Какой указать путь к этой фотографии в файлике json?
{
"question": "Что обозначает изображенный на иллюстрации береговой информационный знак?",
"answers": [
"Максимальная скорость водоизмещающихся судов 15 км/ч",
"Ширина судового хода 15 м",
"Глубина реки 15 м",
"Высота надводного перехода 15 м"
],
"correct_answer": 3,
"question_category": "1",
"picture": "/res/drawable/v1b1.jpg" <------- это название фотографии. "этот путь будет относительный путь до неё?
}
2. Каким способом выводить картинки из json к вопросам да ещё чтоб они масштабировались.

Начал недавно изучать apk поэтому много глупых вопросов.
5df35e3985e6e707622525.png

3. Пытаюсь разобрать json строчку с фотографией picture по аналогии как разбираются другие. При запуске приложухи пропадают вопросы.

public void parseJson(String jsonData) {
        try {

            JSONObject jsonObjMain = new JSONObject(jsonData);
            JSONArray jsonArray = jsonObjMain.getJSONArray(AppConstants.JSON_KEY_QUESTIONNAIRY);

            for (int i = 0; i < jsonArray.length(); i++) {
                JSONObject jsonObj = jsonArray.getJSONObject(i);

                //String picture = jsonObj.getString(AppConstants.JSON_KEY_PICTURE);
                String question = jsonObj.getString(AppConstants.JSON_KEY_QUESTION);
                int correctAnswer = Integer.parseInt(jsonObj.getString(AppConstants.JSON_KEY_CORRECT_ANS));
                String categoryId = jsonObj.getString(AppConstants.JSON_KEY_CATEGORY_ID);


                Log.d("TAG", categoryId.toString());

                JSONArray jsonArray2 = jsonObj.getJSONArray(AppConstants.JSON_KEY_ANSWERS);
                ArrayList<String> contents = new ArrayList<>();
                ArrayList<String> backgroundColors = new ArrayList<>();
                for (int j = 0; j < jsonArray2.length(); j++) {
                    String item_title = jsonArray2.get(j).toString();
                    contents.add(item_title);
                    backgroundColors.add(AppConstants.COLOR_WHITE);
                }
                if (mCategoryId.equals(categoryId)) {
                    mItemList.add(new QuizModel(question, contents, correctAnswer, categoryId, backgroundColors));
                }
            }

            mQuestionsCount = mItemList.size();
            Collections.shuffle(mItemList);

            hideLoader();
            updateQuestionsAndAnswers();

        } catch (JSONException e) {
            e.printStackTrace();
            showEmptyView();
        }
    }


Эта строчка убивает //String picture = jsonObj.getString(AppConstants.JSON_KEY_PICTURE); если её расскоментить
  • Вопрос задан
  • 369 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы