অ্যান্ড্রয়েড GSON টিউটোরিয়াল

JSON নিয়ে কাজ করার জন্য GSON দারুণ একটি লাইব্রেরী। এটি JSON কে অবজেক্টে কনভার্ট করে বা অবজেক্টকে JSON এ কনভার্ট করে দেয়। সিম্পল একটা প্রজেক্ট তৈরি করে আমরা দুইটা প্রসেসই দেখব।

তার জন্য আমাদের activity_main এ দুইটা বাটন এবং দুইটা টেক্সট ভিউ তৈরি করব। একটা হচ্ছে JSON to Java Object এর জন্য। এবং আরেকটা Object to JSON এর জন্য। activity_main:

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="me.jakir.gson.MainActivity"
    android:orientation="vertical">

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/button1"
        android:text="Object to JSON" />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/jsonView"/>

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/button2"
        android:text="JSON to Object" />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/objectView" />
</LinearLayout></pre>

 

GSON লাইব্রেরী আমাদের প্রজেক্ট যুক্ত করার  জন্য আমাদের App ফোল্ডারে থাকা build.gradle ফাইলের মধ্যে dependencies এর মধ্যে নিচের dependencie টা যুক্ত করে দিব। এরপর সিঙ্ক করে নিলেই আমাদের প্রজেক্টে  GSON লাইব্রেরী যুক্ত হয়ে যাবে।


compile 'com.google.code.gson:gson:2.2.4'

 

আমরা Friend.java নামে একটি ক্লাস তৈরি করব। যেখানে মেম্বার ভ্যারিয়েবল হিসেবে থাকবে name এবং email. এবং Getter এবং Setter যুক্ত করে দিব। Friend.java:

public class Friend {
    private String name;
    private String email;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    @Override
    public String toString()
    {
        return "Friends [name=" + name + ", Email=" + email ;
    }
}

অবজেক্টকে JSON এ কনভার্ট করতে রয়েছে toJson() মেথড। আর Object to JSON এ কনভার্ট করতে হয়েছে fromJson(). নিছে MainActivity.java:

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

import com.google.gson.Gson;


public class MainActivity extends AppCompatActivity {
    Button button1, button2;
    TextView jsonView, objectView;
    Gson gson = new Gson();

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

        button1 = (Button) findViewById(R.id.button1);
        button2 = (Button) findViewById(R.id.button2);
        jsonView = (TextView) findViewById(R.id.jsonView);
        objectView = (TextView) findViewById(R.id.objectView);


        button1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Friend friend = new Friend();
                friend.setName("Elon Musk");
                friend.setEmail("[email protected]");

                //Object to JSON
                jsonView.setText(gson.toJson(friend));

            }
        });

        button2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                // JSON to Object
                objectView.setText(String.valueOf((
                        gson.fromJson("{\"email\":\"[email protected]\",\"name\":\"Elon Musk\"}",
                                Friend.class))));
            }
        });



    }
}

3 thoughts on “অ্যান্ড্রয়েড GSON টিউটোরিয়াল

  1. ভাইয়া, আপনার সাথে কন্টাক্ট করার মাধ্যম কি ওয়েবে বা সামনাসামনি …
    আপনার ওয়েবসাইটে তো contact এর কোন অপশনই পাচ্ছি নাহ তাই কমেন্টই লিখতে বাধ্য হলাম 🙂
    ফেবু তে ম্যাসেজ দিছি কিন্তু সেটা মনে হয় আপনার ফিল্টারে জমা হয়ে আছে ।
    গতদিন একটা ইভেন্টে দেখা হল কিন্তু আপনাকে জিজ্ঞাসা করার আগেই আর আপনাকে খুজে পাই নাই । :'( :'(

    ধন্যবাদ
    ক্ষমা করবেন কমেন্টে এগুলা লেখার জন্যে !
    খুশি হব যদি আমার উত্তর টা আমার মেইল এই দেন তো 🙂

    1. mail[at]jakir.me তে যোগাযোগ করতে পারেন।

Leave a Reply

Your email address will not be published. Required fields are marked *