본문 바로가기

개발/모바일

안드로이드 스튜디오 Lec6 액티비티 화면 전환 (Activity Change)

반응형

강의링크 : https://youtu.be/txifUq2n8Ho


- 여러 액티비티(화면)끼리 상호작용하는 프로젝트 만들기

- MainActivity에서 입력한 이름을 sub에서 띄우기


1.

activity_main.xml에 Text>Plain Text 위젯 (사용자 입력창 위젯)과 버튼 하나를 추가함.

Plain Text 위젯의 id는 nameText, 

button위젯의 id는 button으로 설정


2. 

app/res/layout 에 sub라는 새로운 레이아웃을 추가하고,

textView위젯(id:textView2)을 하나 추가함.


3.

MainActivity 파일 코드를 다음과 같이 작성

MainActivity 

 package com.example.han.tutorial6;


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

public class MainActivity extends AppCompatActivity {

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

final EditText nameText = (EditText)findViewById(R.id.nameText);
Button nameButton = (Button)findViewById(R.id.button);

nameButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String name = nameText.getText().toString();
// ** Intent 새로운 창을 열기 위해 필요한 객체
// 아까 우리가 만든 subActivity라는 클래스 자체를 실행
Intent intent = new Intent(getApplicationContext(), SubActivity.class);
// 변수를 전달할 수 있도록, "name"이라는 문자열을 보낼 수 있도록
intent.putExtra("nameText", name);
// 만든 intent를 실행
startActivity(intent);
}
});
}
}



4.

MainActivity와 같은 폴더에 SubActivity 파일을 생성하고 다음과 같이 코드를 작성

SubActivity 

 package com.example.han.tutorial6;


import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.widget.TextView;

/**
* Created by HAN on 2018. 1. 8..
*/

// 하나의 창이기 때문에 AppCompatActivity 라는 상위 클래스 상속
public class SubActivity extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.sub);
TextView nameText = (TextView) findViewById(R.id.textView2);
Intent intent = getIntent();
nameText.setText(intent.getStringExtra("nameText").toString());
}
}



5.

app/menifests/AndroidMenifest.xml 파일에 다음과 같이 SubActivity에 대한 부분 추가

AndroidMenifest.xml 

 <?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.han.tutorial6">

<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".SubActivity">
</activity>
</application>

</manifest>


반응형