인텐트 메소드(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형 데이터를 가져오겠다는 뜻이다.