✅ 텍스트 공유하기
⚡ ACTION_SEND 인텐트를 생성
- "공유할 메시지" 부분에 원하는 텍스트를 넣을 수 있음
- 비슷한 방식으로 다양한 콘텐츠(이미지, url 등) 공유 가능
val sendIntent = Intent().apply {
action = Intent.ACTION_SEND
putExtra(Intent.EXTRA_TEXT, "공유할 메세지")
type = "text/plain"
}
⚡ Intent.createChooser()를 이용해 Intent 객체를 전달
- startActivity로 실행
val shareIntent = Intent.createChooser(sendIntent, null)
startActivity(shareIntent)
✅ 적용하기
버튼을 클릭 시, 텍스트 공유창이 나오도록 적용
⚡ shareButton에 setOnClickListener 이용
👀 클릭 시, 중괄호 안의 부분이 실행
👀 그 안에 공유 인텐트를 생성, 실행하도록 코드 추가
val shareButton = findViewById<FloatingActionButton>(R.id.floatingActionButton)
shareButton.setOnClickListener {
val sendIntent = Intent().apply {
action = Intent.ACTION_SEND
putExtra(Intent.EXTRA_TEXT, "공유할 메세지")
type = "text/plain"
}
val shareIntent = Intent.createChooser(sendIntent, null)
startActivity(shareIntent)
}
✅ 오늘의 문제 : 입력한 메모를 공유하기
👀 MemoActivity.kt
package com.comu.android.secretmemo
import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.EditText
import com.google.android.material.floatingactionbutton.FloatingActionButton
class MemoActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_memo)
val shareButton = findViewById<FloatingActionButton>(R.id.floatingActionButton)
val editText = findViewById<EditText>(R.id.editText)
shareButton.setOnClickListener {
val sendIntent = Intent().apply {
val text = editText.text.toString()
action = Intent.ACTION_SEND
putExtra(Intent.EXTRA_TEXT, text)
type = "text/plain"
}
val shareIntent = Intent.createChooser(sendIntent, null)
startActivity(shareIntent)
}
}
}
👀 activitymemo.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MemoActivity">
<EditText
android:id="@+id/editText"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="32dp"
android:ems="10"
android:gravity="start|top"
android:inputType="textMultiLine"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0" />
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/floatingActionButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:clickable="true"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/editText"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintHorizontal_bias="0.99"
app:layout_constraintVertical_bias="0.99"
app:srcCompat="@android:drawable/ic_menu_search" />
</androidx.constraintlayout.widget.ConstraintLayout>
👀 실행결과
https://codemate.kr/@guswlsdl04/모각코-코틀린-기초편-14일차
'💻 Extracurricular > 코뮤니티 모각코' 카테고리의 다른 글
모각코 < Kotlin 기초편 > -후기 (0) | 2022.03.14 |
---|---|
모각코 < Kotlin 기초편 > - 15일차 (0) | 2022.03.14 |
모각코 < Kotlin 기초편 > - 13일차 (0) | 2022.03.14 |
모각코 < Kotlin 기초편 > - 12일차 (0) | 2022.03.14 |
모각코 < Kotlin 기초편 > - 11일차 (0) | 2022.03.09 |