이미지의 임의 영역에 대한 클릭 결정 방법

하고자 하는 일



이미지를 클릭하여 특정 범위라면 아이템을 얻도록 결정하고 싶습니다.
아래 사이트를 참고로 구현해 보았다.

걸린 부분



try와 catch



try는 java에서 예외를 처리하는 기본 조작 방법입니다.

try{
例外をスローする可能性のある処理
}
catch(例外クラス型 引数名){
例外処理(例外ハンドラ)
} 
finally {
  最後に必ず実行される処理  //fainallyは無くても実行できる
}

이번 try내에서 실행하고 있는 것은 Inputstream에서 파일을 열어 mBitmap에 건네주고 있다. assets 폴더(아래에서 설명) 안에 지정한 파일이 없을 때 등에 catch 내의 코드가 실행된다.
참고로 하고 있던 코드에서는 예외가 발생했을 때에 아무것도 실행하지 않게 되어 있었지만, e.printStackTrace()를 실행하는 것으로 표준 출력에 원인이 출력된다.
try {
   InputStream is = getResources().getAssets().open("sirokuma.jpg");
   mBitmap = BitmapFactory.decodeStream(is);
} catch (Exception e) {
   e.printStackTrace();
}

InputStream is = getResources().getAssets().open("sirokuma.jpg");



Inputstream이란?



바이너리 파일을 읽는 클래스. is는 이니셜을 취하여 명명된다.

Assets 폴더



\AndroidStudioProjects\Test_Application(앱 이름)\app\src\main 안에 있는 폴더입니다. 복수의 화상 파일 등을 정리해 둘 수 있다. res/drawable과 무엇이 다른지 잘 모른다.


여기에 넣어두면 getResources().getAssets().open("파일명")으로 열 수 있다.
복수의 파일을 읽는 등, 몇번이나 기술하는 경우는 getResources(). getAssets()의 부분을 AssetManager로서 정리하면 가독성이 높아진다.
AssetManager assetManager = getResources().getAssets();
assetManager.open("파일 1");
assetManager.open("파일 2");

Assets 폴더를 만드는 방법



main 파일을 선택하고 오른쪽 클릭/New/Folder/Assets Folder라고 하면 작성해 준다.


참고로 한 사이트
h tp : // 펜탄. 인후 / 안 d로이 d / 아 p / 사 mp ぇ / 아세 t_ 마나게 r. HTML

좋은 웹페이지 즐겨찾기