본문 바로가기
App Programming/Android Studio

[Android Studio] 공유하기 기능 (Android Sharesheet)

by goatlab 2022. 12. 22.
728x90
반응형
SMALL

다른 앱으로 간단한 데이터 보내기

 

Android는 인텐트 및 관련 extra를 사용하여 사용자가 선호하는 앱을 통해 빠르고 쉽게 정보를 공유할 수 있도록 한다. Android에서는 사용자가 두 가지 방식으로 앱 간에 데이터를 공유할 수 있다.

 

  • Android Sharesheet는 주로 앱 외부나 다른 사용자에게 직접 콘텐츠를 보내도록 설계되었다. 예를 들어, 친구와 URL을 공유한다.
  • Android 인텐트 리졸버는 데이터를 잘 정의된 작업의 다음 단계로 전달하는 데 가장 적합하다. 예를 들어, 앱에서 PDF를 열고 사용자가 선호하는 뷰어를 선택할 수 있도록 한다.

 

텍스트 콘텐츠 보내기

 

안드로이드 스튜디오에서 공유하기 버튼을 눌렀을때 각종 SNS, 문자 등으로 share를 구현한다.

 

xml

 

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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"
    tools:context=".MainActivity">

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/btn1"
        android:text="공유하기">
    </Button>

</androidx.constraintlayout.widget.ConstraintLayout>

 

java

 

package com.example.myapplication;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {

    Button btn1;

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

        btn1 = findViewById(R.id.btn1);

        btn1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent Sharing_intent = new Intent(Intent.ACTION_SEND);
                Sharing_intent.setType("text/plain");

                String Test_Message = "공유할 텍스트";

                Sharing_intent.putExtra(Intent.EXTRA_TEXT, Test_Message);

                Intent Sharing = Intent.createChooser(Sharing_intent, "공유하기");
                startActivity(Sharing);
            }
        });
    }
}

 

https://developer.android.com/training/sharing/send?hl=ko#java 

 

다른 앱으로 간단한 데이터 보내기  |  Android 개발자  |  Android Developers

인텐트를 구성할 때 인텐트가 '트리거'할 작업을 지정해야 합니다. Android에서는 추측할 수 있듯이 인텐트가 하나의 활동에서 데이터를 보내는 것임을 표시하는 ACTION_SEND를 포함하여 여러 작업을

developer.android.com

 

728x90
반응형
LIST