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

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

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

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

</android.support.constraint.ConstraintLayout>

ধাপ ৫: MainActivity.java-এ Bubble 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.BubbleChart;
import com.github.mikephil.charting.data.BubbleData;
import com.github.mikephil.charting.data.BubbleDataSet;
import com.github.mikephil.charting.data.BubbleEntry;
import com.github.mikephil.charting.utils.ColorTemplate;
import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {
    BubbleChart bubbleChart;
    BubbleData bubbleData;
    BubbleDataSet bubbleDataSet;
    ArrayList<BubbleEntry> bubbleEntries;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        bubbleChart = findViewById(R.id.BubbleChart);
        getEntries();
        
        bubbleDataSet = new BubbleDataSet(bubbleEntries, "");
        bubbleData = new BubbleData(bubbleDataSet);
        bubbleChart.setData(bubbleData);
        
        bubbleDataSet.setColors(ColorTemplate.JOYFUL_COLORS);
        bubbleDataSet.setValueTextColor(Color.BLACK);
        bubbleDataSet.setValueTextSize(18f);
    }

    private void getEntries() {
        bubbleEntries = new ArrayList<>();
        // BubbleEntry(x, y, size)
        bubbleEntries.add(new BubbleEntry(0, 1, 0.21f));
        bubbleEntries.add(new BubbleEntry(1, 2, 0.12f));
        bubbleEntries.add(new BubbleEntry(2, 3, 0.20f));
        bubbleEntries.add(new BubbleEntry(2, 4, 0.52f));
        bubbleEntries.add(new BubbleEntry(3, 5, 0.29f));
        bubbleEntries.add(new BubbleEntry(4, 6, 0.62f));
    }
}

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

BubbleEntry প্যারামিটার

  • x - X অক্ষ অবস্থান
  • y - Y অক্ষ অবস্থান
  • size - বাবলটির আকার (রেডিয়াস)

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

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

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

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

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

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

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

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