안드로이드 스튜디오 화면 띄우기 - andeuloideu seutyudio hwamyeon ttuiugi

새로운 화면을 만들고 띄워주기를 해보았습니다.

안드로이드 스튜디오 화면 띄우기 - andeuloideu seutyudio hwamyeon ttuiugi

왼쪽의 app에서 마우스 오른쪽버튼을 클릭한뒤

New -> Activity -> Empty Activity를 선택합니다.

위처럼 화면이 뜨는데

Activitiy Name을 MenuActivity로 바꿔주었습니다.

Layout Name도 따라서 바뀝니다.

그리고 Finish를 누릅니다.

그러면 왼쪽에 MenuActivity 파일과

activity_menu.xml 파일이 생성됩니다.

activity_menu.xml 파일을 눌러서 버튼을 하나 만듭니다.

onClick 함수에 onBackButtonClicked라고 적었습니다.

text에는 돌아가기라 적었습니다.

MenuActivity에 

onBackButtonClicked 함수를 위와 같이 작성합니다.

돌아가기 버튼을 누르면 토스트를 띄워주고

이 activity를 종료하게 될 것입니다.

다음, MainActivity에서 새 버튼을 만들고

이름을 새화면 띄우기라 만듭니다.

onClick에 onButtonClick3라고 적었습니다.

MainActivity.java 파일에

onButtonClick3 함수를 위처럼 추가합니다.

실행해서 새화면 띄우기 버튼을 누르면

만들었던 액티비티 화면이 뜹니다.

돌아가기를 누르면 다시 이전 화면으로 돌아가게 됩니다.

오늘이라도

https://github.com/upcake/Class_Examples

교육 중에 작성한 예제들은 깃허브에 올려두고 있습니다. 

gif 파일은 클릭해서 보는 것이 정확합니다.


 - 새 화면 띄우기 - 

안드로이드 스튜디오 화면 띄우기 - andeuloideu seutyudio hwamyeon ttuiugi
▲새 화면 띄우기 버튼 만들기

 - 버튼을 만들고 id는 btnNew, text는 '새 화면 띄우기', textsize는 24로 하였다.

안드로이드 스튜디오 화면 띄우기 - andeuloideu seutyudio hwamyeon ttuiugi
▲새 화면 만들기 ①

 - 안드로이드 스튜디오에서 화면을 세는 단위를 Activity라 한다.

 - MainActivity가 있는 패키지 우클릭 - New - Activity - 원하는 Activity 선택

안드로이드 스튜디오 화면 띄우기 - andeuloideu seutyudio hwamyeon ttuiugi
▲새 화면 만들기 ②

 - 액티비티 이름을 정해주고 Finish를 누른다.

안드로이드 스튜디오 화면 띄우기 - andeuloideu seutyudio hwamyeon ttuiugi
▲새 화면 만들기 ③

 - 액티비티를 만들면 xml도 같이 만들어진다.

안드로이드 스튜디오 화면 띄우기 - andeuloideu seutyudio hwamyeon ttuiugi
▲Constraint Widget : 위치, 마진, Contsraints 조정

 - 속성 탭의 Constraint Widget으로 요소의 위치, 마진, Constraints를 조정할 수 있다.

안드로이드 스튜디오 화면 띄우기 - andeuloideu seutyudio hwamyeon ttuiugi
▲gravity : 정렬 위치 설정

 - 속성 탭의 gravity로 정렬 위치를 설정할 수 있다.

안드로이드 스튜디오 화면 띄우기 - andeuloideu seutyudio hwamyeon ttuiugi
▲background : 배경 색 설정

 - 속성 탭의 background로 배경 색을 설정할 수 있다.

안드로이드 스튜디오 화면 띄우기 - andeuloideu seutyudio hwamyeon ttuiugi
▲textColor : 문자 색 설정

 - xml의 코드 부분에 android:textColor를 추가하여 문자 색을 설정할 수 있다.

 - 색깔 코드가 있는 라인의 라인 번호 옆 부분에서 해당하는 코드의 색깔을 알 수 있다.

package com.example.my01_helloworld;

import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

    Button btnCall, btnNew; // 전역 변수
    EditText etPhoneNum; // 전역 변수 정의만 할 수 있다.

    @Override
    protected void onCreate(Bundle savedInstanceState) { // onCreate() : 메모리에 등록하면서 작동하는 메서드
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main); // setContentView() : 매개 변수를 화면에 출력하는 메서드
        // R. : resource(res)의 약자

        etPhoneNum = findViewById(R.id.etPhoneNum);

        btnCall = findViewById(R.id.btnCall); // 지역 변수
        // btnCall이란 id를 가진 객체를 찾아서 btnCall 변수에 입력한다.
        btnCall.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String phoneNum = "tel:" + etPhoneNum.getText().toString();

//                Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:010-1234-5678"));
                Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse(phoneNum));
                startActivity(intent);
            }
        });

        btnNew = findViewById(R.id.btnNew);
        btnNew.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(getApplicationContext(), Sub1Activity.class);
                // getApplicationContext() : 현재(메인)의 환경(Context)을 호출한 곳으로 넘겨줌
                // Sub1 화면을 띄운다.
                startActivity(intent);
            }
        });
    }
    public void btn1Clicked(View view) {
        Toast.makeText(this, "버튼1 클릭!", Toast.LENGTH_SHORT).show();
        // context : 어디에 있는지 환경을 지정
        // this : 현재 참조중인 MainActivity를 지정
        // LENGTH_SHORT : 2 ~ 3초 정도 보여줌
        // LENGTH_LONG : 5초 정도 보여줌
    }

    public void btn2Clicked(View view) {
        Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://m.naver.com"));
        startActivity(intent);
        // Intent : 무언가 새 창을 띄울때는 Intent를 사용한다.
    }


}
package com.example.my01_helloworld;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;

import androidx.appcompat.app.AppCompatActivity;

public class Sub1Activity extends AppCompatActivity {

    Button btnMain; // ① 버튼을 선언한다.

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

        btnMain = findViewById(R.id.btnMain); // ② 버튼을 찾는다.
        btnMain.setOnClickListener(new View.OnClickListener() { // ③ 버튼의 기능을 지정한다.
            @Override
            public void onClick(View v) {
                finish(); // 서브 창이 닫힌다.
            }
        });
    }
}
안드로이드 스튜디오 화면 띄우기 - andeuloideu seutyudio hwamyeon ttuiugi
▲새 화면 띄우기 버튼 작동 화면

- Linear Layout ① -

안드로이드 스튜디오 화면 띄우기 - andeuloideu seutyudio hwamyeon ttuiugi
▲새 프로젝트 만들기 ①

 - File - New - New Project에서 새 프로젝트를 만들 수 있다.

안드로이드 스튜디오 화면 띄우기 - andeuloideu seutyudio hwamyeon ttuiugi
▲새 프로젝트 만들기 ②

 - 프로젝트의 이름, 언어, 최소 SDK를 설정한다.

안드로이드 스튜디오 화면 띄우기 - andeuloideu seutyudio hwamyeon ttuiugi
▲LinearLayout 설정

 - xml의 코드부에서 사진과 같이 LinearLayout을 설정한다.

안드로이드 스튜디오 화면 띄우기 - andeuloideu seutyudio hwamyeon ttuiugi
▲wrap_content, match_parent

 - 속성 탭의 Layout에서 요소의 너비와 높이를 설정할 수 있다.

 - wrap_content : 해당 요소의 내용물 크기만큼 설정

 - match_parent : 부모 레이아웃의 너비, 높이만큼 설정

'취업성공패키지 SW 개발자 교육 > Android' 카테고리의 다른 글

[Android] 6. Frame Layout : string, visibility, invisible, gone, scaleType, 디버깅  (0)2020.05.13
[Android] 5. Linear Layout ② : 화면 분할하기, Relative Layout ①  (0)2020.05.12
[Android] 3. 아이콘 지정, 버튼 - 알람창 띄우기, 버튼 - 네이버 연결, 버튼 - 전화 연결, 전화 번호 입력 칸 만들기  (0)2020.05.08
[Android] 2. textSize, gravity, 폰트 설정, 자동 import 설정, Hello World 작동  (0)2020.05.07
[Android] 1. 안드로이드 개발 환경 구축 ①  (0)2020.05.06