티스토리 뷰
1. 액티비티 A에서는 인텐트 객체를 만들고 put...메소드를 이용해 부가데이터를 넣어준다.
2. startActivityForResult 메소드를 호출한다.
3. 액티비티 B가 실행된 후 setResult 메소드를 호출하면서 인텐트를 전달하고 finish 메소드를 호출하면 액티비티 A로 돌아온다.
4. 액티비티 B에서도 인텐트 안에 부가데이터를 넣어 전달할 수 있는데 이 인텐트는 액티비티 A의 onActivityResult 메소드가 호출되면서 전달받을 수 있다.
ArrayList로 구현한 부분 -> Serializable 이용
SimpleData로 구현한 부분 ->Parceable 이용
SimpleData.java
package com.example.myparcelable;
import android.os.Parcel;
import android.os.Parcelable;
public class SimpleData implements Parcelable {
int number;
String message;
public SimpleData(int number, String message) {
this.number = number;
this.message = message;
}
public SimpleData(Parcel src){
number = src.readInt();
message = src.readString();
}
public static final Parcelable.Creator CREATOR = new Parcelable.Creator(){
public SimpleData createFromParcel(Parcel src){
return new SimpleData(src);
}
public SimpleData[] newArray(int size){
return new SimpleData[size];
}
};
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeInt(number);
dest.writeString(message);
}
}
Parcelable 사용하면 저 CREATOR 라는걸 만들어줘야되는데
이유는 모르겠고 그래야하는듯!
+
플래그 : 인텐트에 추가할 수 있는 옵션
- 인텐트 객체의 addFlags 메소드를 이용해 설정할 수 있으며 여러 개의 플래그를 | 기호로 붙여 한꺼번에 설정 가능
ex)
Intent.FLAG_ACTIVITY_SINGLE_TOP : 동일한 액티비티가 이미 메모리에 만들어져 있다면 추가로 만들지 않고 그 액티비티를 화면에 띄워주는 역할
Intent.FLAG_ACTIVITY_NEW_TASK : 액티비티들을 관리하는 태스크(TASK) 객체를 새로 만든다. 브로드캐스트 수신자나 서비스는 화면이 없기 때문에 새로운 화면을 띄워주려면 먼저 태스트 객체가 만들어져야 한다.
Intent:FLAG_ACTIVITY_CLEAR_TOP : 원하는 액티비티가 이미 메모리에 만들어져 있고 그 이후에 다른 액티비티가 만들어진 경우 원하는 액티비티를 찾아 다시 띄울 때 그 이후에 만들어진 다른 액티비티들은 없애주는 역할
* 액티비티 스택(Activity Stack)에서 액티비티가 관리된다는 점을 이해해야함
- Total
- Today
- Yesterday
- 어댑터
- 쉐이프드로어블
- objc
- 인플레이터
- subscript
- 전화연결하기
- CaseIterable
- 표현패턴
- 뷰페이저
- 터치리스너
- 제스처디텍터
- 다이얼연결
- Objective-C
- 액션바
- 카카오톡열기
- swift
- 알림대화상자
- 비트맵버튼
- 프래그먼트매니저
- 프래그먼트
- prepareforreuse
- 스낵바설정
- ios
- 상태드로어블
- 안드로이드
- 데이터
- 부가데이터
- 전화걸기연결
- allcases
- 페이저타이틀스트립
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |