자바 안드로이드 앱개발 강좌, 할 일 목록 앱 만들기

이번 강좌에서는 자바를 활용하여 간단한 할 일 목록(To-Do List) 앱을 개발하는 방법에 대해 알아보겠습니다. 안드로이드 애플리케이션 개발에 대한 기초 지식이 있는 분들을 대상으로 하며, 클래스, 리스트, 데이터베이스 등 여러 개념을 활용하는 방법을 배울 수 있습니다. 강좌가 끝나면 기본적인 할 일 목록 앱을 완성할 수 있을 것입니다.

1. 안드로이드 앱 개발 환경 설정

안드로이드 앱을 개발하기 위해서는 Android Studio라는 통합 개발 환경(IDE)을 설치해야 합니다. Android Studio는 구글이 공식적으로 지원하는 IDE로, 안드로이드 앱 개발에 최적화되어 있습니다. 다음은 개발 환경을 설정하는 기본 단계입니다:

  1. Android Studio 공식 웹사이트에 방문하여 최신 버전을 다운로드합니다.
  2. 다운로드한 파일을 실행하여 설치합니다.
  3. 설치가 완료되면 Android Studio를 실행합니다.
  4. SDK(Software Development Kit)를 설치합니다.

2. 프로젝트 생성

Android Studio에서 새로운 프로젝트를 생성하려면 다음 단계를 따르세요:

  1. Android Studio를 실행하고, “Start a new Android Studio project”를 선택합니다.
  2. “Empty Activity”를 선택하고 “Next”를 클릭합니다.
  3. 프로젝트 이름을 지정하고, 패키지 이름, 저장 위치 등을 설정합니다. 언어는 “Java”를 선택합니다.
  4. “Finish”를 클릭하여 프로젝트를 생성합니다.

3. UI 설계

이제 UI를 설계하겠습니다. 할 일 목록 앱의 기본적인 UI 구성 요소는 다음과 같습니다:

  • 할 일을 입력할 수 있는 EditText
  • 할 일을 추가하는 Button
  • 할 일 목록을 보여주는 ListView

3.1 XML 레이아웃 파일 수정

Android Studio에서 res/layout/activity_main.xml 파일을 열고 다음과 같이 수정합니다:

        <?xml version="1.0" encoding="utf-8"?>
        <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <EditText
                android:id="@+id/editTextTask"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="할 일을 입력하세요" />

            <Button
                android:id="@+id/buttonAdd"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="추가"
                android:layout_below="@id/editTextTask" />

            <ListView
                android:id="@+id/listViewTasks"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_below="@id/buttonAdd" />
          
        </RelativeLayout>
    

4. Java 코드 작성

레이아웃을 작성한 후, 이제 Java 코드를 작성하여 기능을 추가하겠습니다. 메인 액티비티인 MainActivity.java 파일을 열고 다음과 같이 구현합니다:

        package com.example.todolist;

        import android.os.Bundle;
        import android.view.View;
        import android.widget.ArrayAdapter;
        import android.widget.Button;
        import android.widget.EditText;
        import android.widget.ListView;

        import androidx.appcompat.app.AppCompatActivity;

        import java.util.ArrayList;

        public class MainActivity extends AppCompatActivity {

            private EditText editTextTask;
            private Button buttonAdd;
            private ListView listViewTasks;
            private ArrayList<String> tasks;
            private ArrayAdapter<String> adapter;

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

                editTextTask = findViewById(R.id.editTextTask);
                buttonAdd = findViewById(R.id.buttonAdd);
                listViewTasks = findViewById(R.id.listViewTasks);

                tasks = new ArrayList<>();
                adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, tasks);
                listViewTasks.setAdapter(adapter);

                buttonAdd.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View view) {
                        String task = editTextTask.getText().toString();
                        if (!task.isEmpty()) {
                            tasks.add(task);
                            adapter.notifyDataSetChanged();
                            editTextTask.setText("");
                        }
                    }
                });
            }
        }
    

5. 앱 실행하기

코드를 작성한 후, 앱을 실행하기 위해 다음 단계를 따르세요:

  1. Android Studio의 툴바에서 “Run” 버튼을 클릭합니다.
  2. 에뮬레이터 또는 실제 기기를 선택합니다.
  3. 앱이 성공적으로 실행되면, 입력란에 할 일을 입력하고 “추가” 버튼을 클릭하여 할 일이 목록에 추가되는 것을 확인합니다.

6. 추가 기능 구현하기

이제 기본적인 할 일 목록 앱이 완성되었습니다. 하지만 추가 기능을 구현하여 앱을 더욱 발전시킬 수 있습니다. 다음은 추가할 수 있는 기능들입니다:

  • 할 일 목록의 항목을 삭제하는 기능
  • 할 일 목록의 항목을 완료 표시하는 기능
  • 데이터베이스를 활용하여 앱을 종료해도 데이터가 유지되도록 구현하기

6.1 항목 삭제 기능 구현하기

ListView의 아이템을 길게 클릭했을 때 해당 항목을 삭제하는 기능을 추가할 수 있습니다. 다음 코드를 MainActivity.java에 추가해주세요:

        listViewTasks.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
            @Override
            public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
                tasks.remove(position);
                adapter.notifyDataSetChanged();
                return true;
            }
        });
    

6.2 완료 표시 기능 구현하기

할 일을 완료한 경우 체크 표시를 추가하는 기능 역시 유용합니다. RecyclerView를 사용하면 체크리스트를 더 쉽게 관리할 수 있으며, 각 항목에 대한 체크박스를 추가하면 됩니다.

6.3 SQLite 데이터베이스 연동하기

앱을 종료해도 할 일이 유지되도록 하기 위해 SQLite 데이터베이스를 사용할 수 있습니다. SQLiteOpenHelper 클래스를 생성하여 데이터베이스를 관리할 수 있습니다.

결론

이번 강좌를 통해 자바를 활용한 안드로이드 할 일 목록 앱을 개발하는 방법을 배웠습니다. 기본적인 앱을 만드는 데에서 더 나아가, 추가 기능을 구현하는 방법까지 알아보았습니다. 이러한 기본적인 구성 요소들과 개념들은 향후 더 복잡한 앱을 개발하는 데 기초가 될 것입니다. 안드로이드 앱 개발에 있어 지속적인 학습이 필요하므로, 다양한 프로젝트를 시도해보시기 바랍니다.

참고 자료