2016-05-13 2 views
-5

Я действительно новичок в кодировании Android, поэтому, пожалуйста, не кричите на меня>. <Не удается загрузить изображение в Android-приложение

Я следую онлайн-гиду, объясняя, как закодировать Android-игру. Хотя я застреваю при загрузке изображений, я просто не могу понять это правильно.

Я использую IntelliJ Idea как свою IDE. Образом все каталоги сортируются по умолчанию можно увидеть на следующем рисунке: Folders Layout

я нарисовал очень некрасиво беспорядок на краски и добавить его в каталогах с помощью this guide. Он сделал что-то с моим изображением и добавил файл menu.png в каждый каталог.

В коде я пытаюсь загрузить изображение с помощью AssetManager с помощью метода .open(), используя строку «menu.png» (AssetManager получен из основного действия с использованием метода getAssets()) , Тем не менее, я продолжаю получать исключение IO, и я понятия не имею, как его исправить. Я посмотрел несколько руководств в Интернете, но я все еще не могу это сделать. Помоги мне, пожалуйста!

P.S. Я не носитель языка, извините за мой английский. Спасибо всем, у меня хороший день!

+1

Это не гуманистическая наука. Вы не говорите, что вы делаете. Вы показываете свой код. Мы можем это прочитать. –

+0

Пока что нечего показать. Все, что имеет значение, это использование assets.open ("menu.png"); где активы - это AssetManager, полученный из getAssets() в главном событии. Я получаю исключение IO. Дело в том, что я не уверен, где/как поставить изображение в меню. – yarinch

+1

прочитал документ: https://developer.android.com/tools/projects/index.html – njzk2

ответ

1

Чтобы загрузить изображение, вам необходимо использовать намерение Android, которое приведет вас к приложению загрузчика изображений по умолчанию (предоставлен производителем телефона).

Сначала создайте намерение. Это должно быть, когда пользователь нажимает кнопку или аналогичное событие.
// Creates an Intent to pick a photo Intent i = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI); Затем выполнить намерение:
// ARGS: the intent, a key to access later startActivityForResult(i, 1);

Вы должны теперь установлена ​​onActivityResult(int requestCode, int resultCode, Intent data) (подробные инструкции here). Вот некоторые примеры кода:

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    if (requestCode == 1 && resultCode == RESULT_OK && data != null) { 
     Uri selectedImage = data.getData(); 
     try { 
      // Do whatever you want with this bitmap (image) 
      Bitmap bitmapImage = MediaStore.Images.Media.getBitmap(this.getContentResolver(), selectedImage); 
      Log.i("Image Path", selectedImage.getPath()); 
     } catch (FileNotFoundException e) { 
      e.printStackTrace(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
    } 
} 

Вот оно! Делайте все, что хотите, с созданным растровым изображением. Помните, что этот метод идет прямо в ваш класс.

+0

Спасибо большое! За все время вы инвестировали и свою помощь! :) – yarinch

+0

Без проблем, рад, что это помогло! – AkashBhave

Смежные вопросы