Dreaming Dean
Hello, I'm Studying
  • Secure
  • Java
  • Oracle
  • +others
Coding.
I AM STUDYING PROGRAMING LANGUAGE. IF YOU WANT TO SEE MY WORK THE PROGRAMMING PROJECT, CHECK IT OUT MY BLOG AND GITHUB.

Adding Activity and Buttons 액티비티와 버튼 추가하기

Dean92
2017. 5. 16. 16:01


Button 추가하기

앱의 레이아웃에 컴포넌트를 추가하기 위해선 Layout Editor를 사용하거나 xml파일에 직접 코드를 집어넣어 만들 수 도 있다.

Layout Editor 사용

Layout Editor를 이용하려면 레이아웃의 xml파일을 열고 오른쪽 하단에 있는 design탭을 클릭하면 위와같이 에디터가 열리게 됩니다.


오른쪽의 Palette 영역에서 버튼요소를 찾아 레이아웃 영역으로 끌고와서 놓게 되면 버튼이 추가됩니다.


 버튼을 추가하고 오른쪽의 Properties에서 onClick 속성 이름과 버튼에 표시될 텍스트 이름을 설정합니다. 이 버튼은 해당하는 사이트로 이동 기능을 할 것입니다. 두번 째 버튼은 xml 태그로 추가해 보겠습니다.
xml 태그 사용

 아까 버튼을 추가했던 design탭에서 옆에있는 text탭으로 들어가면 activity_main.xml의 코드가 보이게 되는데 우리가 레이아웃 에디터로 추가했던 버튼 코드가 보입니다. 그 코드 아래에 직접 아래의 코드를 집어 넣겠습니다.

  • Code
    <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:onClick="onClickButton2"
            android:text="전화 걸기"
            tools:layout_editor_absoluteX="120dp"
            tools:layout_editor_absoluteY="16dp" />
  • Result



     다시 design탭으로 돌아가 보면 추가한 코드에 해당한 버튼이 레이아웃에 추가된 것을 볼 수 있습니다.


버튼에 기능 추가하기

이제 각 버튼을 클릭했을 때 동작할 기능을 구현해 보겠습니다.


 MainActivity.java 파일을 열어 각 버튼을 클릭했을 때 실행될 메소드를 아래 코드와 같이 구현합니다.

  • Code
    package com.dean92.ex1;
    
    import android.content.Intent;
    import android.net.Uri;
    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);
        }
    
        public void onClickButton1(View view){
            Intent myIntent=new Intent(Intent.ACTION_VIEW, Uri.parse("http://dean92.tistory.com"));
            startActivity(myIntent);
        }
    
        public void onClickButton2(View view){
            Intent myIntent=new Intent(Intent.ACTION_VIEW, Uri.parse("tel:010-0000-0000"));
            startActivity(myIntent);
        }
    }
  • Result




    에뮬레이터로 앱을 실행시켜 보면 각 버튼이 동작하는 것을 볼 수 있습니다.


Activity 추가하기

Activity

 Activity는 애플리케이션 구성 요소로서 앱 기능들이 상호작용할 수 있는 화면을 말합니다. 액티비티마다 창이 하나씩 주어지고 이곳에 원하는 기능들을 넣을 수 있습니다. 이 창은 일반적으로 기기의 화면을 가득 채우지만, 작은 창으로 만들어 다른 창 위에 띄울 수도 있습니다.

 하나의 애플리케이션은 보통 여러 개의 액티비티가 느슨하게 서로 묶여 있는 형태로 구성됩니다. 통상 한 애플리케이션 내에서 하나의 액티비티가 "주요" 액티비티로 지정되며, 사용자가 이 애플리케이션을 처음 실행할 때 이 액티비티가 사용자에게 표시됩니다. 그런 후 각각의 액티비티는 여러 가지 작업을 수행하기 위해 또 다른 액티비티를 시작할 수 있습니다.
Activity 추가

새로운 액티비티 추가를 위해 new-Activity-Empty Activity 를 실행합니다.


원하는 액티비티 이름을 정한후 Activity를 생성합니다.

서브 액티비티에 이미지 하나와 메인 화면으로 돌아가기 위한 버튼 하나를 만들어 줍니다.


 SubActivity.java 파일을 열어 메인메뉴로 돌아가기 버튼을 클릭했을 때 실행될 메소드를 아래 코드와 같이 구현합니다.

  • Code
    package com.dean92.ex1;
    
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Toast;
    
    public class SubActivity extends AppCompatActivity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_sub);
        }
    
        public void onClickButtonBack(View view) {
            //토스트 메세지를 띄움
            Toast.makeText(getApplicationContext(),"메인화면으로 이동합니다.", Toast.LENGTH_LONG).show();
            //현재 액티비티를 종료함
            finish();
        }
    }

  • 그리고 메인액티비티에 서브액티비티로 진입할 버튼을 하나더 추가한 후 java파일에 그 버튼을 클릭했을 때 서브액티비티로 진입할 수 있도록 코딩합니다.

    • Code
      package com.dean92.ex1;
      
      import android.content.Intent;
      import android.net.Uri;
      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);
          }
      
          public void onClickButton1(View view){
              Intent myIntent=new Intent(Intent.ACTION_VIEW, Uri.parse("http://dean92.tistory.com"));
              startActivity(myIntent);
          }
      
          public void onClickButton2(View view){
              Intent myIntent=new Intent(Intent.ACTION_VIEW, Uri.parse("tel:010-0000-0000"));
              startActivity(myIntent);
          }
      
          public void onClickButton3(View view){
              Intent intent = new Intent(getApplicationContext(), SubActivity.class);
              startActivity(intent);
          }
      }
    • Result




       에뮬레이터로 앱을 실행시켜 보면 각 버튼이 동작하는 것을 볼 수 있습니다.


소스코드

Ex1 Download

Comments