Notice
Recent Posts
Recent Comments
Link
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- ์ฝํ๋ฆฐ
- ์นด์นด์ค์ฝํ
- ๊ธฐ์ ๋ฉด์
- doitandroid
- Til
- CS
- ์๋ฐ
- ํผ๊ณต์ฑ๋ฆฐ์ง
- ์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ
- select
- join
- ์๋๋ก์ด๋์คํ๋์ค
- MySQL
- ํผ๊ณต๋จ
- ์ ์ฒ๊ธฐ
- ์ธํ๋ฐ
- ํฐ์คํ ๋ฆฌ์ฑ๋ฆฐ์ง
- groupby
- ์๋๋ก์ด๋
- ์คํฐ๋
- ํ๋ก๊ทธ๋๋จธ์ค
- ํผ๊ณตํ
- ์ฝํ
- Android
- SQL
- ์๋ฃ๊ตฌ์กฐ
- java
- Kotlin
- ์ค๋ธ์
- ์๊ณ ๋ฆฌ์ฆ
Archives
- Today
- Total
Welcome! Everything is fine.
[Android] ์ธํ ํธ(Intent) ์ดํด๋ณด๊ธฐ ๋ณธ๋ฌธ
728x90
๐ ์ธํ ํธ(Intent)๋?
- ๋ค๋ฅธ ์กํฐ๋นํฐ๋ฅผ ๋์ฐ๊ฑฐ๋ ๊ธฐ๋ฅ์ ๋์์ํค๊ธฐ ์ํ ์๋จ
- ์์ ์ํ์ ์ํด ์ฌ์ฉ๋๋ ์ผ์ข ์ ๋ช ๋ น์ด๋ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋ ์๋จ
- ์ฑ ๊ตฌ์ฑ ์์๊ฐ ํด์ผํ ์ผ์ ์ง์ ํ๋ ์๋จ
๐ ์ธํ ํธ ๊ธฐ๋ณธ ๊ตฌ์ฑ ์์
- ์ก์ (Action) : ์ํํ ๊ธฐ๋ฅ
- ๋ฐ์ดํฐ(Data) : ์ก์ ์ด ์ํ๋ ๋์์ ๋ฐ์ดํฐ
- ์์คํ ์ด ์ธํ ํธ์ ํฌํจ๋ ๋ฐ์ดํฐ์ ํฌ๋งท์ ํ์ธ ํ, ์ ์ ํ ์กํฐ๋นํฐ๋ฅผ ์๋์ผ๋ก ์ฐพ์ ๋์์ฃผ๊ธฐ๋ ํ๋ค.
- ์ธํ ํธ ๊ฐ์ฒด๋ ์ก์ ๊ณผ ๋ฐ์ดํฐ๋ฅผ ์ธ์๋ก ํ์ฌ ๋ง๋ค๊ฑฐ๋ ๋ค๋ฅธ ์ธํ ํธ๋ ํด๋์ค ๊ฐ์ฒด๋ฅผ ์ธ์๋ก ํ์ฌ ๋ง๋ ๋ค.
- ์) ์ธํ ํธ ๊ฐ์ฒด๋ฅผ ๋ง๋ค ๋ ACTION_VIEW(์ก์ )์ ์นํ์ด์ง ์ฃผ์(๋ฐ์ดํฐ)๋ฅผ ์ ๋ฌ → ๋จ๋ง ์์ ์ค์น๋ ์น๋ธ๋ผ์ฐ์ ํ๋ฉด์ด ๋จ๋ฉด์ ํด๋น ์นํ์ด์ง๋ฅผ ๋ณด์ฌ์ค๋ค.
โ ์ก์ ๊ณผ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๋ ๋ํ์ ์ธ ๊ฒฝ์ฐ
์์ฑ | ์ค๋ช |
ACTION_DIAL tel:01012345678 | ์ฃผ์ด์ง ์ ํ๋ฒํธ๋ฅผ ์ด์ฉํด ์ ํ๊ฑธ๊ธฐ ํ๋ฉด์ ๋ณด์ฌ์ค. |
ACTION_VIEW tel:01012345678 | ์ฃผ์ด์ง ์ ํ๋ฒํธ๋ฅผ ์ด์ฉํด ์ ํ๊ฑธ๊ธฐ ํ๋ฉด์ ๋ณด์ฌ์ค. URI ๊ฐ์ ์ ํ์ ๋ฐ๋ผ VIEW ์ก์ ์ด ๋ค๋ฅธ ๊ธฐ๋ฅ ์ํํจ. |
ACTION_EDIT content://contacts/people/2 | ์ ํ๋ฒํธ๋ถ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์๋ ์ ๋ณด ์ค์์ ID๊ฐ์ด 2์ธ ์ ๋ณด๋ฅผ ํธ์งํ๊ธฐ ์ํ ํ๋ฉด์ ๋ณด์ฌ์ค. |
ACTION_VIEW content://contacts/people | ์ ํ๋ฒํธ๋ถ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์๋ ๋ด์ฉ์ ๋ณด์ฌ์ค. |
๐ ๋ช ์์ ์ธํ ํธ(Explicit Intent)
์ธํ ํธ์ ํด๋์ค ๊ฐ์ฒด๋ ์ปดํฌ๋ํธ ์ด๋ฆ์ ์ง์ ํ์ฌ ํธ์ถํ ๋์์ ํ์คํ ์ ์ ์๋ ๊ฒฝ์ฐ
๐ ์์์ ์ธํ ํธ(Implicit Intent)
์ก์ ๊ณผ ๋ฐ์ดํฐ๋ฅผ ์ง์ ํ์ง๋ง ํธ์ถํ ๋์์ด ๋ฌ๋ผ์ง ์ ์๋ ๊ฒฝ์ฐ๋ฅผ ๋งํ๋ค. ์์์ ์ธํ ํธ๋ ์ก์ ๊ณผ ๋ฐ์ดํฐ ์ธ์๋ ์๋์ ๊ฐ์ด ์ฌ๋ฌ ๊ฐ์ง ์์ฑ์ด ์๋ค.
- ๋ฒ์ฃผ(Category) : ์ก์ ์ด ์คํ๋๋๋ฐ ์ถ๊ฐ์ ์ธ ์ ๋ณด๋ฅผ ๋ณด์ฌ์ค๋ค.
- ํ์ (Type) : ์ธํ ํธ์ ๋ค์ด๊ฐ๋ ๋ฐ์ดํฐ์ MIME ํ์ ์ ๋ช ์์ ์ผ๋ก ์ง์ ํ๋ค.
- ์ปดํฌ๋ํธ(Component) : ์ธํ ํธ์ ์ฌ์ฉ๋ ์ปดํฌ๋ํธ์ ์ด๋ฆ์ ๋ช ์์ ์ผ๋ก ์ง์ ํ๋ค.
- ๋ถ๊ฐ ๋ฐ์ดํฐ (Extra Data) : ์ธํ ํธ์ ์ถ๊ฐ์ ์ธ ์ ๋ณด๋ฅผ ๋ฃ์ ์ ์๋๋ก ๋ฒ๋ค ๊ฐ์ฒด๋ฅผ ๋ด๊ณ ์๋ค.
๐ ์ธํ ํธ๋ฅผ ์ด์ฉํ๋ ๋ํ์ ์ธ ๊ฒฝ์ฐ
โ ์ก์ ๊ณผ ๋ฐ์ดํฐ๋ฅผ ๋ฃ์ด ๋ค๋ฅธ ์ฑ์ ์กํฐ๋นํฐ๋ฅผ ๋์ฐ๋ ๊ฒฝ์ฐ
๋ค์ ์ฑ ์คํํ๋ฉด์ '์ ํ๊ฑธ๊ธฐ' ๋ฒํผ์ ๋๋ฅด๋ฉด ์ ๋ ฅ์์์ ์ ๋ ฅํ ์ ํ๋ฒํธ๋ก ์ ํ๋ฅผ ๊ฑธ ์ ์๋ ์์ ์ด๋ค.
MainActivity.java์ ์์ค์ฝ๋๋ ๋ค์๊ณผ ๊ฐ๋ค. ๋ฒํผ์ ๋๋ฅด๋ฉด ์ ๋ ฅ์์์ ์ ๋ ฅ๋ ๊ฐ์ ๊ฐ์ ธ์ ์ธํ ํธ์ ํ๋ฆฌ๋ฏธํฐ๋ก ์ ๋ฌํ๋ค.
import androidx.activity.result.ActivityResultLauncher;
import androidx.appcompat.app.AppCompatActivity;
import android.content.ComponentName;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class MainActivity extends AppCompatActivity {
ActivityResultLauncher<Intent> activityResultLauncher;
EditText editText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText = findViewById(R.id.editText);
Button button = findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String data = editText.getText().toString();
Intent intent =new Intent(Intent.ACTION_VIEW, Uri.parse(data));
startActivity(intent);
}
});
}
}
โ ์ปดํฌ๋ํธ ์ด๋ฆ์ ์ด์ฉํด ์๋ก์ด ์กํฐ๋นํฐ๋ฅผ ๋์ฐ๋ ๊ฒฝ์ฐ
์ ์๋๋ค...์ข ๋ ์ฐพ์๋ด์ผ๊ฒ ๋ค.
'Android' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Android] ๋ทฐ ๋ฐ์ธ๋ฉ ํ๊ธฐ (0) | 2022.05.14 |
---|---|
[Android] ํ๋๊ทธ(Flag) (0) | 2022.03.11 |
[Android] ์๋๋ก์ด๋ ์ฑ์ ๊ตฌ์ฑ์์, ํ๋ฉด(์กํฐ๋นํฐ) ์ ํํ๊ธฐ (0) | 2022.03.09 |
[Android] ์ธํ๋ ์ด์ (0) | 2022.03.09 |
[Android] ํ๋ก๊ทธ๋ ์ค๋ฐ (0) | 2022.03.06 |