1. 준비물
이미지 갤러리를 열 수 있게 버튼을 만들어서 가져오겠습니다.
mGetImageFromGalleryButton = (ImageView) view.findViewById(R.id.btn_getgallery); | cs |
여기에 setOnClickListener를 달아줍니다.
mGetImageFromGalleryButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { } }); | cs |
onClick() 안에 원하는 것을 채워주겠습니다.
2. 권한 획득 후 실행
if(ActivityCompat.checkSelfPermission(getActivity(), Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { requestPermissions( new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, 2000); } else { startGallery(); } | cs |
이렇게 하면 권한 획득을 구현하게 됩니다. 권한이 있으면 자동으로 startGallery() 함수를 호출합니다.
지금까지 구현한 코드의 마지막에 써줘야 할 것이 있습니다.
return view; | cs |
이렇게 마무리 해주지 않으면 코드가 정상적으로 작동하지 않습니다.
갤러리를 열 때 필요한 코드가 또 있습니다.
private void startGallery() { Intent cameraIntent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI); cameraIntent.setType("image/*"); if (cameraIntent.resolveActivity(getActivity().getPackageManager()) != null) { startActivityForResult(cameraIntent, 1000); } } | cs |
이 부분의 코드가 있어야 Intent를 이용해서 열 수 있습니다. Intent 는 새 화면이라고 생각하시면 됩니다.
'Java' 카테고리의 다른 글
[android] 이미지 불러와서 편집하기 (0) | 2018.02.03 |
---|---|
[android] 이미지 갤러리 그 외 사용방법 (0) | 2018.02.03 |
[android] 비트맵 파일 retrofit 통신 예제 (0) | 2018.02.03 |
[android] Activity 구현 팁 (1) | 2018.02.03 |
[android] 경과한 시간에 따른 날짜 표현 방식 (0) | 2018.02.03 |