Android
 Computer >> コンピューター >  >> プログラミング >> Android

GSONライブラリを使ってArrayListをStringに変換する方法【Android開発】

GSONとは

GSONはGoogleが提供するJavaライブラリで、JavaオブジェクトをJSONへ、またJSONをJavaオブジェクトへ相互に変換するために使用されます。内部ではシリアライズ(直列化)とデシリアライズ(非直列化)の仕組みに基づいて動作しています。

この記事では、GSONライブラリを使用してArrayListを文字列(String)に変換する方法を、サンプルコード付きの手順で解説します。


実装手順

ステップ1:新規プロジェクトの作成

まず、Android Studioで新しいプロジェクトを作成します。メニューから「File」→「New Project」を選択し、必要な項目をすべて入力してプロジェクトを作成してください。

ステップ2:build.gradleに依存関係を追加

次に、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'
}

上記のコードでは、dependenciesブロック内にGSONの最新ライブラリ「gson:2.8.5」を追加しています。これにより、プロジェクト内でGSONの機能が利用可能になります。

ステップ3:レイアウトファイル(activity_main.xml)の編集

続いて、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を1つ配置しています。このTextViewには、変換後の結果データが表示されることになります。

ステップ4:MainActivity.javaの実装

最後に、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形式の文字列に変換できる点です。非常にシンプルに実装できるのがGSONの魅力です。

アプリの実行と結果確認

それでは、アプリを実行してみましょう。ここでは、実際のAndroid端末をPCに接続しているものとして説明します。Android Studioからアプリを実行するには、プロジェクト内のいずれかのアクティビティファイルを開き、ツールバーの「Run」アイコンをクリックします。表示された選択肢から接続したモバイルデバイスを選択すると、端末の画面に結果が表示されます。

GSONライブラリを使ってArrayListをStringに変換する方法【Android開発】

上記の出力結果のように、ArrayListのデータが文字列(JSON配列形式)として正しく表示されていることが確認できます。このように、GSONを使えば数行のコードでArrayListと文字列の相互変換が簡単に行えます。

  1. 【Android開発】Bitmap(ビットマップ)をDrawableに変換する方法をサンプルコード付きで解説

    この記事では、Androidアプリ開発においてBitmap(ビットマップ)をDrawableに変換する方法を、実際のサンプルコードとともにステップ形式で解説します。画像の描画やカスタムビューの実装などで頻繁に必要となる処理なので、ぜひ参考にしてください。 全体の流れ 本チュートリアルでは、ボタンをタップするとリソースから取得したDrawableをBitmapに変換し、さらにそのBitmapを新しいDrawableとしてImageViewに表示するというシンプルなアプリを作成します。 ステップ1:新規プロジェクトの作成 まず、Android Studioで新しいプロジェクトを作成します。メニュー

  2. 【Android開発】カラー整数(int)を16進数カラーコード文字列に変換する方法

    Androidアプリ開発では、色情報がint型の整数値として扱われることが多く、これを「#FF5733」のような16進数のカラーコード文字列に変換したいケースがあります。本記事では、Integer.toHexString()メソッドを使ってカラー整数を16進文字列に変換する方法を、実際のサンプルプロジェクトとともにわかりやすく解説します。変換の仕組みAndroidでは、色はARGB形式(アルファ・赤・緑・青)の32ビット整数として表現されます。そのため、-16895234のような負の値も有効なカラー整数です。Integer.toHexString(int)で16進文字列に変換した後、先頭2桁は