상세 컨텐츠

본문 제목

[안드로이드] 클립보드(Clipboard) 텍스트 복사(Copy)&붙여넣기(paste) 하는 방법

안드로이드

by aries574 2022. 4. 15. 13:35

본문


이번 시간에는 텍스트를 길게 누르면 복사를

해서 원하는 부분에 붙여 넣기 하는 방법을

알아보겠습니다. 


목차

1. 실행 화면

2. 메인 화면 구성 activity_main.xml

3. 메인 코드 구현 MainActivity.java


1. 실행 화면

 

2. 메인 화면 구성 activity_main.xml

 - 설명 - 

 1. TextView는 사용자가 복사할 글자입니다.

 2. EditText는 사용자가 복사한 글자를 붙여 넣기

해 볼 수 있습니다. 

<RelativeLayout 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:id="@+id/mainLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">


    <TextView
        android:id="@+id/textView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:gravity="center"
        android:text="길게 눌러주세요"
        android:textSize="40sp" />

    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/textView"
        android:layout_marginTop="30dp"
        android:gravity="center"
        android:hint="붙여넣기 해주세요"
        android:textSize="30sp" />

</RelativeLayout>

 

 

3. 메인 코드 구현 MainActivity.java

- 설명 -

 1. onLongClick: TextView를 길게 클릭하면 실행되는 메서드입니다.

 2. 길게 클릭하면 클립보드에 데이터를 저장하는 기능을 구현했습니다.

 3. ClipData.newPlainText안에 저장할 데이터가 들어갑니다. 

 4. EditText를 길게 클릭하면 클립보드에 저장한 데이터를 불러올 수 있습니다.

public class MainActivity extends AppCompatActivity {

    TextView textView;

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

        //초기화
        textView = findViewById(R.id.textView);

        //텍스트뷰 길게 클릭 이벤트
        textView.setOnLongClickListener(new View.OnLongClickListener() {
            @Override
            public boolean onLongClick(View view) {

                String text = textView.getText().toString();

                createClipData(text);

                return false;
            }
        });
    }//onCreate


    /**
     * 클립데이터 생성
     */
    public void createClipData(String message){
        //클립보드 복사기능
        ClipboardManager clipboardManager = (ClipboardManager) getApplicationContext().
                getSystemService(getApplicationContext().CLIPBOARD_SERVICE);
        ClipData clipData = ClipData.newPlainText("message", message);

        //클립보드에 배치
        clipboardManager.setPrimaryClip(clipData);

        Toast.makeText(this, "복사되었습니다.", Toast.LENGTH_SHORT).show();
    }

}//MainActivity

2022.04.14 - [안드로이드] - [안드로이드] 레이아웃 배경 색상 애니메이션 적용하는 방법

 

[안드로이드] 레이아웃 배경색상 애니메이션 적용하는 방법

이번 시간에는 레이아웃 배경 색상에 애니메이션 적용하는 방법에 대하여 알아보겠습니다. 목차 1. 실행 화면 2. 색상 파일 만들기 3. 메인 화면 구성 activity_main.xml 4. 메인 코드 구현 MainActivity.java

aries574.tistory.com

2022.04.13 - [안드로이드] - [안드로이드] RecyclerView 다중 화면 적용하는 방법

 

[안드로이드] RecyclerView 다중 화면 적용하는 방법

RecyclerView를 사용하는 방법은 데이터를 보여줄 화면(xml) 하나와 어뎁터를 통해 데이터와 화면을 연결해서 RecyclerView에 보여줍니다. 만약에 데이터별로 각자 다른 화면에 보여주고 싶다면 어떻게

aries574.tistory.com

2022.04.12 - [안드로이드] - [안드로이드] 프래그먼트(Fragment)에서 액티비티(Activity) 데이터 전달하는 방법

 

[안드로이드] 프래그먼트(Fragment)에서 액티비티(Activity) 데이터 전달하는 방법

이번 시간에는 프래그먼트에서 액티비티로 데이터 전달하는 방법을 알아보겠습니다. 1. 실행 화면 2. 인터페이스 만들기 3. 프래그먼트 만들기 4. 메인 화면 구성 activity_main.xml 5. 메인 코드 구현 M

aries574.tistory.com

반응형

관련글 더보기

댓글 영역