এন্ড্রয়েড ডেভেলপমেন্ট [পর্ব ৩৪] :: Quotation app(কোটেশান অ্যাপ) : Images জাভা ক্লাস এবং এর প্রয়োজনীয় সেটিংস্‌

এন্ড্রয়েড ডেভেলপমেন্ট

আজকের পর্বে আমরা Images গুলো একটি জাভা ক্লাস এ সেট করব  এবং এখান থেকে Images এর জন্য নিজস্ব আইডি রিটার্ন কিভাবে করতে হয় তা শিখব।

প্রথমেই একটি জাভা ক্লাস ফাইল নেয় Images নামে।তারপর আমদেরকে ইমেজ গুলোকে ArrayList  এ একটি নিজস্ব আইডি এর মধ্যে সেভকরে রাখতে হবে। যেখান থেকে ওই আইডি তে প্রত্যেক ইমেজকে অ্যাড করে দিতে হবে এবং ওই আইডি কেই আমাদের এই জাভা ক্লাস থেকে রিটার্ন করে দিতে হবে।

Images জাভা ক্লাস এর গঠন হবে নিচের মতনঃ

package com.coderart.quoteapp;

import java.util.ArrayList;

public class Images {

	ArrayList<Integer> imgId;

	public Images(){

		imgId = new ArrayList<Integer>();

		imgId.add(R.drawable.img1);

		imgId.add(R.drawable.img2);

		imgId.add(R.drawable.img3);

		imgId.add(R.drawable.img4);

		imgId.add(R.drawable.img5);

	}

	public  ArrayList<Integer> getImgitem()
	{
		return imgId;
	}

}

এখানে সাধারনত এন্ড্রয়েড এর Arraylist কে Arraylist< (extended) E> এভাবে প্রকাশ করা হয়। তারপর এখানে আইডি হিসেবে imgId দেয়া হয়েছে।

এরপর Images ক্লাস এর constructor স্বরূপ Public Images() এর মধ্যে imgId এর জন্য একটি instance তৈরি করে এবং এই আইডি এর মধ্যে সবগুলো ইমেজকে অ্যাড করে দেয়া হয়েছে।

তারপর getImgitem() এই মেথডের দ্বারা ইমেজের আইডি রিটার্ন করা হয়েছে। আর এই মেথডের এরর দূর করার জন্য ArrayList<Integer> এভাবে যোগ করে দেয়া হয়েছে।

অনুরুপভাবে আমাদের মেইন ImageMainView ক্লাসেও Images ক্লাস এ ডিক্লিয়ার করা ডাটাগুলো চিনিয়ে দেয়ার জন্য প্রয়োজনীয় মানগুলো initialize করে দিতে হবে। এই জন্য সবগুলো ডাটা নির্ণয় এর জন্য ArrayList<Integer> itemData এভাবে একটি অ্যারে ডিক্লিয়ার করে দেয় এবং Images ক্লাস এর অধীনে একটি অবজেক্ট ImageId এভাবে নিচের মত ডিক্লিয়ার করে দেয়।

package com.coderart.quoteapp;

import java.util.ArrayList;

import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.view.WindowManager;
import android.widget.Button;

public class ImageMainView extends FragmentActivity implements OnPageChangeListener, OnClickListener {

     Button btnPrevious, btnNext;

     ViewPager viewPage;

     ArrayList&lt;Integer&gt; itemData;

     Images imageId;

    @Override
    protected void onCreate(Bundle savedInstanceState)

    {
        this.requestWindowFeature(Window.FEATURE_NO_TITLE);

        this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_image_main_view);

        viewPage = (ViewPager) findViewById(R.id.viewPager);

        btnPrevious = (Button) findViewById(R.id.btnPrevious);

        btnNext = (Button) findViewById(R.id.btnNext);

	    imageId = new Images();

		itemData = imageId.getImgitem();

        viewPage.setOnPageChangeListener(ImageMainView.this);

        btnPrevious.setOnClickListener(this);

        btnNext.setOnClickListener(this);

    }

    @Override
    public void onClick(View arg0) {
        // TODO Auto-generated method stub

    }

    @Override
    public void onPageScrollStateChanged(int arg0) {
        // TODO Auto-generated method stub

    }

    @Override
    public void onPageScrolled(int arg0, float arg1, int arg2) {
        // TODO Auto-generated method stub

    }

    @Override
    public void onPageSelected(int arg0) {
        // TODO Auto-generated method stub

    }

}

তারপর onCreate মেথডের ভিতর itemData তে সবগুলো আইটেম নিয়ে আসার জন্য ImageId দ্বারা একটি নতুন instance তৈরি করি। অতপরঃ itemData = imageId.getImgitem() এভাবে ডিক্লিয়ার করে Images ক্লাস থেকে ডাটাগুলো itemData তে নিয়ে আসতে হবে। যা আমাদের পরবর্তীতে কাজে লাগবে।

এই ছিল আজকের Imagesজাভা ক্লাস এবং এর প্রয়োজনীয় সেটিংস্‌ সম্পর্কে আলোচনা।

এন্ড্রয়েড ডেভেলপমেন্ট এর সর্বশেষ পর্ব সম্পর্কে নোটিফিকেশান পেতে লাইক করুন ফেসবুকের এই পেইজে এ।

Level 0

আমি নাঈম হায়দার ঋদ্ধি। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 11 বছর 5 মাস যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 76 টি টিউন ও 44 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 6 ফলোয়ার আছে এবং আমি টেকটিউনসে 0 টিউনারকে ফলো করি।

Computer ও Programming পছন্দ, আমার youtube channel https://www.youtube.com/channel/UCYKbAf2kXLgKav30hd3zDPQ . আমার ফেসবুক প্রোফাইল https://www.facebook.com/nayeem.riddhi


টিউনস


আরও টিউনস


টিউনারের আরও টিউনস


টিউমেন্টস