티스토리 뷰

Android/Intent

Intent 이미지 이동

parkho79 2019. 3. 20. 09:27
728x90



이번 포스팅에서는 intent 로 이미지를 이동하는 방법을 소개한다.

단, 용량의 제한이 있으니 주의하자!!

[Android/Intent] - Intent extras size limit

 

   

 

큰 용량이 아니라면 하단과 같이 ByteArray 를 이용할 수 있다.

 

Code

[Sender]

package com.parkho.intentimagesample;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.Bitmap.CompressFormat;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.view.View.OnClickListener;
import java.io.ByteArrayOutputStream;
public class PhMainActivity extends AppCompatActivity
{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Image 전송
OnClickListener explicitClickListener = new OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(getApplication(), PhReceiveActivity.class);
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.logo);
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmap.compress(CompressFormat.JPEG, 100, stream);
byte[] byteArray = stream.toByteArray();
intent.putExtra("image", byteArray);
startActivity(intent);
}
};
findViewById(R.id.btn_send).setOnClickListener(explicitClickListener);
}
}

 

[Receiver]

package com.parkho.intentimagesample;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.ImageView;
public class PhReceiveActivity extends AppCompatActivity
{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_receive);
byte[] byteArray = getIntent().getByteArrayExtra("image");
Bitmap image = BitmapFactory.decodeByteArray(byteArray, 0, byteArray.length);
ImageView ivImage = findViewById(R.id.iv_image);
ivImage.setImageBitmap(image);
}
}



위 예제는 하단 link 에서 확인할 수 있다.

https://github.com/parkho79/IntentImageSample



728x90

'Android > Intent' 카테고리의 다른 글

Intent extras size limit  (0) 2019.03.20
Intent (4) - Pending(보류) intent  (0) 2019.02.19
Intent (3) - Implicit(암시적) intent  (0) 2019.02.19
Intent (2) - Explicit(명시적) intent  (2) 2019.02.19
Intent (1)  (0) 2019.02.18
댓글