반응형
오늘은 다른 액티비티를 불러오는 intent라는 것을 알아보았다
이 예제는 버튼을 누르면 다른 액티비티로 넘어가는 코드이다
첫 번째 액티비티
첫 번째 액티비티에는 버튼에게 onClick 속성을 주어서 버튼을 누르면 할 것을 정해준다 Intent를 사용하는 법은 객체 생성 후 (지금 액티비티, 목적지 액티비티. class) 식으로 정해준다
그리고 startActivity로 액티비티를 시작한다.
package com.example.ghj52.myapplication;
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);
getSupportActionBar().setTitle("첫번째 액티비티");
}
public void onClick(View view){
Intent intent = new Intent(this, Main2Activity.class);
startActivity(intent);
}
}
첫 번째 xml
그냥 버튼에게 onClick 속성을 부여한 것뿐이다.
코드가 긴 이유는 constraint 레이아웃을 사용해 반응형으로 설정했기 때문이다.
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.ghj52.myapplication.MainActivity">
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:layout_marginTop="8dp"
android:text="두번째 페이지로 이동"
android:textAppearance="@android:style/TextAppearance.Large"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:onClick="onClick"/>
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="첫번째 페이지"
android:textAppearance="@android:style/TextAppearance.Large"
android:layout_marginBottom="8dp"
app:layout_constraintBottom_toTopOf="@+id/button"
app:layout_constraintTop_toTopOf="parent"
android:layout_marginTop="8dp"
android:layout_marginLeft="8dp"
app:layout_constraintLeft_toLeftOf="parent"
android:layout_marginRight="8dp"
app:layout_constraintRight_toRightOf="parent"
/>
</android.support.constraint.ConstraintLayout>
두 번째 액티비티
이것은 또 버튼에게 onClick 속성을 주고 버튼이 누르면 액티비티가 끝나는 메서드 finish를 이용한 것이다.
package com.example.ghj52.myapplication;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
public class Main2Activity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
getSupportActionBar().setTitle("두번째 액티비티");
}
public void onClick2(View view){
finish();
}
}
두 번째 xml
버튼에게 onClick 속성을 부여한 것뿐이다.
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.ghj52.myapplication.Main2Activity">
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:layout_marginTop="8dp"
android:text="두번째페이지"
android:textAppearance="@android:style/TextAppearance.Large"
app:layout_constraintBottom_toTopOf="@+id/button2"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:layout_marginTop="8dp"
android:text="첫번째 페이지로 이동"
android:textAppearance="@android:style/TextAppearance.Large"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:onClick="onClick2"/>
</android.support.constraint.ConstraintLayout>
실행하면,
첫 번째 페이지로 이동하게 된다. 원리는 intent를 통해 두 번째 페이지로 이동하는 메서드 중 액티비티를 시작하고 첫 번째 페이지로 이동 버튼을 누르면 액티비티를 끝나게 해 첫 번째 페이지로 이동하게 해주는 원리이다.
반응형
'안드로이드 > APK 개발' 카테고리의 다른 글
안드로이드 기본 (1) (0) | 2022.03.11 |
---|
최근댓글