Introduction of Some Basic Things ( Android Bangla Tutorial -4)

আপনি ভার্চুয়াল মোবাইল দিয়ে ফোনকল বাদে সবকিছু করতে পারবেন । এটি রিয়েল মোবাইলের মতই । যদি ফোনকলের ফ্রি সফটওয়্যার নামিয়ে নেন তবে ফোনকলও দিতে পারবেন । তাই কাউকে মেইল পাঠানো কিংবা কোন স্পর্শকাতর বিষয়ে অবশ্যই দৃষ্টি রাখবেন ।

প্রথমেই আমরা একটি অ্যাপের ডিজাইন করা শেখবো । তো আপনার প্রোজেক্ট এর activity_main.xml এ চলে আসুন ।

Tag

প্রথমেই ট্যাগ নামক শব্দটির সাথে চলুন পরিচিত হওয়া যাক । HTML এর মত XML এও আমরা ট্যাগ ব্যাবহার করে থাকি , একটি ট্যাগ দেখতে ঠিক এরকম < tag_name > </ tag_name > কিংবা < tag_name />

< tag_name এখানে যে লেখাগুলো দেখেবন সেগুলো হল এই ট্যাগের বৈশিষ্ট অর্থাৎ এই উপাদানটি দেখতে কিংবা আচারনে কিরকম হবে  > আর এখানে যে লেখাগুলো লেখা হয় সেগুলো এই ট্যাগের বাচ্চা-কাচ্চা অর্থাৎ এই ট্যাগের আন্ডারে অন্য কোন উপাদান </ tag_name >

 XML

আমরা যে ল্যাঙ্গুয়েজ দ্বারা অ্যাপের  ডিজাইন করি সেটি হল Xml । xmlফাইলে গেলে কিছু টেক্স দেয়া আছে দেখতে পাবেন , এগুলো বুঝার মত কিছু নাহ , শুধু জেনে রাখা ভালো ।

<?xml version="1.0" encoding="utf-8"?>

একদম উপরে দেয়া এই লাইনটি দ্বারা বুঝায় আমরা যে Xml দিয়ে লিখবো সেটি হল Xml এর 1.0 ভার্সন । এবং এই Xml যখন বাইটকোডে রূপান্তরিত হবে তখন utf-8 এর ফন্ট দ্বারা রূপান্তরিত হবে ।

এরপর যে <android.support.constraint.ConstraintLayout   

দেখাচ্ছে এটা হল আমাদের অ্যাপের রুট লেআউট ফাইল, ইচ্ছা হলে অন্যান্য আরো লেআউট ফাইল নিয়ে আমরা কাজ করতে পারবো, এই লেআউট এর ভিতরেই আমরা আরো অনেক লেআউট ব্যাবহার করতে পারবো ।

xmlns:android="http://schemas.android.com/apk/res/android"

এরপর আমরা যে লাইনটা দেখতে পাচ্ছি এটার মানে হল আমরা যে  Xml ডকুমেন্টটা লিখবো তা অ্যান্ড্রোয়েড এর জন্য ব্যাবহার করবো ।


xmlns:tools="http://schemas.android.com/tools"


এর মানে আমরা যে অ্যাপটা বিল্ড করতেছি তা অ্যান্ড্রোয়েড স্টূডিও এর টুলস এর মাধ্যমে ।



                                                 Object

TextView , EditText , Button , ImageView সহ সকল ধরনের ভিউ নিয়ে যখন আমরা কাজ করবো তখন সেই সব ভিউ এর অব্জেক্ট তৈরি করে নিতে হবে এক্টিভিটি ক্লাসে । অ্যান্ড্রোয়েড লাইব্রেরী তে এইসকল ভিউ এর আচরন কি রকম হবে , কোন ম্যাথড কি রকম কাজ করবে তার সকল কিছু TextView , EditTex এরকম ক্লাসে তৈরি করা আছে । xml ফাইলে আমরা প্রতিটি ভিউ এর জন্য আইডি দিয়ে দিব । এরপর এক্টিভিটি ক্লাসে অব্জেক্ট তৈরি করে সেই অব্জেক্ট এর সাথে ভিউ এর আইডি যোগ করে দিব । এর ফলে আমরা এক্টিভিটি ক্লাসের অব্জেক্ট নিয়ে যা করবো তার প্রতিফলন ওইসব ভিউ তে ঘটবে । 

Toast

অ্যাপ চালানোর সময় স্ক্রিনে ইউজারকে কোন নোটিফিকেশন দিতে Toast ব্যাবহার করা হয়, এই সিরিজে প্রায় জায়গাই আমরা এটি ব্যাবহার করবো । তো দেখে নেয়া যাক এই নোটিফিকেশন টি কিভাবে লিখতে হয় । এটি জাভা ক্লসে লিখতে হবে ।

    Toast.makeText(this,"hello", Toast.LENGTH_SHORT).show();

এখানে Toast হল Construct an empty Toast object .

makeText ম্যাথডের মাধ্যমে আমরা বলে দিলাম যে এটি টেক্সভিউ বহন করবে । এই ম্যাথডের ভিতরে ৩ টি প্যারামিটার থাকে । ১ম টি আমরা যে এক্টিভিটি তে দেখাবো , ২য় টি আমরা যে ম্যাসেজ দেখাতে চাই, ৩য় ম্যাসেজের ডিউরেশন কত হবে ।

.show() ম্যাথডের মাধ্যমে ভিউটি দেখানো হয় ।

এখানে this দ্বারা বুঝানো হইছে আমরা যে ক্লাসের ভিতরে কোডটি লিখেছি সেই ক্লাসের সাথে যে এক্টিভিটি কানেক্ট আছে সেটিতে দেখাবে । আপনি চাইলে this এর বদলে getBaseContext() কিংবা যে এক্টিভিটি তে দেখাবেন তার নামে যেমন activity_name.this ও ইউজ করতে পারেন ।

এখানে hello দ্বারা বুঝানো হইছে hello ম্যাসেজটি দেখাবে ।

টাইম ডিউরেশন এর ক্ষেত্রে Android এ ২ টি কন্সট্যনাট আছে । একটি হল LENGTH_SHORT ( প্রায় ১.৫ সেকেন্ড ) অন্যটি LENGTH_LONG ( প্রায় ৩ সেকেন্ড সময়ের জন্য ভিউটি দেখায় ) ।

আপনি যদি ভিউটি দেখানোর জন্য নিজের ইচ্ছামাফিক টাইম সেট করতে চান সেক্ষেত্রে এই কোডটি ব্যাবহার করুন  -

final Toast tag = Toast.makeText(getBaseContext(), "YOUR MESSAGE",Toast.LENGTH_SHORT);

 tag.show();

 new CountDownTimer(9000, 1000)
 {

     public void onTick(long millisUntilFinished) {tag.show();}
     public void onFinish() {tag.show();}

 }.start(); 



এখানে CountDownTimer ম্যাথডের মাধ্যমে বুঝানো হইছে ৯ সেকেন্ড থেকে টাইম শুরু হয়ে ১ সেকন্ডে এসে থেমে যাবে অর্থাৎ মোট ৮ সেকেন্ড । এখানে শুরু এবং শেষ ২ টি সময়ই দিয়ে দিতে হবে আপনাকে এবং এটি যেহেতু DownTimer তাই প্রথমে বড় সংখ্যা এবং পরে ছোট সংখ্যাটি দিতে হবে ।

Toast এর বিভিন্ন ম্যাথড সম্পর্কে জানতে -
https://developer.android.com/reference/android/widget/Toast.html






মন্তব্যসমূহ

এই ব্লগটি থেকে জনপ্রিয় পোস্টগুলি

DatePicker

Frame Layout

relative layout design