안드로이드

인텐트간 데이터 전달,수신 방법

소혜아빠 2017. 3. 3. 17:46


인텐트 메소드(putExtra,getExtra,getIntent) 이용하여 Activity간 데이터 전달, 수신 방법


[String]

public class MainActivity extends ActionBarActivity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String strArray[] = {"hi","hello"};

Intent intent = new Intent(MainActivity.this, SecondActivity.class);
intent.putExtra("itpangpang", strArray);
startActivity(intent);
}}
public class SecondActivity extends ActionBarActivity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
Intent intent = getIntent();
int i = -1;
String str[] = intent.getExtras().getStringArray("itpangpang");
while(true)
{
i++;
try
{
Log.d("ITPANGPANG",""+str[i]);
}
catch (Exception e){break;}
}
}
}



[Boolean]

public class MainActivity extends ActionBarActivity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
boolean isboolean = false;

Intent intent = new Intent(MainActivity.this, SecondActivity.class);
intent.putExtra("itpangpang", isboolean);
startActivity(intent);
}
}
public class SecondActivity extends ActionBarActivity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
Intent intent = getIntent();
Log.d("ITPANGPANG",""+intent.getExtras().getBoolean("itpangpang"));
}
}


[int]

public class MainActivity extends ActionBarActivity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

int i = 1;
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
intent.putExtra("itpangpang", i);
startActivity(intent);
}
}
public class SecondActivity extends ActionBarActivity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
Intent intent = getIntent();
Log.d("ITPANGPANG",""+intent.getExtras().getInt("itpangpang"));
}
}


[MainActivity]


intent.putExtra("itpangpang",str);


Key, Value를 통해서 값을 넣는다.

itpangpang이라는 보관함에

str(hi)를 보관하는 것이다.


[SecondActivity]


getIntent();


말 그대로 자신이 호출한 Activity한테서

인텐트 값을 받는다는 말이다.


intent.getExtra().getString("itpangpang");


itpangpang 보관함에 들어있는 String을 가져오겠다는 뜻이다.


intent.getExtra().getInt("itpangpang");


위에서 설명한 것과 같이 itpangpang 보관함에 있는 int형 데이터를 가져오겠다는 뜻이다.


intent.getExtra().getBoolean("itpangpang");


마찬가지로 itpangpang 보관함에 있는 Boolean형 데이터를 가져오겠다는 뜻이다.