Dev_Study/Android

5. 액티비티 간에 데이터 전달하기

LeeDaniel 2018. 1. 26. 14:22

액티비티간에  데이터를 전달하기 위해 사용하는 번들객체는

인텐트 안에 들어있기 때문에 putExtra(), getExtra()를 이용해 넣거나 볼 수 있다

기본적으로 기본데이터타입(Primitive Data Type)만을 지원하므로

문자열이나 정수와 같은 데이터를 키와 데이터 값의 쌍으로 만들어 넣는다

 

[Reference]

Intent putExtra(String name, String value)

Intent putExtra(String name, int value)

Intent putExtra(String name, boolean value)

 

String getStringExtra(String name)

int getIntExtra(String name, int defaultValue)

boolean getBooleanExtra(String name, boolean defaultValue)

 

 

기본데이터 타입이 아닌 객체(Object)를 전달하고 싶을 경우

객체의 데이터들을 바이트 배열로 변환하여 전달하거나

Serializable인터페이스를 구현하는 객체를 만들어 직렬화한 후 전달할 수 있다

안드로이드에서는 Serializable인터페이스와 유사한 Parcelable인터페이스를 권장한다

Parcelable인터페이스를 구현하여 객체를 직접 전달하려면

다음과 같은 두가지 메소드를 구현해야 한다

 

[Reference]

public abstract int describeContents()

public abstract void writeToParcel(Parcel dest, int flags)

 

 

인텐트를 이용해 Parcelable객체 전달하기

 

 

 

 

 

반응형

'Dev_Study > Android' 카테고리의 다른 글

7. 서비스  (0) 2018.01.26
6. 액티비티 수명주기 (Life Cycle)  (0) 2018.01.26
4. 플래그(Flag)  (0) 2018.01.26
3. 암시적 인텐트(Implicit Intent)  (0) 2018.01.26
2. 화면 간 이동  (0) 2018.01.26