안드로이드/이론

안드로이드 Intent 사용하기(1단계)

원원 2019. 4. 14. 18:55



안녕하세요 오늘 안드로이드 Intent 사용하기 1단계에서는

Intent가 뭐하는 클래스인지 알아보고 처음 화면에서 버튼을 클릭하면 다른화면을 띄우고, 다른화면에서 버튼을 클릭하면 다시 처음화면으로 돌아가는걸 해보겠습니다.



※ Intent란?

Intent클래스를 이용하면 앱을 만들때 다양한 활동을 하게 할 수 있습니다.

예를들어 화면이동하거나, 갤러리로 이동하거나, 웹사이트를 띄우거나, 전화를 걸게하거나 등등 많이 이용됩니다




※ 이번 예제에서 사용할 intent 관련된 함수


1. 객체를 만들 때 사용되는 함수

Intent(Context packageContext, Class<?> cls)

packageContext에는 자기자신을 적으면되고

cls에는 어떤 행동을할 클래스를 적으면 됩니다


2. 액티비티 시작하는 함수

  • startActivity (Intent intent,Bundle options)

  • intent에는 만들었던 intent를 넣으면되고 options에는 사용할 옵션을 넣으면 되는데 없으면 안넣어도 됩니다. 안넣은다면 null이 됩니다



※ 예제에서 사용할 프로그램 흐름

첫번째 화면에서 버튼클릭(intent사용) -> 두번째 화면 생성 -> 두번째 화면에서 버튼클릭(finish함수) -> 첫번째 화면



※코드(xml코드는 안올렸고 class코드에서는 import와 package정보를 제거하였습니다)

MainActivity.class

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public class MainActivity extends AppCompatActivity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        Button btn;
        btn = findViewById(R.id.button2);
 
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent i = new Intent(MainActivity.this, Main2Activity.class );
 
                startActivity(i);
            }
        });
    }
 
}
 


Main2Activity.class

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public class Main2Activity extends AppCompatActivity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
 
        Button btn;
        btn = findViewById(R.id.button);
 
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                finish();
            }
        });
 
 
    }
}
 



※실행동영상