কম্পিউটার টিউটোরিয়াল

অ্যান্ড্রয়েডে Scatter Chart গ্রাফ ব্যবহার করা

এই উদাহরণটি দেখায় কীভাবে আপনার অ্যান্ড্রয়েড অ্যাপ্লিকেশনে MPAndroidChart লাইব্রেরি ব্যবহার করে Scatter Chart বাস্তবায়ন করা যায়।

প্রয়োজনীয় ধাপসমূহ

ধাপ ১: নতুন প্রজেক্ট তৈরি করুন

Android Studio-তে File → New Project এ যান এবং প্রজেক্ট তৈরি করার জন্য প্রয়োজনীয় তথ্য পূরণ করুন।

ধাপ ২: মডিউল-লেভেল build.gradle-এ লাইব্রেরি নির্ভরতা যোগ করুন

apply plugin: 'com.android.application'

android {
    packagingOptions {
        exclude 'META-INF/proguard/androidx-annotations.pro'
    }
    packagingOptions {
        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/license.txt'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/NOTICE.txt'
        exclude 'META-INF/notice.txt'
        exclude 'META-INF/ASL2.0'
    }
    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.android.support.constraint:constraint-layout:1.1.3'
    implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0-alpha'
    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'
}

ধাপ ৩: অ্যাপ্লিকেশন-লেভেল build.gradle-এ রিপোজিটরি যোগ করুন

// Top-level build file
buildscript {
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.2.1'
    }
}

allprojects {
    repositories {
        google()
        jcenter()
        maven { url 'https://jitpack.io' }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

ধাপ ৪: লেআউট ফাইলে ScatterChart ভিউ যোগ করুন (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">

    <com.github.mikephil.charting.charts.ScatterChart
        android:id="@+id/scatterChart"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</android.support.constraint.ConstraintLayout>

ধাপ ৫: MainActivity.java-এ Scatter Chart লজিক বাস্তবায়ন করুন

package com.example.andy.myapplication;

import android.graphics.Color;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import com.github.mikephil.charting.charts.ScatterChart;
import com.github.mikephil.charting.data.BarEntry;
import com.github.mikephil.charting.data.ScatterData;
import com.github.mikephil.charting.data.ScatterDataSet;
import com.github.mikephil.charting.utils.ColorTemplate;
import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {
    ScatterChart scatterChart;
    ScatterData scatterData;
    ScatterDataSet scatterDataSet;
    ArrayList<BarEntry> scatterEntries;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        scatterChart = findViewById(R.id.scatterChart);
        getEntries();
        
        scatterDataSet = new ScatterDataSet(scatterEntries, "");
        scatterData = new ScatterData(scatterDataSet);
        scatterChart.setData(scatterData);
        
        scatterDataSet.setColors(ColorTemplate.JOYFUL_COLORS);
        scatterDataSet.setValueTextColor(Color.BLACK);
        scatterDataSet.setValueTextSize(18f);
    }

    private void getEntries() {
        scatterEntries = new ArrayList<>();
        scatterEntries.add(new BarEntry(2f, 0));
        scatterEntries.add(new BarEntry(4f, 1));
        scatterEntries.add(new BarEntry(6f, 1));
        scatterEntries.add(new BarEntry(8f, 3));
        scatterEntries.add(new BarEntry(7f, 4));
        scatterEntries.add(new BarEntry(3f, 3));
    }
}

নোট: ScatterChart-এ ScatterEntry ব্যবহার করা উচিত, কিন্তু উদাহরণে BarEntry ব্যবহার করা হয়েছে। আপনার প্রজেক্টে ScatterEntry ব্যবহার করুন।

অ্যাপ্লিকেশন চালান

আপনার অ্যান্ড্রয়েড ডিভাইস কম্পিউটারের সাথে সংযুক্ত করুন। Android Studio-তে প্রজেক্টের অ্যাক্টিভিটি ফাইল খুলুন এবং টুলবার থেকে Run আইকনে ক্লিক করুন। আপনার মোবাইল ডিভাইস নির্বাচন করুন এবং আউটপুট দেখুন।

অ্যান্ড্রয়েডে Scatter Chart গ্রাফ ব্যবহার করা

উপরের ফলাফলে আমাদের ডেটাসেট মান অনুযায়ী Scatter Chart দেখানো হচ্ছে।

  1. অ্যান্ড্রয়েড লোডার (Loader) ব্যবহারের পদ্ধতি

  2. অ্যান্ড্রয়েডে LocalBroadcastManager ব্যবহারের পদ্ধতি

  3. অ্যান্ড্রয়েডে Handler ব্যবহারের পদ্ধতি

  4. এন্ড্রয়েডে ViewFlipper ব্যবহার করার পদ্ধতি