안드로이드 자바

[Java][Android] Sharesheet 방식으로 데이터 공유하기

teamnova 2025. 6. 3. 12:27
728x90

안녕하세요

오늘은 Sharesheet 방식을 사용해 데이터를 공유하는 방법에 대해 알아보겠습니다.

 

우선 안드로이드 공식문서에, Sharesheet에 대한 설명으로

  • Android Sharesheet는 주로 앱 외부나 다른 사용자에게 직접 콘텐츠를 보내도록 설계되었습니다. 예를 들어, 친구와 URL을 공유합니다.

이렇게 나와있는것을 확인할 수 있습니다.

 

전체 코드입니다.

 

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:padding="24dp"
  android:gravity="center">

  <Button
    android:id="@+id/btnShare"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="공유하기 (Share Sheet)" />
</LinearLayout>

 

 

MainActivity.java

public class MainActivity extends AppCompatActivity {

  Button btnShare;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    btnShare = findViewById(R.id.btnShare);

    btnShare.setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View v) {

        // 공유할 텍스트
        String message = "Sharesheet로 공유하기 실습";

        // 공유 인텐트 생성
        Intent shareIntent = new Intent(Intent.ACTION_SEND);
        shareIntent.setType("text/plain");  // MIME 타입
        shareIntent.putExtra(Intent.EXTRA_TEXT, message);

        // 공유 시트 띄우기
        startActivity(Intent.createChooser(shareIntent, "공유할 앱을 선택하세요"));
      }
    });
  }
}

 

 

시연 영상입니다.