이번 시간에는 휴대폰에 저장되어 있는
사진을 가져와서 이미지 뷰(ImageView)에
보여주는 방법을 알아보겠습니다.
1. 실행 화면
2. 메인 화면 구성 activity_main.xml
3. 메인 코드 구현 MainActivity.java
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical"
tools:context=".MainActivity">
<androidx.appcompat.widget.AppCompatButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/selectImageBtn"
android:text="이미지 가져오기"
/>
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/imageView"
android:layout_marginTop="10dp"/>
</LinearLayout>
기존에 쓰던 방식은 startActivityForResult를 썼지만,
안드로이드 스튜디오에서 더 이상 사용할 수 없다고
나오기에 새로운 방식으로 구현을 했다.
public class MainActivity extends AppCompatActivity {
Uri uri;
ImageView imageView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button selectImageBtn = findViewById(R.id.selectImageBtn);
imageView = findViewById(R.id.imageView);
selectImageBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(Intent.ACTION_PICK);
intent.setType("image/*");
startActivityResult.launch(intent);
}
});
}
ActivityResultLauncher<Intent> startActivityResult = registerForActivityResult(
new ActivityResultContracts.StartActivityForResult(),
new ActivityResultCallback<ActivityResult>() {
@Override
public void onActivityResult(ActivityResult result) {
if( result.getResultCode() == RESULT_OK && result.getData() != null){
uri = result.getData().getData();
try {
Bitmap bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), uri);
imageView.setImageBitmap(bitmap);
}catch (FileNotFoundException e){
e.printStackTrace();
}catch (IOException e){
e.printStackTrace();
}
}
}
});
}
[안드로이드] 큐알코드(QR CODE) 스캔하는 방법 (0) | 2022.01.16 |
---|---|
[안드로이드] 나만의 큐알코드(QR CODE) 만드는 방법 (0) | 2022.01.15 |
[안드로이드] 이미지(Image) 두 손가락으로 확대(ZoonIn)하는 방법 (0) | 2022.01.13 |
[안드로이드] RecyclerView 아이템 클릭 상세화면 보여주는 방법 (1) | 2022.01.12 |
[안드로이드] Material DatePicker 달력(캘린더) 만드는 방법 (2) | 2022.01.11 |
댓글 영역