এন্ড্রয়েড এপ ডেভেলপমেন্ট[১] : জাভা ও আমি দুইয়ে মিলে!

টিউন বিভাগ জাভা
প্রকাশিত

দোস্ত-একটা লিংক পাঠাইছি, ডাউনলোড নে।

-কেন? কি আছে তাতে?

আরেহ.!! একটা এন্ডয়েডের সফটওয়ার মেক করছি।

আমার বন্ধু, যে সি প্রোগ্রামিং এ কোডের ভয়ে টেনেটুনে থিওরি মুখুস্ত করে পাশ মার্ক তুলেছে, আর সেই-ই কিনা এখন এন্ড্রয়েড এপস ডেভলপ করছে।

অনেক খুজে ওর গুপ্ত রহস্য খুজে পেলাম- কিছু সাইট আছে যেখানে কয়েকটি ক্লিক করেই এপ ডেভেলপার হওয়া যায়। আমার মতে এগুলো কে এপ ডেভেলপিং বলে না, এগুলা হলো APK ফাইল বানানো।

এন্ড্রয়েড এপ্স ডেভেলপমেন্ট সম্পর্কে অনেক লেখাই দেখেছিলাম। বিষয় টি একটু জটিল লাগায় আর সামনে এগুতে পারি নি। যদিও সামান্য C/C++/Visual Basic 6.0 তে একটু জানা আছে। আর জাভা সম্পর্কে কিছু কিছু কল্পনা করা আছে। যাই হোক এবার সাহস করে শুরুটা করেই ফেললাম।

কম টাকা দিয়ে 2GB নেট প্যাকেজ নিলাম। ১.১ গি.বা. এন্ড্রয়েড স্টুডিও ডাউনলোড করলাম। ওরাকল থেকে জাভা ডেভেলপমেন্ট কিট ডাউনলোড করলাম। WinXP তে AUTOEXEC.BAT ফাইলে জাভা বিন ফোল্ডার এড করে দিলেই হতো, কিন্তু জানালা ১০ এ আর কাজ হলো না। জাভা কনফিগার করতে control panel > system > Advance System settings> Advanced> Environment Variables>Add System variables click New. পর্যন্ত যেতে হলো। এরপরে- Variable Name: SunJava

Variable Value: C:\Program Files\Java\jdk1.7.0_79\bin

Click PATH- Edit.

Add this Line       ;%SunJava%  (সেমিকোলন সহ)

এবার ওকে ওকে করে এসে কমান্ড প্রটম্প চালু করলাম। জাভা ঠিকঠাক কাজ করছে কিনা জানার জন্য java –version ও javac –version কমান্ড দিলাম। বাহ বেশতো!!!

Java Test
Java Installation Success.

JDK path সেটিং কিছু বুঝতে না পারলে নিচের পিকটা দেখে নিন।

Java path
Java Environment Path Settings

ইংরেজি আর বাংলা(দুঃসাধ্য বাংলা বর্ননার টিউটোরিয়াল) কিছু টিউটোরিয়াল মিলে এন্ড্রয়েড স্টুডিওটা মোটামুটি সেটাপ আর কনফিগার করলাম, ADB কনফিগার করলাম। ব্লাঙ্ক প্রজেক্ট সেট করায় হ্যালো ওয়ার্ল্ড প্রোগ্রামটা রেডি করাই ছিল। রান করালাম টিউটোরিয়াল দেখে। মেসেজ এলো HAXM is not working and emulator runs in emulation mode. আবারো ঘেটেঘুটে দেখলাম। Intel Hardware Accelerated Execution Manager (Intel® HAXM) ভার্চুয়াল ইমুলেশন মোড অন করতে হবে। HAXM ড্রাইভার নামিয়ে ইন্সটল দিলাম, বায়োস এ গিয়ে VT Enable করলাম। এরপরে এপস টা রান করালাম। বাহ!!! দারুন!!! নিজেকে Developer ভাবতেই বুকটা গর্বে ফুলে উঠলো। আস্তে আস্তে ঘাটাঘাটি শুরু করে দিলাম, বুঝলাম APK ফাইল বানাতে হলে জাভার কোডিং এর কোন বিকল্প নেই, দপ করেই নিভে গেলো এপস ডেভেলপার হবার স্বপ্ন। তাই আপাতত এন্ড্রয়েড স্টুডিও অফ করে ফিরে এলাম জাভা শেখার জন্য।

সি/সি++ হালকা জানা থাকায় জাভা একটু সোজা হলো। জাভা দুই ধরনের প্রোগ্রামে ব্যবহৃত হয়ঃ-স্ট্যান্ড এলোন এপলিকেশন, আর অ্যাপলেট। স্ট্যান্ড এলোন এপলিকেশন যেটা সরাসরি পিসিতেই রান করে। অ্যাপলেট-যেটা সার্ভার থেকে রান করে ক্লায়েন্টের জাভা কম্পাটিবল ব্রাউজারে। স্ট্যান্ড এলোন এপলিকেশনের দিকেই গেলাম- এখানে ক্লাস নেম আর ফাইল নেম একই হতে হবে। শুরুটা অবশ্যই ক্যাপিটাল লেটার হতে হবে। শুরুটা নাম্বার হবে না, কী-ওয়ার্ড হতে পারবে না এমন আরো কিছু শর্ত সাপেক্ষে ক্লাস/ভেরিয়েবল নাম করন করতে হবে।

জাভার এপ্লিকেশন রান করে main() থেকে, তাই মেইন ফাংশন অবশ্যই পাব্লিক হতে হবে। নাহ! মেইন মেথড হবে জাভাতে, সি তে ফাংশন আর জাভাতে মেথড বলতে হবে। মেথডে ভেরিয়েবলের বর্ননা ও এর ব্যবহার নিয়ে কিছু স্টেটমেন্ট থাকে। এরপরে একটু ইন্টারেস্টিং ব্যাপার যেটা এনক্যাপসুলেশন সেটাই মুলত ক্লাস, ক্লাস-যেটা অবজেক্ট তৈরির মুল সাবজেক্ট। বহুরুপতা হলো একই জিনিসের ভিন্ন ভিন্ন রুপ বা পলিমরফিজম। ইনহেরিটেন্স মানে হলো উত্তরাধিকার সুত্রে পাওয়া কিছু রিটার্ন ভেলু। আচ্ছা- নোডপ্যাডে একটা ছোট্ট জাভার কোডিং লিখে দেখি,

public class TechTunes {

public static void main(String[] args) {

System.out.println("I Love Java Program.");

}

}

 

Output: I Love Java Program.

Online Java Code Compiler

ক্লাস অবশ্যই পাব্লিক হবে তাই, public বলেই ক্লাস TechTunes নামে ডিক্লারেশন করলাম। এই কোড টা যখন সেভ করবো তখন TechTunes.java নাম দিয়ে সেভ করতে হবে। ক্লাস { দিয়ে শুরু ও } শেষ হবে। যেহেতু মেইন মেথড থেকে জাভা রান করবে তাই মেইন মেথড শুরু void main. আর String[] args হলো আরগুমেন্ট বা যুক্তি যেগুলো String টাইপের ডাটা [] তে অ্যারে আকারে ধারন করবে। মানে- args[0]=”Techtunes”; args[1]=”Jony”;.. এরপরে মেইন মেথড { দিয়ে শুরু হয়েছে।

System হলো জাভার বিল্ট-ইন প্যাকেজ, এর সাব ক্লাস out তাই “.” চিহ্ন দিয়ে বুঝানো করা হয়েছে, out এর println/print মেথড রান করবে। } } দুইটা ক্লাস ক্লোজিং ও মেইন মেথড ক্লোজিং করেছে। প্রতিটি স্টেটমেন্ট শেষ হলে অবশ্যই সেমিকোলন(;) দিতে হবে। এবার কম্পাইল করার জন্য Start>cmd>চালু করে javac TechTunes.java লিখে কমান্ড দিলে TechTune.class নামে একটি জাভা বাইট কোডের ফাইল তৈরি হবে এবার java TechTunes লিখে কমান্ড দিলে I Love Java Program. লেখাটি দেখতে পাবো। কমান্ড প্রটম্প যেখান থেকে শুরু হয় সেখানে আপনার জাভা ফাইল টা রেখে দিবেন না হয় আপনার জাভা ফাইল যেখানে সেখানে পাথ সেট করে দিবেন। নইলে কমান্ড প্রটম্প জাভা ফাইল খুজে পাবে না। অর্থাৎ - cmd এখানে C:\Users\Administrator> হলে, জাভা ফাইলটা C:\Users\Administrator\TechTune.java হবে।

নোটপ্যাডে জাভা কোড লিখতে গেলে টাইপ মিস্টেক বা অন্যকোন ভুল হতেই পারে এর জন্য Eclipse IDE for Java Developers ব্যবহার করতে পারেন। অথবা IntelliJ IDEA থেকে ফ্রি ভার্সনটা ডাউনলোড দিতে পারেন।

আর হ্যাঁ! জাভা কিন্তু কেস সেন্সিটিভ, মানে আপার কেস ও লোয়ার কেস লেটার মেনে চলে। java/JaVa/JAVA… আলাদা আলাদা।

আপনার জাভা ইন্সটল/কনফিগার করতে ঝামেলা হলে বা টেষ্ট করার জন্য অনলাইন কম্পাইলার ব্যবহার করে দেখতে পারেন। টিউটোরিয়াল পয়েন্টের জাভা অনলাইন কম্পাইলার(একটু স্লো কাজ করে) জাভা কম্পাইলার। অথবা কম্পাইল জাভা থেকে খুব সহজেই জাভা কোড কম্পাইল ও এক্সিকিউট করতে পারেন।

 

ধন্যবাদ আপনাকে, এত্তো কষ্ট করে আমার বকবক গুলো পড়ার জন্য, এখন একটা ছোট্ট টিপস দেই MS-Word এর ভেতরে এটাচ করা কোন ছবি থাকলে আলাদা করবেন কিভাবে?খুবই সোজা- ফাইল এক্সটেনশন .DOC/.DOCX কেটে দিয়ে .ZIP লিখুন। এবার আনজিপ করুন। যেমন-Document1.Docx Rename করে Document1.zip বানালাম, এরপরে আনজিপ করলাম। এবার \Document1\word\media ফোল্ডারে গেলেই এর ভেতরের সব ছবি পেয়ে যাবো।

শেষ কথা-বাংলায় জাভা শেখার ভালোমানে টিউটোরিয়াল বা গাইডলাইন কোনটাই নেই। কোথা থেকে? কিভাবে শুরু করবো বুঝা যায় না। তবুও অনেকেই শিখছে জাভা প্রোগ্রামিং। আমার মত যারা স্টুডেন্ট নই, অনলাইন থেকে টিউটোরিয়াল সংগ্রহ করে শিখতে চাই তাই বিপদে পড়তে হয়। ইংরেজি রেফারেন্স ই-বুক গুলো বেশ ভালোই জাভার বিবরন দিয়েছে। আপাতত সেগুলো সাথী করেই এগুতে চেষ্টা করছি। শুরুতে যতটা কঠিন মনে করেছিলাম ততটা কঠিন নয় জাভা প্রোগ্রামিং। ভালোভাবে গুছিয়ে টিউটোরিয়াল করা হয়েছে এমন বাংলা টিউটোরিয়াল পাওয়া যায় না। যেগুলো পাওয়া যায় তার সবই অসম্পুর্ন। তাই ক্ষোভ প্রকাশের জন্য এই টিউন করা।

আপনি চাইলে যেকোন ইংরেজি রেফারেন্স বই নিয়ে আমার মত শেখা শুরু করতে পারেন। এন্ড্রয়েড এপস ডেভেলপার হতে চান? জাভা লাগবেই তাছাড়া জাভা এখন প্রথম সারির হাই লেভেল-মেশিন ল্যাংগুয়েজ। পরিপুর্ন জাভা ডেভলপার না হোন অন্তত নিজের হিসাব নিকাশের জন্য মনের মাধুরি মিশিয়ে একটা apk ফাইল বানাতে পারবেন আশা করি। এই টিউনে কোন ভুল হলে ক্ষমাপ্রার্থী।

ভালো থাকুন 🙂

 

By-My Home

Level 2

আমি জনি আহমেদ। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 9 বছর 7 মাস যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 25 টি টিউন ও 301 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 1 ফলোয়ার আছে এবং আমি টেকটিউনসে 0 টিউনারকে ফলো করি।


টিউনস


আরও টিউনস


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


টিউমেন্টস

ধন্যবাদ ! চালিয়ে যাবেন আশা করি !

    জাভা শেখা শুরু করেছি যেহেতু, আশাকরি শেষ পর্যন্ত চালিয়ে যাবো। পারলে একটু হেল্প করবেন। 🙂

অনেক ধন্যবাদ এই রকম পোষ্ট এর জন্য. blogtechbd.blogspot.com

nice,ভাই চালিয়ে যান।
“java the complete reference” by harbad schild
বইটা best.

can i have your e-mail address please ?