본문 바로가기

Frontend/Android

[Android] findViewByid, OnClickListener, Intent


* findViewByid


- 액티비티에 id값으로 뷰 들을 찾아 올때 사용 한다.

- 예시) findViewById(R.id.btnPopUp) //R파일 소스에서 id를 이용해 값을 찾는건데 

btnPopUp이라는 id를 갖은 값을 찾아오는 거다.


* R 파일


- 디자인한 대부분의 값들은 R이라는 소스에 저장이 된다.


* OnClickListener


- 버튼을 클릭했을 때 이벤트를 명령 할 때 그 명령을 알아 들은 무언가가 필요할 때 사용 한다.


* Intent


- 시스템(안드로이드 스튜디오)에게 무언가를 명령을 해야할 때 intent를 사용해야 알아먹는다.


* startActivity(명령);


- 파라미터의 명령이 시스템에 전달을 해주는 역할을 함


* startActivityForResult(명령, 구분할 수 있는 임의의 요청코드);


- 한개의 화면이 아니라 여러개의 화면이 있을 경우 이 화면들을 구분해야 할때 사용

- 액티비티에서 값을 받아오기에 용이하다.


package com.oneplus.intent;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

//R소스에서 id 값으로 버튼을 찾아와 주고, 버튼을 클릭했을 때 이벤트를 실행 해 줄 리스너를 설정
findViewById(R.id.btnPopUp).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//intent란 시스템에게 무언가를 명령을 해야할 때 intent를 사용해야 알아먹는다.
Intent i = new Intent(getApplicationContext(), MenuActivity.class);
//파라미터의 명령이 시스템에 전달을 해주는 역할을 함
//startActivity(i);
//한개의 화면이 아니라 여러개의 화면이 있을 경우 이 화면들을 구분해야 할때 사용
//(명령, 구분할 수 있는 임의의 요청코드)
startActivityForResult(i, 101);
}
});
}
}