인텐트 엑스트라 데이터
인텐트에 컴포넌트 실행을 요청할 때 데이터를 함께 전달하려면 엑스트라 데이터를 이용 해야 합니다. 엑스트라 데이터는 인텐트에 담는 부가 정보라 할 수 있습니다.
인텐트에 엑스트라 데이터를 추가하는 함수는 putExtra()입니다.
public intent : Intent putExtra(String name,CharSequence value)
putExtra 함수의 첫 번째 매개변수는 데이터의 식별자이며 두 번째 매개변수가 전달할 데이터입니다. putExtra() 함수는 각 타입의 데이터를 담을 수 있도록 오버 로딩으로 선언되어 있습니다.
엑스트라 데이터 추가
val intent : Intent = Intent(this,DetailActivity::class.Java)
intent.putExtra("data1","hello")
intent.putExtra("data2",10)
startActivity(intent)
인텐트로 실행된 컴포넌트에서 엑스트라 데이터를 가져오려면 먼저 getIntent() 함수로 자긴을 실행한 인텐트 객체를 얻어야 합니다.
public Intent getIntent()
코틀린 프로그램에서는 getIntent() 함수를 인텐트 객체의 프로퍼티로 이용하면 됩니다. 그리고 그 인텐트 객체의 getIntExtra() 함수로 데이터를 가져오면 됩니다. 데이터를 가져오는 함수 또한 타입별로 여러 개 제공합니다.
public int getIntExtra(String name,int defaultValue)
public String getStringExtra(String name)
public double getDoubleExtra(String name,double defaultValue)
-------------------------------------------------------------
val intent = intent
val data1 = intent.getString("data1")
val data2 = intent.getIntExtra("data2",0)