인텐트 Intent 는 시스템에 이미 설치된 프로그램, 기능을 사용하기위해 시스템에게 전달하는 변수로
웹사이트를 띄우거나, 전화걸기, 사진찍기 등을 실행할 수 있다.
//웹사이트 띄우기 리스너
Button btWeb = (Button) findViewById(R.id.btWeb);
btWeb.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent1 = new Intent(Intent.ACTION_VIEW, Uri.parse("http://m.naver.com"));
startActivity(intent1);
}
});
//전화걸기 클릭 리스너
Button btPhoneCall = (Button) findViewById(R.id.btPhoneCall);
btPhoneCall.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent1 = new Intent(Intent.ACTION_VIEW, Uri.parse("tel:0322795959"));
startActivity(intent1);
}
});
//1.(메인화면) 서브화면으로 부가데이터(ExtraData) 포함한 인텐트 전달하기
Button btNew2 = (Button) findViewById(R.id.btNew2);
btNew2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent3 = new Intent(getApplicationContext(), New2Activity.class);
intent3.putExtra("loginName", "소녀시대");
startActivityForResult(intent3, 1);
}
});
// 2. (서브화면) 메인에서 전달받은 인텐트, onCreate 메소드안에
Intent passedIntent = getIntent();
if (passedIntent != null) {
String vloginName = passedIntent.getStringExtra("loginName");
Toast.makeText(getApplicationContext(), "메인 화면에서 받은 loginName: " + vloginName, Toast.LENGTH_LONG).show();
}
이렇게 하면 vloginName 변수에 "소녀시대" 가 전달된다.
//1.(메인화면) 서브화면을 호출한 후에 서브화면에서 보내온 인텐트의 부가 데이터 받기
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
String outName = data.getStringExtra("name");
Toast.makeText(getApplicationContext(), "전달받은 name속성의 값: " + outName, Toast.LENGTH_LONG).show();
}
//2.(서브화면) 메인화면에 인텐트 전달하고 서브화면 닫고 돌아가기
Button btGoBack2 = (Button) findViewById(R.id.btGoBack2);
btGoBack2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent1 = new Intent();
intent1.putExtra("name", "홍길동");
setResult(RESULT_OK, intent1);
finish();
}
});
'안드로이드' 카테고리의 다른 글
스택(Stack), 예외처리( try ~ catch) (0) | 2015.11.11 |
---|---|
앱 시작, 종료시 발생 메서드, 라이프사이클(Life cycle) (0) | 2015.11.11 |
첫화면 Edittext 에 포커스가 안가게(키보드화면 안보이게) (0) | 2015.10.23 |
TextView 동적생성, ArrayList(배열리스트), 컬러변경 (0) | 2015.10.23 |
imageView 이미지 파일 변경 (0) | 2015.10.16 |