안드로이드

안드로이드 프로그래밍 - 다용도 앱 만들기 1

IT의 큰손 2023. 1. 18. 15:57
728x90
  • 앱의 기능 설명
    • 1. 로그인 기능
    • 2. 메모장
    • 3. 달력
    • 4. 연락처
    • 5. 그림판
    • 6. 미니게임
    • 7. 계산기
    • 8. 스톱워치
    • 9. 가계부

 

메인화면

  • 메인 화면의 xml 코드
더보기
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/schedule1"
    android:orientation="vertical">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:background="#FBE200"
        android:gravity="center"
        android:text="Schedule APP"
        android:textColor="#FFFFFF"
        android:textSize="34sp"
        android:textStyle="bold" />

    <Button
        android:id="@+id/Button03"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#79FDD835"
        android:textColor="#FFFFFF"
        android:gravity="center"
        android:text="Login"
        android:textSize="24sp"
        android:textStyle="bold" />

    <LinearLayout
        android:id="@+id/layout1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:orientation="horizontal">

        <Button
            android:id="@+id/Button02"
            android:layout_width="204dp"
            android:layout_height="wrap_content"
            android:background="#79FDD835"
            android:text="메모장"
            android:textColor="#FFFFFF"
            android:textSize="20sp"
            android:textStyle="bold" />

        <Button
            android:id="@+id/Button01"
            android:layout_width="215dp"
            android:layout_height="wrap_content"
            android:background="#79FDD835"
            android:textColor="#FFFFFF"
            android:text="달력(일정)"
            android:textSize="20sp"
            android:textStyle="bold" />
    </LinearLayout>
    <LinearLayout
        android:id="@+id/layout2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:orientation="horizontal">

        <Button
            android:id="@+id/Button04"
            android:layout_width="204dp"
            android:layout_height="wrap_content"
            android:background="#79FDD835"
            android:text="연락처"
            android:textColor="#FFFFFF"
            android:textSize="20sp"
            android:textStyle="bold" />

    <Button
        android:id="@+id/Button05"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#79FDD835"
        android:textColor="#FFFFFF"
        android:textStyle="bold"
        android:text="그림판"
        android:textSize="20sp"/>
    </LinearLayout>
    <LinearLayout
        android:id="@+id/layout3"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:orientation="horizontal">

        <Button
            android:id="@+id/Button06"
            android:layout_width="204dp"
            android:layout_height="wrap_content"
            android:background="#79FDD835"
            android:text="미니게임"
            android:textColor="#FFFFFF"
            android:textSize="20sp"
            android:textStyle="bold" />
        <Button
            android:id="@+id/Button07"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="#79FDD835"
            android:textColor="#FFFFFF"
            android:textStyle="bold"
            android:text="계산기"
            android:textSize="20sp"/>
    </LinearLayout>
    <LinearLayout
        android:id="@+id/layout4"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:orientation="horizontal">

        <Button
            android:id="@+id/Button08"
            android:layout_width="204dp"
            android:layout_height="wrap_content"
            android:background="#79FDD835"
            android:text="스톱워치"
            android:textColor="#FFFFFF"
            android:textSize="20sp"
            android:textStyle="bold" />
        <Button
            android:id="@+id/Button09"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="#79FDD835"
            android:textColor="#FFFFFF"
            android:textStyle="bold"
            android:text="가계부"
            android:textSize="20sp"/>
    </LinearLayout>
    <AnalogClock
        android:layout_width="match_parent"
        android:layout_height="221dp" />

    <DigitalClock
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:textColor="#000000"
        android:textSize="34sp"
        android:textStyle="bold" />

</LinearLayout>
  • LinearLayout을 통하여, 각 버튼들이 균일한 레이아웃을 가질 수 있도록 하였다
    • layout의 width, height
    • match_parent : 부모의 영역을 전부다 차지한다.
    • wrap_content : 해당 콘텐츠의 크기만큼만 차지한다.
    • gravity : 자신의 뷰에서 포함하고 있는 데이터를 정렬 하는 것
      • center, left, right
    • orientation : 위치를 세로 방향으로 할 것인지, 가로 방향으로 할 것인지
  • 메인 화면의 java 코드
더보기
public class Activity1  extends AppCompatActivity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.layout1);
        Button b = (Button)findViewById(R.id.Button01);
        Button c = (Button)findViewById(R.id.Button02);
        Button d = (Button)findViewById(R.id.Button03);
        Button e = (Button)findViewById(R.id.Button04);
        Button f = (Button)findViewById(R.id.Button05);
        Button g = (Button)findViewById(R.id.Button06);
        Button h = (Button)findViewById(R.id.Button07);
        Button i = (Button)findViewById(R.id.Button08);
        Button j = (Button)findViewById(R.id.Button09);
        b.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                Intent intent = new Intent(Activity1.this,
                        Activity2.class);
                startActivity(intent);
            }
        });
        c.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                Intent intent = new Intent(Activity1.this,
                        Activity3.class);
                startActivity(intent);
            }
        });
        d.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                Intent intent = new Intent(Activity1.this,
                        Activity4.class);
                startActivity(intent);
            }
        });
        e.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                Intent intent = new Intent(Activity1.this,
                        Activity5.class);
                startActivity(intent);
            }
        });
        f.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                Intent intent = new Intent(Activity1.this,
                        Activity6.class);
                startActivity(intent);
            }
        });
        g.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                Intent intent = new Intent(Activity1.this,
                        Activity7.class);
                startActivity(intent);
            }
        });
        h.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                Intent intent = new Intent(Activity1.this,
                        Activity8.class);
                startActivity(intent);
            }
        });
        i.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                Intent intent = new Intent(Activity1.this,
                        Activity9.class);
                startActivity(intent);
            }
        });
        j.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                Intent intent = new Intent(Activity1.this,
                        Activity10.class);
                startActivity(intent);
            }
        });
    }
}
  • setcontentview를 통하여 해당 자바 소스가 적용될 layout을 불러온다.
  • 메인 레이아웃에 있는 버튼들에 버튼 변수명을 지정하고, 해당 버튼을 findViewById를 통해 해당 버튼을 찾아 지정한다.
  • onClickListener를 통해, 그 버튼이 클릭하게 되면 현재 인텐트에서 다른 인텐트로 이동할 수 있도록 하였다.
  • 이 인텐트 작업을 위해서 사전 작업을 해주어야하는데 아래와 같다
  • AndroidMainfest.xml의 파일에 아래와 같이 추가를 해주어야 한다.
  •  

mainfest 작업

 

728x90