Android # Hello Project
안드로이드/Android-Dev

Android # Hello Project

Android 기본 실습

Button 생성 및 Button을 눌렀을 때, Action 구현하기.

  • 버튼1 : Toast 메시지 띄우기
  • 버튼2 : 웹브라우저 실행
  • 버튼3 : 전화걸기 화면 실행

화면구성

[activity_main.xml]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.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=".MainActivity">
 
 
    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="162dp"
        android:layout_marginLeft="162dp"
 
        android:layout_marginTop="341dp"
        android:layout_marginEnd="162dp"
        android:layout_marginRight="162dp"
        android:layout_marginBottom="342dp"
        android:onClick="onButton1Clicked"
        android:text="확인1"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
 
    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="453dp"
        android:layout_marginLeft="453dp"
        android:layout_marginTop="112dp"
        android:layout_marginEnd="453dp"
        android:layout_marginRight="453dp"
        android:layout_marginBottom="64dp"
        android:onClick="onButton2Clicked"
        android:text="네이버 접속하기"
        app:layout_constraintBottom_toTopOf="@+id/button3"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/button" />
 
    <Button
        android:id="@+id/button3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="162dp"
        android:layout_marginLeft="162dp"
        android:layout_marginTop="48dp"
        android:layout_marginEnd="162dp"
        android:layout_marginRight="162dp"
        android:layout_marginBottom="72dp"
        android:onClick="onButton3Clicked"
        android:text="전화 걸기"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/button2" />
</androidx.constraintlayout.widget.ConstraintLayout>
cs

 

[MainActivity.java]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
package org.techtown.hello;
 
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;
 
import androidx.appcompat.app.AppCompatActivity;
 
public class MainActivity extends AppCompatActivity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
 
    public void onButton1Clicked(View v){
        Toast.makeText(this"확인 버튼이 눌렸습니당!", Toast.LENGTH_LONG).show();
    }
 
    public void onButton2Clicked(View v){
        Intent myIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.naver.com"));
        startActivity(myIntent);
    }
 
    public void onButton3Clicked(View v){
        Intent myIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("tel:010-1111-2222"));
        startActivity(myIntent);
    }
 
}
 
cs

 

각각의 버튼을 눌렀을 때, 해당되는 Action을 실행.

Intent

  • 내가 하고자 하는 행위를 의미.
  • 애플리케이션 구성 요소 간에 데이터를 전달하거나 실행하려는 기능이 무엇인지 안드로이드 플랫폼에 전달.
  • 비유하자면, 우편물 같은 개념.

setContentView()

  • 화면에 무엇을 보여줄지 결정하는 함수(메서드).

R.layout.activity_main

  • 화면에 보여줄 대상이 되는 XML의 위치를 지정.

/app/res/layout/activity_main.xml

  • 자바 소스에서 R.layout.activity_main이라고 입력하여 가져올 수 있는 프로젝트 안의 파일이며, 화면을 구성할 때 사용.

text 속성

  • 화면에 보이는 글자를 변경할 때 사용하는 속성

onClick 속성

  • 버튼을 클릭했을 때 어떤 메서드를 실행할 것인지 간단하게 지정할 수 있는 속성

Intent

  • 어떤 기능을 실행할 것인지 지정할 때 사용.

Toast

  • 화면에 잠깐 보였다 없어지는 메시지를 간단하게 보여주고 싶을 때 사용.