Fri. Nov 16th, 2018

এন্ড্রয়েড এপস ডেভেলপমেন্ট পর্ব ০১ঃ TextView , Button এবং CheckBox নিয়ে কাজ

এন্ড্রয়েড এপস ডেভেলপমেন্টের সময় আমাদের অনেক ধরনের Widget নিয়ে কাজ করতে হয় যেমন TextView , ListView , Button কিংবা EditText ফিল্ড ইত্যাদি। এন্ড্রয়েড এপস ডেভেলপমেন্টের আজকের টিউটোরিয়ালে আমরা দেখবো TextView , Button এবং CheckBox নিয়ে কিভাবে কাজ করতে হয় ।

TextView নিয়ে কাজ

TextView সাধারণত এপ স্ক্রিনে Text দেখানোর জন্য ব্যবহার করা হয় । TextView এর অনেক ধরনের Attribute থাকে যেমন id,margin,padding,gravity,textSize,text ইত্যাদি । TextView ক্লাসের প্যারেন্ট ক্লাস হচ্ছে View ক্লাস । আমরা XML ফাইলের মাধ্যমে কিংবা জাভা ক্লাসের মাধ্যমে TextView ক্লাসের জন্য Instance তৈরি করতে পারি ।

TextView এর XML কোডঃ

<TextView
        android:id="@+id/my_name"
        android:text="Enter name..."
        android:textSize="25sp"
        android:layout_gravity="center"
        android:layout_marginTop="50dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

TextView এর জাভা কোড ঃ

TextView myName=(TextView)findViewById(R.id.my_name);
myName.setText("AsifsZone");

TextView এর Attribute গুলো দেখে নেয়া যাক

১ ) ID :  প্রত্যেকটা TextView এর একটি ইউনিক ID থাকে যার মাধ্যমে TextView কে নির্দিষ্ট করা যায় । উপরের কোডে ID হচ্ছে my_name যাকে দিয়ে আমরা একটা নির্দিষ্ট TextView কে নিয়ে কাজ করতে পারবো । যেকোনো view এর ID কে এক্সেস করতে হয় findViewByID(R.id.id_name) মেথডের মাধ্যমে ।

২ ) Gravity :  TextView এর Alignment এর জন্য Gravity Attribute ব্যাবহার করা হয় । উপরের কোডে gravity সেট করা হয়েছে center অর্থাৎ একেবারে কেন্দ্রে ।আরো gravity রয়েছে যেমন right,left,top,bottom ইত্যাদি । তবে gravity Attribute ব্যাবহার করতেই হবে এমন কোন কথা নেই ।

এছাড়া আরও বিভিন্ন ধরনের Attribute আছে যেমন Text সেট করার জন্য text Attribute , Text সাইজের জন্য textSize Attribute , Text কালারের জন্য textColor ইত্যাদি ।

উপরের কোডগুলো একত্রেঃ

XML লেআউট

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.example.asifkhan.basic.MainActivity">

    <TextView
        android:id="@+id/my_name"
        android:text="Enter name..."
        android:textSize="25sp"
        android:layout_gravity="center"
        android:layout_marginTop="50dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

</LinearLayout>

জাভা কোড

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        TextView myName=(TextView)findViewById(R.id.my_name);
        myName.setText("AsifsZone");
    }
}

উপরের কোডের আউটপুটঃ

 

উপরের কোডের আউটপুটে TextView এর text ভেলু হিসেবে AsifsZone দেখাচ্ছে ।

Button নিয়ে কাজ

Button সাধারণত এপ স্ক্রিনে কোন ধরনের ক্লিক কিংবা পুসিং ইভেন্ট দেখানোর জন্য ব্যবহার করা হয় । Button এর অনেক ধরনের Attribute থাকে যেমন id,margin,padding,gravity,textSize,text ইত্যাদি । TextView এর মতোই Button ক্লাসের প্যারেন্ট ক্লাস হচ্ছে View ক্লাস । আমরা XML ফাইলের মাধ্যমে কিংবা জাভা ক্লাসের মাধ্যমে Button ক্লাসের জন্য Instance তৈরি করতে পারি ।

Button এর XML কোডঃ

<Button
        android:id="@+id/show_name"
        android:text="Click Me"
        android:textAllCaps="false"
        android:layout_gravity="center"
        android:layout_marginTop="50dp"
        android:layout_width="150dp"
        android:layout_height="wrap_content" />

Button এর জাভা কোডঃ

Button show=(Button)findViewById(R.id.show_name);
show.setOnClickListener(new View.OnClickListener() {
  @Override
     public void onClick(View view) {
         Toast.makeText(MainActivity.this, "AsifsZone.com", Toast.LENGTH_LONG).show();
     }
});

Button এর Attribute গুলো দেখে নেয়া যাক

১ ) ID :  প্রত্যেকটা Button এর একটি ইউনিক ID থাকে যার মাধ্যমে Button কে নির্দিষ্ট করা যায় । উপরের কোডে ID হচ্ছে show_name যাকে দিয়ে আমরা একটা নির্দিষ্ট Button কে নিয়ে কাজ করতে পারবো ।

২ ) Gravity :  Button এর Alignment এর জন্য Gravity Attribute ব্যাবহার করা হয় । উপরের কোডে gravity সেট করা হয়েছে center অর্থাৎ একেবারে কেন্দ্রে ।আরো gravity রয়েছে যেমন right,left,top,bottom ইত্যাদি । তবে gravity Attribute ব্যাবহার করাটা একেবারেই বাধ্যতামূলক নয় ।

৩ ) textAllCaps : Text কে Capitalize / Uppercase করার জন্য textAllCaps ব্যবহার করা হয় । এর ডিফল্ট ভেলু TRUE অর্থাৎ Uppercase করা থাকে ।

এছাড়া আরও বিভিন্ন ধরনের Attribute আছে যেমন Text সেট করার জন্য text Attribute , background কালারের জন্য backgroundColor Attribute  ইত্যাদি । আর সবচেয়ে গুরুত্বপূর্ণ বিষয় হলো Button এর ক্লিক Event এর জন্য setOnClickListener( ) মেথড যার মাধ্যমে বাটনে ক্লিক করে কোন ধরনের কাজ করা যায় ।উপরের কোডে Button ক্লিক করে একটা টোস্ট দেখানো হয়েছে ।

উপরের কোডগুলো একত্রেঃ

XML লেআউট

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.example.asifkhan.basic.MainActivity">

    <Button
        android:id="@+id/show_name"
        android:text="Click Me"
        android:textAllCaps="false"
        android:layout_gravity="center"
        android:layout_marginTop="50dp"
        android:layout_width="150dp"
        android:layout_height="wrap_content" />

</LinearLayout>

জাভা কোড

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button show=(Button)findViewById(R.id.show_name);
        show.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Toast.makeText(MainActivity.this, "AsifsZone.com", Toast.LENGTH_LONG).show();
            }
        });
    }
}

উপরের কোডের আউটপুটঃ 

উপরের আউটপুটে Button ক্লিক করায় Toast মেসেজ দেখাচ্ছে ।

CheckBox নিয়ে কাজ

CheckBox সাধারণত কোন কিছুর স্টেট নির্ধারণের জন্য ব্যবহার করা হয় । অর্থাৎ এটা একরকম On/Off switch এর মতো কাজ করে । TextView কিংবা Button এর মতো CheckBox এরও অনেক ধরনের Attribute থাকে যেমন id,margin,checked,gravity,textSize,text ইত্যাদি । আমরা XML ফাইলের মাধ্যমে কিংবা জাভা ক্লাসের মাধ্যমে CheckBox ক্লাসের জন্য Instance তৈরি করতে পারি ।তবে CheckBox এর ইভেন্ট নেয়ার জন্য setOnCheckedChangeListener ( ) নামের মেথড ব্যাবহার করা হয়

CheckBox এর XML কোডঃ

<CheckBox
        android:id="@+id/show_text"
        android:text="Check Me"
        android:checked="false"
        android:layout_gravity="center"
        android:layout_marginTop="50dp"
        android:layout_width="150dp"
        android:layout_height="wrap_content" />

CheckBox এর জাভা কোড ঃ

CheckBox checkBox=(CheckBox) findViewById(R.id.show_text);
        checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
                Toast.makeText(MainActivity.this, "CheckBox is checked !", Toast.LENGTH_SHORT).show();
            }
        });

CheckBox এর Attribute গুলো দেখে নেয়া যাক

১ ) ID :  প্রত্যেকটা CheckBox এর একটি ইউনিক ID থাকে যার মাধ্যমে CheckBoxকে নির্দিষ্ট করা যায় । উপরের কোডে show_name হচ্ছে ID যাকে দিয়ে আমরা একটা নির্দিষ্ট CheckBox কে নিয়ে কাজ করতে পারবো ।

২ ) Checked :  CheckBox এর state এর জন্য এই Attribute ব্যাবহার করা হয় । উপরের কোডে checked সেট করা হয়েছে false অর্থাৎ বাই ডিফল্ট Unchecked থাকবে। উপরের কোডে CheckBox এ ক্লিক করে একটা টোস্ট দেখানো হয়েছে । এছাড়াও text , layout_gravity , textSize ইত্যাদি Attribute ও রয়েছে ।

উপরের কোডগুলো একত্রেঃ

XML লেআউট

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.example.asifkhan.basic.MainActivity">

    <CheckBox
        android:id="@+id/show_text"
        android:text="Check Me"
        android:checked="false"
        android:layout_gravity="center"
        android:layout_marginTop="50dp"
        android:layout_width="150dp"
        android:layout_height="wrap_content" />

</LinearLayout>

জাভা কোড

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        CheckBox checkBox=(CheckBox) findViewById(R.id.show_text);
        checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
                Toast.makeText(MainActivity.this, "CheckBox is checked !", Toast.LENGTH_SHORT).show();
            }
        });
    }
}

উপরের কোডের আউটপুটঃ

 

উপরের স্ক্রিন থেকে আমরা দেখতে পাচ্ছি যে CheckBox  কে checked করার সাথে সাথে একটি Toast মেসেজ দেখাচ্ছে ।

এই ছিলো আজকের আলোচনা । ভালো লাগলে শেয়ার করবেন । আমার তৈরি করা Android এপটি ডাউনলোড  করুন 

Comments

comments

3 thoughts on “এন্ড্রয়েড এপস ডেভেলপমেন্ট পর্ব ০১ঃ TextView , Button এবং CheckBox নিয়ে কাজ

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: