ওভারভিউ
এই টিউটোরিয়ালটি দেখাবে কিভাবে অ্যান্ড্রয়েড ডিভাইসের সিস্টেম ভার্সন (Android Version), API লেভেল এবং কোডনেম (যেমন: Jelly Bean, KitKat, Lollipop ইত্যাদি) প্রোগ্রাম্যাটিক্যালি বের করা যায়।
পূর্বশর্ত
- অ্যান্ড্রয়েড স্টুডিও
- Java বা Kotlin বেসিক জ্ঞান
ধাপ ১: প্রজেক্ট তৈরি করুন
File → New Project → Empty Activity সিলেক্ট করুন।
ধাপ ২: লেআউট (res/layout/activity_main.xml)
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android"
xmlns:tools="https://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="16dp"
tools:context=".MainActivity">
<TextView
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:textAlignment="center"
android:textSize="24sp"
android:textStyle="bold" />
</RelativeLayout>
ধাপ ৩: MainActivity.java
package com.example.checkversion;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Build;
import android.os.Bundle;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = findViewById(R.id.textView);
// রিলিজ ভার্সন নম্বর পপার্স করা (যেমন: 11.0, 12.1, 13.0)
String release = Build.VERSION.RELEASE;
double releaseVersion = 0;
try {
// প্রথম দুটি ডিজিট নেওয়া (মেজর.মাইনর)
releaseVersion = Double.parseDouble(release.replaceAll("(\\d+[.]\\d+)(.*)", "$1"));
} catch (NumberFormatException e) {
e.printStackTrace();
}
String codeName = "Unknown";
// কোডনেম নির্ধারণ (পুরানো ভার্সনগুলো জন্য)
if (releaseVersion >= 4.1 && releaseVersion < 4.4) codeName = "Jelly Bean";
else if (releaseVersion < 5) codeName = "KitKat";
else if (releaseVersion < 6) codeName = "Lollipop";
else if (releaseVersion < 7) codeName = "Marshmallow";
else if (releaseVersion < 8) codeName = "Nougat";
else if (releaseVersion < 9) codeName = "Oreo";
else if (releaseVersion < 10) codeName = "Pie";
else if (releaseVersion < 11) codeName = "Android 10";
else if (releaseVersion < 12) codeName = "Android 11";
else if (releaseVersion < 13) codeName = "Android 12";
else if (releaseVersion < 14) codeName = "Android 13";
else if (releaseVersion < 15) codeName = "Android 14";
else codeName = "Android " + (int)releaseVersion + "+";
String info = codeName + " Version " + release + ", API Level: " + Build.VERSION.SDK_INT;
textView.setText(info);
}
}
ধাপ ৪: AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android"
package="com.example.checkversion">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
চলান ও আউটপুট
অ্যাপ চালালে টেক্সটভিউতে দেখাবে: "Android 13 Version 13.0, API Level: 33" (আপনার ডিভাইস অনুযায়ী)।
মূল ক্লাস ও মেথড
Build.VERSION.RELEASE- ইউজার-ফেসিং ভার্সন স্ট্রিং (যেমন: "13")Build.VERSION.SDK_INT- API লেভেল (ইন্টিজার)Build.VERSION_CODES- কনস্ট্যান্ট ক্লাস (যেমন:Build.VERSION_CODES.TIRAMISU= 33)
আধুনিক পদ্ধতি (API 24+)
// শুধু কোডনেম পেতে
String codename = Build.VERSION.CODENAME; // "REL" বা "Tiramisu" (ডেভেলপার প্রিভিউতে)
// সমস্ত তথ্য একসাথে
String fullInfo = "OS: " + Build.VERSION.RELEASE
+ " (API " + Build.VERSION.SDK_INT + ")"
+ ", Code: " + Build.VERSION.CODENAME;
ব্যবহারের ক্ষেত্র
- কম্প্যাটিবিলিটি চেক (ফিচার সাপোর্ট)
- অ্যানালিটিক্স/লগিং
- কন্ডিশনাল কোড এক্সিকিউশন