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

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

এই উদাহরণটি দেখায় কীভাবে আপনার অ্যান্ড্রয়েড অ্যাপ্লিকেশনে MPAndroidChart লাইব্রেরি ব্যবহার করে Radar 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
}

ধাপ ৪: লেআউট ফাইলে RadarChart ভিউ যোগ করুন (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.RadarChart
        android:id="@+id/RadarChart"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</android.support.constraint.ConstraintLayout>

ধাপ ৫: MainActivity.java-এ Radar 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.RadarChart;
import com.github.mikephil.charting.data.RadarData;
import com.github.mikephil.charting.data.RadarDataSet;
import com.github.mikephil.charting.data.RadarEntry;
import com.github.mikephil.charting.utils.ColorTemplate;
import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {
    RadarChart radarChart;
    RadarData radarData;
    RadarDataSet radarDataSet;
    ArrayList<RadarEntry> radarEntries;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        radarChart = findViewById(R.id.RadarChart);
        getEntries();
        
        radarDataSet = new RadarDataSet(radarEntries, "");
        radarData = new RadarData(radarDataSet);
        radarChart.setData(radarData);
        
        radarDataSet.setColors(ColorTemplate.JOYFUL_COLORS);
        radarDataSet.setValueTextColor(Color.BLACK);
        radarDataSet.setValueTextSize(18f);
    }

    private void getEntries() {
        radarEntries = new ArrayList<>();
        radarEntries.add(new RadarEntry(0.21f));
        radarEntries.add(new RadarEntry(0.12f));
        radarEntries.add(new RadarEntry(0.20f));
        radarEntries.add(new RadarEntry(0.52f));
        radarEntries.add(new RadarEntry(0.29f));
        radarEntries.add(new RadarEntry(0.62f));
    }
}

নোট: মূল উদাহরণে কিছু অপ্রাসঙ্গিক ইম্পোর্ট এবং ভুল কনস্ট্রাক্টর ছিল। উপরের কোডটি সংশোধিত ভার্সন।

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

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

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

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

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

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

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

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