আপনি কি শিখতে পারবেন?
“এমপি অ্যান্ড্রয়েড চার্ট” স্কেলিং, ড্র্যাগিং এবং অ্যানিমেশন সমৃদ্ধ একটি শক্তিশালী ওপেন সোর্স অ্যানড্রয়েড চার্ট ভিউ / গ্রাফ ভিউ লাইব্রেরি ।
- আপনি শিখতে পারবেন কিভাবে "এমপি অ্যান্ড্রয়েড চার্ট" লাইব্রারি ব্যাবহার করতে পারবেন অ্যান্ড্রয়েড স্টুডিও এর প্রোজেক্ট এ ।
- আপনি শিখতে পারবেন কিভাবে বার চার্ট বানাতে হয় এই লাইব্রারি ব্যাবহার করে অ্যান্ড্রয়েড স্টুডিও এর প্রোজেক্ট এ ।
- আপনি শিখতে পারবেন কিভাবে একটা লাইব্রারি অ্যাড করতে হয় অ্যান্ড্রয়েড স্টুডিও এর প্রোজেক্ট এ ।
দরকারি সরঞ্জাম
- অ্যান্ড্রয়েড স্টুডিও
- "এমপি অ্যান্ড্রয়েড চার্ট" লাইব্রারির গিটহাব রিপসিটোরির লিঙ্ক
- অ্যান্ড্রয়েড ভারচুইয়াল ডিভাইস (জেনিমশন )
কঠিনতা
- মৌলিক এবং সহজ
টিউটোরিয়াল এর বিষয়বস্তু
আমাদের অ্যান্ড্রয়েড অ্যাপ্লিকেশান এ অনেক সময়ই অনেক ধরনের চার্ট , এনিমেশন প্রদর্শনের প্রয়োজন পড়ে । কিন্তু, এই সব জিনিষ , অ্যাপ এর মদ্ধে দেয়াটা অনেক ক্ষেত্রেই অনেক জটিল হয়ে পড়ে । তাই, অনেক ধরনের লাইব্রেরি রয়েছে যার মাধ্যমে আপনি সহজেই বিভিন্ন ধরনের চার্ট , গ্রাফ আপনার অ্যাপ এর মধ্যে উপস্থাপন করতে পারবেন ।
এই লাইব্রেরি ব্যাবহার করে আপনি নিম্নের কাজগুলো সহজেই করতে পারবেন :
- ঘনাকার লাইন সমৃদ্ধ লাইন চার্ট
- সাধারণ লাইন চার্ট
- অনুভূমিক বার চার্ট
- পাই চার্ট
- লাইন চার্ট ও বার চার্ট একসাথে
> আসুন আমরা একটি উদাহরণ চেষ্টা করি যেখানে এই লাইব্রেরি ব্যাবহার করা হয়েছে :
build.graddle(app) ফাইলে নিম্নের কোড প্রবেশ করাই :
maven { url “https://jitpack.io” }
}
dependencies {
compile ‘com.github.PhilJay:MPAndroidChart:v2.0.9’
}
activity_main.xml ফাইলে নিম্নের কোড গুলো প্রবেশ করাই :
<RelativeLayout 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:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context=".MainActivity">
<com.github.mikephil.charting.charts.BarChart
android:id="@+id/chart"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</RelativeLayout>
“আর অন্য কোন কোড থাকবে না এই ফাইল এর মধ্যে ”
আপনি উপরের লেআউটটিতে দেখতে পারেন, আমি com.github.mikephil.charting.charts
ব্যবহার করেছিএকটি অ্যান্ড্রয়েড বার চার্ট উদাহরণ তৈরি করতে ।
MainActivity.java ফাইলে নিম্নের কোড টা প্রবেশ করাই :
import android.graphics.Color;
import java.util.ArrayList;
import com.github.mikephil.charting.charts.BarChart;
import com.github.mikephil.charting.data.BarData;
import com.github.mikephil.charting.data.BarDataSet;
import com.github.mikephil.charting.data.BarEntry;
import android.support.v7.app.ActionBarActivity;
import com.github.mikephil.charting.utils.ColorTemplate;
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
BarChart chart = (BarChart) findViewById(R.id.chart);
BarData data = new BarData(getXAxisValues(), getDataSet());
chart.setData(data);
chart.setDescription("আমার চার্ট ");
chart.animateXY(2000, 2000);
chart.invalidate();
}
private ArrayList<BarDataSet> getDataSet() {
ArrayList<BarDataSet> dataSets = null;
ArrayList<BarEntry> valueSet1 = new ArrayList<>();
BarEntry v1e1 = new BarEntry(100.000f, 0); // আম
valueSet1.add(v1e1);
BarEntry v1e2 = new BarEntry(80.000f, 1); // জাম
valueSet1.add(v1e2);
BarEntry v1e3 = new BarEntry(60.000f, 2); // কলা
valueSet1.add(v1e3);
BarEntry v1e4 = new BarEntry(40.000f, 3); // লিচু
valueSet1.add(v1e4);
BarEntry v1e5 = new BarEntry(90.000f, 4); //আতা
valueSet1.add(v1e5);
BarEntry v1e6 = new BarEntry(10.000f, 5); // পেয়ারা
valueSet1.add(v1e6);
ArrayList<BarEntry> valueSet2 = new ArrayList<>();
BarEntry v2e1 = new BarEntry(50.000f, 0); // আম
valueSet2.add(v2e1);
BarEntry v2e2 = new BarEntry(40.000f, 1); // জাম
valueSet2.add(v2e2);
BarEntry v2e3 = new BarEntry(30.000f, 2); // কলা
valueSet2.add(v2e3);
BarEntry v2e4 = new BarEntry(20.000f, 3); // লিচু
valueSet2.add(v2e4);
BarEntry v2e5 = new BarEntry(5.000f, 4); // আতা
valueSet2.add(v2e5);
BarEntry v2e6 = new BarEntry(80.000f, 5); // পেয়ারা
valueSet2.add(v2e6);
BarDataSet barDataSet1 = new BarDataSet(valueSet1, "আমি খাই ");
barDataSet1.setColor(Color.rgb(0, 155, 0));
BarDataSet barDataSet2 = new BarDataSet(valueSet2, "আমার বন্ধু খায়");
barDataSet2.setColors(ColorTemplate.LIBERTY_COLORS);
dataSets = new ArrayList<>();
dataSets.add(barDataSet1);
dataSets.add(barDataSet2);
return dataSets;
}
private ArrayList<String> getXAxisValues() {
ArrayList<String> xAxis = new ArrayList<>();
xAxis.add("আম");
xAxis.add("জাম");
xAxis.add("কলা");
xAxis.add("লিচু");
xAxis.add("আতা");
xAxis.add("পেয়ারা");
return xAxis;
}
}
“আর অন্য কোন কোড থাকবে না এই ফাইল এর মধ্যে ”
ফলাফল :
এই কোড গুলো অ্যান্ড্রয়েড স্টুডিও তে প্রোজেক্ট এর মধ্যে রান করালে আমরা নিম্নের ফলাফল
দেখতে পাবো :
ক্লাস এর মধ্যে প্রথমে একটি “বার চার্ট” ইনিশিয়ালাইজ করা হয়েছে । BarEntry ক্লাস দিয়ে বার চার্ট এর জন্য ডাটা তৈরি করা হয়েছে । BarEntry ক্লাস টা হল Entry ক্লাস এর একটি সাব-ক্লাস যা — সব ডাটা টাইপ এর জন্য বেস-ক্লাস এই লাইব্রেরিতে । এই BarEntry যোগ করা হয়েছে BarDataSet এ । chart.setData(data) মেথড ব্যাবহার করে সব মান সেট করা হয়েছে । chart.invalidate() মেথড ব্যাবহার করে মান গুলো বার চার্ট এ প্রদর্শন করা হয়েছে ।
wow! 1st time ever I see a post in Bengali.. Thank you for your post..
you welcome :)
Thank you for the contribution. It has been approved.
You can contact us on Discord.
[utopian-moderator]
Thanks a lot!