Computer >> 컴퓨터 >  >> 프로그래밍 >> Android

GSON을 활용해 ArrayList를 문자열로 변환하는 방법 완벽 정리

GSON은 자바(Java) 라이브러리로, 객체(Object)를 JSON으로 변환하거나 JSON을 객체로 변환하는 데 사용됩니다. 내부적으로는 직렬화(Serialization)와 역직렬화(Deserialization) 방식으로 동작합니다.

이 글에서는 GSON 라이브러리를 사용하여 ArrayList를 문자열로 변환하는 방법을 단계별로 알아보겠습니다.

1단계: 새 프로젝트 생성

Android Studio에서 새 프로젝트를 생성합니다. 상단 메뉴에서 File → New Project로 이동한 후, 새 프로젝트를 만들기 위해 필요한 모든 정보를 입력합니다.

2단계: build.gradle에 GSON 의존성 추가

build.gradle 파일에 다음 코드를 추가합니다.

apply plugin: 'com.android.application'
android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "com.example.andy.myapplication"
        minSdkVersion 15
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}
dependencies {
   implementation fileTree(dir: 'libs', include: ['*.jar'])
   implementation 'com.android.support:appcompat-v7:28.0.0'
   implementation 'com.google.code.gson:gson:2.8.5'
   implementation 'com.android.support.constraint:constraint-layout:1.1.3'
   testImplementation 'junit:junit:4.12'
   androidTestImplementation 'com.android.support.test:runner:1.0.2'
   androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}

위 코드에서는 GSON 최신 버전 라이브러리(com.google.code.gson:gson:2.8.5)를 의존성으로 추가했습니다.

3단계: 레이아웃 파일 작성

res/layout/activity_main.xml 파일에 다음 코드를 추가합니다.

<?xml version = "1.0" encoding = "utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android = "https://schemas.android.com/apk/res/android"
    xmlns:app = "https://schemas.android.com/apk/res-auto"
    xmlns:tools = "https://schemas.android.com/tools"
    android:layout_width = "match_parent"
    android:layout_height = "match_parent"
    tools:context = ".MainActivity">
    <TextView
        android:id = "@+id/result"
        android:layout_width = "wrap_content"
        android:layout_height = "wrap_content"
        android:text = "Result Data"
        app:layout_constraintBottom_toBottomOf = "parent"
        app:layout_constraintLeft_toLeftOf = "parent"
        app:layout_constraintRight_toRightOf = "parent"
        app:layout_constraintTop_toTopOf = "parent" />
</android.support.constraint.ConstraintLayout>

위 코드에는 TextView가 포함되어 있으며, 이 TextView는 변환된 결과 데이터를 화면에 표시하는 역할을 합니다.

4단계: MainActivity 코드 작성

src/MainActivity.java 파일에 다음 코드를 추가합니다.

package com.example.andy.myapplication;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
import android.widget.Toast;
import com.google.gson.Gson;
import java.util.ArrayList;
public class MainActivity extends AppCompatActivity {
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      TextView result = findViewById(R.id.result);
      ArrayList<String> list = new ArrayList<String>();
      list.add("JAVA");
      list.add("Android");
      list.add("Kotlin");
      list.add("C programing Language");
      list.add("C plus plus");
      Gson gson = new Gson();
      String arrayData = gson.toJson(list);
      result.setText(arrayData);
   }
}

코드의 핵심은 Gson 인스턴스를 생성한 후, gson.toJson(list) 메서드를 호출하여 ArrayList를 JSON 형식의 문자열로 변환하는 부분입니다. 변환된 문자열은 TextView에 표시됩니다.

실행 결과 확인

이제 애플리케이션을 실행해 보겠습니다. 실제 안드로이드 기기가 컴퓨터에 연결되어 있다고 가정합니다. Android Studio에서 앱을 실행하려면 프로젝트의 액티비티 파일 중 하나를 열고 툴바의 Run 아이콘을 클릭하세요. 그런 다음 실행할 모바일 기기를 선택하고, 기기 화면에 결과가 표시되는지 확인합니다.

GSON을 활용해 ArrayList를 문자열로 변환하는 방법 완벽 정리

위 출력 결과에서 ArrayList가 문자열 데이터로 성공적으로 변환되어 화면에 표시되는 것을 확인할 수 있습니다.