1. ๋ฐ์ดํฐ ์ ๋ฌ
- ์ธํ ํธ์ ์ปดํฌ๋ํธ ์คํ์ ์์ฒญํ ๋ ๋ฐ์ดํฐ๋ฅผ ํจ๊ป ์ ๋ฌํ๋ ค๋ฉด ์์คํธ๋ผ ๋ฐ์ดํฐ(์ธํ ํธ์ ๋ด๋ ๋ถ๊ฐ์ ๋ณด) ์ด์ฉ
- ์ด๋ฆ๊ณผ ๊ฐ์ ์์ผ๋ก ๋ ์ ๋ณด๋ฅผ ์ ๋ฌ
2. Extras์ ๊ฐ์ ์ ์ฅํ๋ ๋ฉ์๋
Intent putExtra(String name, int value)
Intent putExtra(String name, String value)
Intent putExtra(String name, boolean value)
3. Extras์ ์ ์ฅ๋ ๊ฐ์ ์ฝ๋ ๋ฉ์๋
int getIntExtra(String name, int defaultValue)
String getStringExtra(String name)
boolean getBooleanExtra(String name, boolean defaultValue)
(๋ฐ์ดํฐ ์ ๋ ฅ๋ฐ๊ณ ์ธ๋ฒ์งธ ์กํฐ๋นํฐ์ ๋ฐ์ดํฐ ์ ๋ฌํ๋ ์ฝ๋)
1) activity_first.xml์์ ์ฝ๋ ์ถ๊ฐ
(๋ฐ์ดํฐ๋ฅผ ์
๋ ฅ๋ฐ์ ์ ์๋ EditText ์์ ฏ๊ณผ ์ธ๋ฒ์งธ ์กํฐ๋นํฐ๋ฅผ ํธ์ถํ Button ์์ ฏ์ ์ํ์ผ๋ก ๋ฐฐ์ด์ํค๋
LinearLayout ์ถ๊ฐ)
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/edit_data"
android:layout_weight="1"
android:hint="๋ฐ์ดํฐ ์
๋ ฅ"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="์ธ๋ฒ์งธ ์กํฐ๋นํฐ์ ๋ฐ์ดํฐ ์ ๋ฌ"
android:id="@+id/buttonThirdActivity"/>
</LinearLayout>
2) FirstActivity.kt ํ์ผ์ ์ธ ๋ฒ์งธ ์กํฐ๋นํฐ ์์์ํค๊ธฐ ์ํ ๋ช ์์ ์ธํ ํธ ๊ฐ์ฒด ์์ฑ ์ฝ๋ ์ถ๊ฐํด์ฃผ๊ธฐ
(ํด๋น ๋ฒํผ์ด ํด๋ฆญ๋์์ ๋ ์ธํ
ํธ ๊ฐ์ฒด ์์ฑ, id๊ฐ edit_data์ธ EditText ๊ฐ์ฒด์ ์
๋ ฅ๋ ๋ฌธ์์ด ๊ฐ์ ธ์์
์ด๋ฅผ ์์์ ์์ฑํ ์ธํ
ํธ ๊ฐ์ฒด์ Extra์ "dataFromFirstActivity" ์ด๋ฆ์ผ๋ก ์ค์ ,
startActivity() ์ ํ๋ผ๋ฏธํฐ๋ก ์ธํ
ํธ ๊ฐ์ฒด ์ ๋ฌ)
//๋ช
์์ ์ธํ
ํธ
val btn_call3 = findViewById<Button>(R.id.buttonThirdActivity)
btn_call3.setOnClickListener {
//id๊ฐ edit_data์ธ EditText ๊ฐ์ฒด
val edit_text = findViewById<EditText>(R.id.edit_data)
//๊ทธ ๊ฐ์ฒด ์์ ์
๋ ฅ๋ ๋ฌธ์์ด ๊ฐ์ ๊ฐ์ ธ์ด
val strData = edit_text.text.toString()
//์ธํ
ํธ ๊ฐ์ฒด ์์ฑ (์ธ๋ฒ์งธ ์กํฐ๋นํฐ๋ฅผ ์ฌ๊ธฐ์ ์คํํ ๊ฑฐ๋ค)
val intent = Intent(this, ThirdActivity::class.java)
//๊ฐ์ ธ์จ ๋ฌธ์์ด ๊ฐ์ ์์์ ์์ฑํ ์ธํ
ํธ ๊ฐ์ฒด์ Extra์ ์ค์ (์ด๋ฆ์ dataFromFirstActivity๋ก ์ค์ )
intent.putExtra("dataFromFirstActivity",strData)
//startActivity()์ ํ๋ผ๋ฏธํฐ๋ก ์ธํ
ํธ ๊ฐ์ฒด ์ ๋ฌ
startActivity(intent)
}
3) activity_third.xml ํ์ผ ์์
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".ThirdActivity"
android:gravity="center"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="์ธ๋ฒ์งธ ์กํฐ๋นํฐ์
๋๋ค."
android:id="@+id/textView2"/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/editText"
android:inputType="text"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="๋ซ๊ธฐ"
android:id="@+id/buttonThirdActivity"/>
</LinearLayout>
4) ThirdActivity.kt ํ์ผ์ ์ฝ๋ ์ถ๊ฐ
(ThirdActivity๋ก ์ ๋ฌ๋ ๋ฐ์ดํฐ๋ฅผ Extra์์ ๊ฐ์ ธ์ EditText๋ทฐ์ ํ์)
(๋ฒํผ์ด ํด๋ฆญ๋๋ฉด finish() ๋ฉ์๋ ํธ์ถํด ํ์ฌ์ ์กํฐ๋นํฐ ์ข
๋ฃ๋๋ ๋ฒํผ ํด๋ฆญ ์ด๋ฒคํธ ์ฒ๋ฆฌ๊ธฐ ์ถ๊ฐ)
package com.example.acrivityintent2
import android.os.Bundle
import android.widget.Button
import android.widget.EditText
import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
class ThirdActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
setContentView(R.layout.activity_third)
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main)) { v, insets ->
val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom)
insets
}
//"dataFromFirstActivity" ๋ ํค๊ฐ. ํค๊ฐ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ค๋ ๊ฒ
val strData = intent.getStringExtra("dataFromFirstActivity")
val editText = findViewById<EditText>(R.id.editText)
//set -> ๋ฐ์์จ ๋ฐ์ดํฐ๋ฅผ ๋ฃ์ด์ค. (๋ฟ๋ ค์ค?)
editText.setText(strData)
val btn_close = findViewById<Button>(R.id.buttonThirdActivity)
btn_close.setOnClickListener {
finish()
}
}
}'Android Studio' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| ์๋๋ก์ด๋ ์คํ๋์ค TTS ๊ด๋ จ ์ฝ๋ (0) | 2024.04.08 |
|---|---|
| [Android ์ฑ๊ฐ๋ฐ ์ ๋ฌธ] ์กํฐ๋นํฐ ์๋ช ์ฃผ๊ธฐ (# ์ถ๊ฐํ๊ธฐ) (0) | 2024.03.21 |
| [Android ์ฑ๊ฐ๋ฐ ์ ๋ฌธ] Intent (# ์ถ๊ฐํ๊ธฐ) (0) | 2024.03.20 |
| [Android ์ฑ๊ฐ๋ฐ ์ ๋ฌธ] ์กํฐ๋นํฐ (# ์ถ๊ฐํ๊ธฐ) (0) | 2024.03.20 |
| [Android Studio] Margin, Padding, Gravity, ์คํ์ผ ๋ฐ ํ ๋ง (# ์ถ๊ฐํ๊ธฐ) (0) | 2024.03.19 |