: Fred Widjaja: ঠিক আছে. হাই, সবাই. আপনার জন্য স্বাগত জানাই ধন্যবাদ এই সেমিনারে আমাকে যোগদান. তাই আজ আমরা যে বিষয়ে কথা হতে যাচ্ছে কিভাবে Android এর জন্য অ্যাপ্লিকেশন বিকাশ, এবং বিশেষ করে, আমরা চলুন যাতে অ্যান্ড্রয়েড স্টুডিও ব্যবহার করা আমাদের Apps উন্নতি করতে পারেন. আপনি সব জানেন হতে পারে তাই. অ্যান্ড্রয়েড জাভা ব্যবহার করে, এবং তাই আমরা করব একটি সংক্ষিপ্ত ভূমিকা মধ্য দিয়ে যাচ্ছে জাভা নিজেই. তাই আমি শুধু আপনি অনেক আছে জানি C. তাই অভিজ্ঞতার প্রোগ্রামিং যে সম্পূর্ণই সূক্ষ্ম, এবং যে জাভা খুব খুব, কারণ সামান্য পার্থক্য সঙ্গে, সি অনুরূপ. তাই জাভা ধরনের বাইটের সংখ্যা সংশোধন করা হয়েছে. সুতরাং, সি, আমরা হাফপ্যান্ট আছে এবং longs, এবং তারা বিট সংখ্যার পার্থক্য মেশিন থেকে মেশিনে. জাভা, এটা ইতিমধ্যে একটি আদর্শ হিসাবে সেট এর. তাই বাইট আট বিট, হাফপ্যান্ট আছে তাই এবং তাই ঘোষণা 16 বিট, এবং আছে. আমরা অক্ষর, Booleans আছে এবং floats এবং টেনিস. তাই উপায় আপনি প্রোগ্রাম জাভা, এটা খুব অনুরূপ. সুতরাং উদাহরণস্বরূপ, আমরা loops জন্য এবং যখন loops, এবং যদি এবং অন্য বিবৃতি আপনি সি করতে হবে ঠিক একই ঠিক আছে, তাই বিশেষ জিনিস সম্পর্কে জাভা এটা ভিত্তিক বস্তু হয়. এখন, বস্তু কি? যদি আপনি তাকান তাই আপনি কাছাকাছি জিনিস, আপনি পাবেন লক্ষ্য করা যে প্রত্যেক বাস্তব জগতে বস্তু দুটি সাধারণ বৈশিষ্ট্য আছে. এবং যে তারা রাষ্ট্র আছে এবং তারা ব্যবহার করে কিছু সাজানোর আছে. উদাহরণস্বরূপ, কুকুর জন্য তাই রাজ্যের হবে, যা হয়তো, নাম, রং, বংশবৃদ্ধি হয় কুকুর ক্ষুধার্ত বা হয় না. এবং কিছু কিছু আচরণে কুকুর হবে ঘেউ ঘেউ আওয়াজ, অথবা একটি লেঙ্গুড় বিরাম হবে, অথবা একটি বল আনয়ন. সুতরাং আমরা এই আবেদন করতে পারেন জড় বস্তু. সুতরাং উদাহরণস্বরূপ, গাড়ি, তারা আছে মডেল, বছর, সর্বোচ্চ গতি, এবং তাই এবং তাই ঘোষণা. এবং তারা কিছু আচরণ আছে. উদাহরণস্বরূপ, ত্বরক, বা বাধাদান, অথবা বিপরীত যাচ্ছে. তাই জাভা মডেল চেষ্টা বস্তু এই ক্ষেত্র এবং পদ্ধতি না থাকার. ক্ষেত্র রাজ্য সুতরাং যে জাভা বস্তু, হতে পারে পদ্ধতি উপস্থাপনের সময় একটি জাভা বস্তুর হবে যে আচরণ. তাই আমি পদ্ধতি বলে যখন এবং ক্ষেত্র, আমি সত্যিই শুধু ভেরিয়েবল এবং ফাংশন মানে. তারা ছাড়া, ঠিক একই তারা একটি নির্দিষ্ট বস্তুর ক্ষেত্রে প্রযোজ্য হবে. ঠিক আছে, তাই ক্লাস যাওয়ার. জাভা ক্লাস মত একটি বস্তুর জন্য খেয়াল. তারা আপনাকে কি পদ্ধতি বলতে এটা আছে, এটি কি আছে যদি ক্ষেত্রের এবং এমনকি এখানে আমরা কিছু আছে বলা এক্সেস মোডিফায়ার যা আমরা একটা সময় পাবেন. সুতরাং, একটি জাভা বর্গ ঘোষণা করা একটি সি struct বাক্য গঠন অনুরূপ. এখানে আমরা পাবলিক বর্গ গাড়ী দিয়ে শুরু, এবং তারপর আমরা তারপর একটি খোলা বক্রবন্ধনী আছে ক্ষেত্র কিছু সংখ্যা যে আপনি বস্তুর করতে চান. এবং তারপর এখানে আমরা, কিছু পদ্ধতি আছে এবং আমরা একটি বস্তুর রচয়িতা আছে. এখন কি এই বস্তুর রচয়িতা এটা কি বস্তু বলে, ঠিক আছে, আমি এই আরম্ভ করতে চান ক্ষেত্র কিছু সাজানোর সঙ্গে বস্তু. তাই এখানে, আমরা প্রত্যেক গাড়ী চান একটি মডেল এবং একটি বছর আছে. সুতরাং আমরা একটি রচয়িতা আছে শুধু বিশেষভাবে মডেল এবং বছর, এবং জন্য এই মডেল ক্ষেত্র সেট হবে একটি নির্দিষ্ট মান, এবং বছর ক্ষেত্র হিসাবে ভাল. এখন এক্সেস সম্পর্কে আমি সম্পর্কে কথা বলা হয়েছিল মোডিফায়ার. এখানে আমরা পাবলিক আছে এবং ব্যক্তিগত এক্সেস মোডিফায়ার. তাই যদি আপনি মনে করতে পারেন আপনার ডিরেক্টরি মধ্যে rwx. তাই তারা কিছু মানুষ অনুমতি পড়া, এবং এক্সেস আছে এই ক্ষেত্র এবং পদ্ধতি. তাই আমি যে মডেল বলে এবং বছর এবং গতি, ব্যক্তিগত যে যে অন্যান্য বস্তু না করতে পারেন এই অবজেক্ট এর ক্ষেত্র অ্যাক্সেস করার প্রচেষ্টা ব্যক্তিগত আছে. কিন্তু আমি এক্সেস সেট যখন পরিবর্তক, পাবলিক করা এখন যে যে অন্যান্য বস্তু মানে অ্যাক্সেস বিনামূল্যে এবং এমনকি এখানে সংজ্ঞায়িত করা হয় যে পদ্ধতি ব্যবহার করা হয়. তাই এই মৌলিক আমি যে কার বস্তু. আমরা ত্বরান্বিত আছে, বিরতি, এবং getSpeed ​​পদ্ধতি. এই বিন্দু, সবাই স্পষ্ট জাভা বস্তু এবং কিভাবে তাদের ঘোষণা করা? কুল, ঠিক আছে. তাই আপনি যদি জাভা ব্যবহার করতে চান একটি প্রোগ্রাম নিজেই আপত্তি, তারপর আমরা এই ব্যবহার করতে পারেন নতুন গাড়ির রচয়িতা. তাই আমরা এখানে আমরা ডিক্লেয়ার করতে চান বলছে টাইপ গাড়ি, যা একটি নতুন বস্তু,. এবং এখানে এটি প্রয়োগ করার এর মডেল এবং বছরের, যা আমরা সংজ্ঞায়িত ঠিক এই বস্তু. তাই এই অন্য যদি আপনি বিজ্ঞপ্তি, বস্তু. এটা জন্য একটি বর্গ প্রধান প্রোগ্রাম নিজেই. এবং আমরা এই PSVM আছে, বা পাবলিক স্ট্যাটিক অকার্যকর প্রধান, ফাংশন, এবং তার শুরু আপনার প্রোগ্রাম বিন্দু, প্রধান অনুরূপ আপনার সি প্রোগ্রাম ফাংশন. এখানে, আমরা অ্যাক্সেস করতে পারেন এবং অবজেক্ট এর ফাংশন ব্যবহার তারপর বিন্দু এবং ব্যবহার ফাংশন নাম স্বরলিপি. এবং আমরা এমনকি নির্দিষ্ট করতে পারেন নির্দিষ্ট আর্গুমেন্ট অথবা পরামিতি যে ফাংশন জন্য. ঠিক আছে, তাই এখন উত্তরাধিকার যাওয়ার. তাই বাস্তব জগতে বস্তু হতে পারে একই বৈশিষ্ট্য ভাগ. সুতরাং উদাহরণস্বরূপ, আছে বাইসাইকেল বিভিন্ন ধরনের. উদাহরণস্বরূপ, পর্বত সাইকেল, শহর বাইক, বা টমটম বাইক. তাই তারা এই সাধারণ আছে একটি সাইকেল হচ্ছে চরিত্রগত. তাই বাইক দুই চাকার আছে এবং তারা হতে পারে, এমনকি, একটি handlebar থাকতে পারে একটি ব্যাক লাইট বা যে ভালো কিছু. তাই জাভা এই আমাদের দেয় বস্তু প্রতিনিধিত্ব করার ক্ষমতা সাধারণ কিছু আছে উত্তরাধিকার মাধ্যমে বৈশিষ্ট্য. এখন কি, উত্তরাধিকার, এটা একটি বস্তু এর ক্ষেত্র এবং পদ্ধতি পাস একটি শিশু বস্তুর উপর. উদাহরণস্বরূপ, যদি তাই আমি একটি গাড়ী আছে, এবং এটি আছে চার থাকার রাষ্ট্র কায়দা করে এবং এক স্টিয়ারিং হুইল, তারপর আমরা এই প্রেরণ করতে পারেন গাড়ির নির্দিষ্ট বিভিন্ন ধরনের. উদাহরণস্বরূপ, আমরা আছে সেদা, ক্রীড়া গাড়ী, এবং একটি SUV. এখন, এই তিনটি ভিন্ন গাড়ির ধরনের এখনও হবে চার চাকার এবং এক আছে স্টিয়ারিং হুইল, কিন্তু তারপর তারা নির্দিষ্ট হতে পারে বিশেষ বৈশিষ্ট্য, যেমন পাঁচ আসন থাকার হিসাবে এবং উদাহরণস্বরূপ, একটি সেদা জন্য. তাই এই উত্তরাধিকার ব্যবহার করতে বৈশিষ্ট্য, আমরা এই শব্দ প্রসারিত করে ব্যবহার করুন. তাই ফিরে গাড়ির মনে রাখবেন আমি পূর্বে নির্ধারিত যে বস্তু. এখন আমি একটি সেদা বস্তুর নির্ধারণ করুন. তাই এই পালকি বস্তুর হবে একই ক্ষেত্র এবং ফাংশন, বা পদ্ধতি, কার আছে যে. কিন্তু তারপর, এখানে আমি উল্লেখ কিছু অতিরিক্ত ফাংশন, উদাহরণস্বরূপ, সেট যাত্রী সংখ্যা এবং যাত্রী সংখ্যা পেতে. এখানে, আপনি খেয়াল করতে পারেন আমরা পদ্ধতি বাতিল করতে পারে যে, এবং যে আমরা ঠিক করছি মানে আচরণ পরিবর্তন কিছু কিছু ক্ষেত্রে ভিন্নভাবে কাজ করতে. সুতরাং, উদাহরণস্বরূপ, আমি চাই আমাদের গাড়ির জন্য একটি সর্বোচ্চ গতি সেট. এবং যে কাজ করতে, আমি এই কি না তা পরীক্ষা গতি সর্বোচ্চ গতি উপর যেতে হবে. যদি না হয়, তাহলে আমি কল সুপার বর্গ 'পদ্ধতি দ্রুততর. তাই এই super.accelerate হয় () কল সুপার বর্গ 'পদ্ধতি দ্রুততর. পরিশেষে, আমরা চলুন ইন্টারফেস সম্পর্কে কথা বলুন. তাই ইন্টারফেস মাত্র তা প্রকাশ করার একটি উপায় বাইরে বিশ্বের নির্দিষ্ট পদ্ধতি. সুতরাং তারা একটি টেবিল মত হন বিষয়বস্তু, এবং আপনি মত তাদের মনে করতে পারেন সি হেডার ফাইল, ঠিক মত খালি সংস্থা সঙ্গে পদ্ধতি, এবং তারা বস্তু বা বর্গ কি উল্লেখ আছে আছে, বা কি পদ্ধতি বস্তু বা বর্গ আছে আছে. উদাহরণস্বরূপ, যদি তাই আমি একটি বাইসাইকেল ইন্টারফেস আছে, এবং এটি তিনটি ভিন্ন পদ্ধতি আছে, এবং আমি এই ইন্টারফেস বাস্তবায়ন এখানে যদি, তারপর যে এই সাইকেল এর মানে হল যে একই বাস্তবায়ন করতে হবে তিন আমি ইন্টারফেস সংজ্ঞায়িত যে পদ্ধতি. এই বিন্দু পর্যন্ত, অন্য কোন প্রশ্ন? ঠিক আছে, শান্ত. সুতরাং এই একটি খুব সংক্ষিপ্ত ছিল এবং জাভা দ্রুত টিউটোরিয়াল. পথ আরো বৈশিষ্ট্য এবং বিষয়ের উপর আছে আপনি আসলে মাধ্যমে যেতে পারেন যে জাভা,. উদাহরণস্বরূপ, আছে জেনেরিক্স, তথ্য ধরনের আছে, এমনকি enums এবং স্টাফ আছে. আপনি আরো জানতে চান, তাই এটি সম্পর্কে, এই লিঙ্ক অনুসরণ না, এবং তারা আপনাকে তাদের সম্পর্কে আরো শেখানো হবে. ঠিক আছে, তাই, উপর সরানো যাক সেমিনারে প্রকৃত মাংস, এবং যে আসলে অ্যান্ড্রয়েড প্রোগ্রামিং. তাই আগে আমরা আসলে প্রোগ্রামিং পেতে, আমি কিছু অপভাষা সম্পর্কে কথা বলতে চান. তাই একটি কার্যকলাপ বলার অপেক্ষা রাখে না অ্যান্ড্রয়েড এর উপায় এটি একটি একক পর্দা আবেদন মধ্যে. সুতরাং, উদাহরণস্বরূপ, যদি আপনি একটি জিমেইল আছে অ্যাপ্লিকেশন, আমরা দেখতে ইমেইল কার্যকলাপ আছে. এবং তারপর আপনি ক্লিক করুন একটি নির্দিষ্ট ইমেইল, যে অন্য কার্যকলাপ যেখানে প্রদর্শন করা হবে এটি একটি দৃশ্য ইমেল কার্যকলাপ. এবং তারপর আমরা রচনা আছে কার্যকলাপ, বা সম্পাদন বার্তা কার্যকলাপ. তাই কার্যক্রম সাধারণত শুধুমাত্র একটি একক পর্দা আবেদন নিজেই মধ্যে. এখন, মতামত যে উপাদান পর্দা, বা কার্যকলাপ নিজেই আপ. তাই তারা একটি নির্দিষ্ট আঁকা আপনার পর্দায় জিনিস. সুতরাং উদাহরণস্বরূপ, এটি একটি হতে পারে টেক্সট ক্ষেত্রের, এটি একটি লেবেল হতে পারে, এটি একটি চেক বক্স হতে পারে. সুতরাং দেখা বিভিন্ন ধরনের হয়. তাই এখন আমরা ইন্টেন্ট আছে, এবং যে একটি বার্তা অন্য যে কার্যকলাপ প্রেরণ করা হয়. এবং তারা হিসাবে তথ্য থাকে আপনি কি এই কার্যকলাপ চালাতে চাই. পরিশেষে, আমরা আছে ম্যানিফেস্ট ফাইল, এবং যে আপনার ফোন যে দেয় একটি XML ফাইল আপনার অ্যাপ্লিকেশন সম্পর্কে সব তথ্য. যাতে সংস্করণ অন্তর্ভুক্ত করা হয়েছে, এবং আপনি হবে যে কার্যক্রম. ঠিক আছে, তাই এর শুরু করা যাক. সুতরাং আমরা হতে যাচ্ছেন অ্যান্ড্রয়েড স্টুডিও ব্যবহার করে. আপনি যদি না ইতিমধ্যে এই আছে, তাই যদি ইনস্টল করার পরে, বরাবর অনুসরণ করুন মুক্ত মনে. আমরা চেষ্টা করে এবং গোড়া থেকে শুরু করব. তাই আমি চেষ্টা করতে যাচ্ছি এবং একটি নতুন প্রকল্প তৈরি. এবং আমি কল করা যাচ্ছে না আমার প্রকল্প অ্যান্ড্রয়েড 101. এবং এখানে আমরা এর নাম রাখা আবেদন নাম ক্ষেত্রে প্রকল্প. কোম্পানি ডোমেন, আপনি না সত্যিই যে সম্পর্কে চিন্তা করতে হবে. এই মাত্র কিভাবে অ্যান্ড্রয়েড হয় আপনার আবেদন করা হয়েছে. যদি আপনি একটি ডোমেন নাম আছে সুতরাং, আপনি টাইপ করতে পারেন সেখানে ভিতরে আপনার ডোমেইন নাম. যদি আপনি না কিন্তু, আপনি মনে করতে পারেন আপনি কিছু করতে চান টাইপ করতে বিনামূল্যে. তাই এখানে আমি শুধু frederickw.com টাইপ. এবং তারপর, পরিশেষে, আমি যেখানে নির্বাচন আমি আমার প্রকল্প সঞ্চয় করতে চান. এবং আমি আমার ডেস্কটপে নির্বাচন করা যাচ্ছে না. ব্যবহারকারীরা, ফ্রেডেরিক তাই Widjaja, এবং ডেস্কটপ. ঠিক আছে. তারপর Next বাটনে ক্লিক করুন. এখানে, আমি নির্বাচন করা যাচ্ছে না নূন্যতম API সমর্থিত হবে. তাই এই ক্ষেত্রে, আমি এপিআই 15 চয়ন করতে যাচ্ছে. এবং এটা সূক্ষ্ম যদি আপনি শুধু সর্বশেষ API যা 4.4 চয়ন. বা 5, আসলে. কিন্তু তারপর আপনি শুধু চিন্তা করতে হবে যা আপনি সত্যিই সমর্থন করছি ফোন, এবং আপনি লক্ষ্য করছেন ফোন যা. Next ক্লিক করুন. ঠিক আছে, তাই আমরা এই আসা পর্দা, এবং আমরা ঠিক একটি তৈরি ব্যবহার করতে যাচ্ছে এই মাধ্যমে কার্যকলাপ. তাই আমি ফাঁকা ক্লিক করুন যাচ্ছি কার্যকলাপ এবং তারপর পরবর্তী. আমরা প্রধান কল করতে যাচ্ছেন কার্যকলাপ, আমি যে সূক্ষ্ম মনে করি. শুধু কল করতে যাচ্ছে, অধিকার এখানে প্রেস শেষ. এটি লোড করার জন্য অপেক্ষা করুন, এবং আমরা সেখানে যান. তাই আমরা এখানে তিন লক্ষ্য বিভিন্ন ফোল্ডার. আমরা স্পষ্ট ফোল্ডার আছে আমাদের স্পষ্ট রয়েছে. আপনি এটি খোলার জন্য, আমরা আমাদের প্যাকেজ দেখতে পাবেন. বা কিভাবে অ্যান্ড্রয়েড চিহ্নিত আপনার আবেদন এবং তারপর আমরা এই আছে আবেদন ট্যাগ, যা আমাদের অ্যাপ্লিকেশন শিরোনাম রয়েছে পাশাপাশি অ্যাপ্লিকেশনের জন্য আইকন হিসাবে. আমরা আসলে এই রান করতে পারেন আবেদন সোজা. তাই কেন আমরা চেষ্টা করুন এবং যে কি না? আমি Genymotion ব্যবহার করা যাচ্ছে না. আপনি আপনার নিজের ফোন আনা, আপনি যা করতে পারেন এটি আপ লিঙ্ক এবং আপনি করতে চান তাহলে এটি চালানোর জন্য. কিন্তু আমি শুধু একটি ব্যবহার করা যাচ্ছে না এমুলেটর, এবং আমি এই শুরু করা যাচ্ছে না. বিস্ময়. তবে আমি যে মনে হয় একটি সময় নিতে যাচ্ছে, তাই আমি আমরা সরাসরি পাবেন মনে এই বিষয়ে আরও ব্যাখ্যা মধ্যে. তাই আমরা এখানে জাভা ডিরেক্টরি আছে, বা আপনার সোর্স ফাইল যেখানে অন্তর্ভুক্ত করা হয়. এখানে আমরা প্রধান কার্যকলাপ নিজেই আছে. আপনি এটা দেখতে পারেন কার্যকলাপ বর্গ প্রসারিত করে. তাই আমাদের প্রধান কার্যকলাপ একটি পর্দা যে আমাদের আবেদন করা হবে. এবং তারপর এখানে আমরা একটি সংখ্যা যে লক্ষ্য কর্ম আমাদের জন্য স্বয়ং তৈরি হয়. আমরা OnCreate ফাংশন আছে এবং যে whenever-- বলা হবে ছাত্র: আপনি কিছু মনে করবেন না বড় টেক্সট তৈরীর? : Fred Widjaja: ঠিক আছে, নিশ্চিত. আমি চেষ্টা এবং ফন্টের আকার বৃদ্ধি করব. যে ভালো হতে হবে মনে হয়. এটা ভাল? ছাত্র: শুধু একটি সামান্য বিট 20 বা ভালো কিছু বেশী. : Fred Widjaja: 20? ঠিক আছে. ঠিক আছে, ঠিক আছে. তাই আমরা এখানে আছে OnCreate যে হবে পদ্ধতি যখন আমাদের কার্যকলাপ বলা যেতে [তৈরি করা হয়? প্রদর্শন?]. আমাদের সাথে আছে onCreateOptionsMenu, এবং আমরা করব আসলে আছে দেখতে একটি কর্ম বার, এবং তারপর আমরা তা নির্দিষ্ট মেনু আইটেম যোগ করতে পারেন. এবং তারপর এখানে আমরা onOptionsItemSelected. তাই এই, তাই একটি ঘটনা শ্রোতা ভালো হয় যখনই আমাদের কর্ম বার একটি বিকল্প ক্লিক করা হয়, এই ফাংশন বলা হবে, এবং এটি একটি সঙ্গে পাস করা হবে ক্লিক করা হয় যে নির্দিষ্ট আইটেম. ঠিক আছে, আমি see-- করা যাচ্ছে না যে ভাল কাজ করছে না. এর চেষ্টা করুন এবং শুরু করা যাক. ওহ প্রিয়. ঠিক আছে. এই উদ্বেজক হয়. ঠিক আছে, তাই যাহাই হউক না কেন. এখানে আমরা লেআউট আছে আমাদের কার্যকলাপ নিজেই জন্য. এই হল আমাদের প্রধান কার্যকলাপ, এবং এখানে আমরা কর্ম বার আছে বিজ্ঞপ্তি. এবং তারপর আমরা এই হ্যালো আছে বিশ্বের লেবেল, এবং আসলে আমরা করতে পারেন এখানে ডান টেক্সট সম্পাদনা করুন. আপনি যান এবং স্ক্রল হ্যালো ওয়ার্ল্ড নিচে, আমরা যাই হোক না কেন এটি পরিবর্তন করতে পারেন. উদাহরণস্বরূপ, এটি হাই, হতে পারে. স্বাগতম. এবং সেখানে আমরা এটা পরিবর্তন, যান. ওহ প্রিয়. এই শৈলী কাজ করছে না. ঠিক আছে, যে উদ্বেজক হয়. ঠিক আছে, যাহাই হউক না কেন, আমরা যে ছাড়া স্থানান্তর করতে পারেন. তাই এখন জন্য, আমি কি চেষ্টা করুন এবং কিছু সত্যিই মৌলিক উপাদান না. তাই আমরা এখানে আছে যাচ্ছে একটি লেবেল, এবং তারপর আমরা করছি একটি টেক্সট আছে যাচ্ছে view-- দুঃখিত, একটি টেক্সট দেখুন, আমরা একটি টেক্সট সম্পাদনা আছে চলুন. এবং যে একটি কম্পোনেন্ট আপনি টাইপ করুন এবং স্টাফ. সুতরাং আমরা তারপর একটি প্লেইন টেক্সট আছে, এবং আমরা শুধু আমাদের ইন্টারফেস সম্মুখের এটি যোগ করুন. এখানে, আমি কিছু মার্জিন যোগ করতে চান উপরে এটি nicer দেখায়, যাতে. তাই আমরা যেতে চলুন বৈশিষ্ট্য, এবং তারপর উপরে মার্জিন এ, আমরা 20 ডিপি যোগ করতে যাচ্ছে. সুতরাং এখন, ডিপি মাত্র হয় Android এর মধ্যে পরিমাপের একক, এবং তারা ঘনত্ব জন্য দাঁড়ানো স্বাধীন পিক্সেল. আপনি জানতে পারেন, তাই হিসাবে, অ্যানড্রইড, আছে পর্দা বিভিন্ন ধরনের এবং তারপর তারা আছে বিভিন্ন পর্দার ঘনত্ব. তাই এখানে এটা ঠিক হতে যাচ্ছে একটি ঘনত্ব স্বাধীন পিক্সেল, তাই এটি একই হতে যাচ্ছে সব পর্দা জুড়ে. এই টেক্সট সম্পাদনা প্রসারিত করতে যাচ্ছে, এবং তারপর আমি একটি বাটন যোগ করা যাচ্ছে না. এবং এটা ঠিক আছে বলে যাচ্ছে. 20 ডিপি. ঠিক আছে. তাই এখন আমরা তিনটি আছে বিভিন্ন উপাদান. এবং উপায় আমরা উল্লেখ করতে পারেন আমাদের প্রধান কার্যকলাপ বর্গ এই এই পদ্ধতি ব্যবহার করা হয় findViewByID বলা হয়. তাই আমি কিছু ক্ষেত্র নির্ধারণ করা যাচ্ছে না. সুতরাং আমরা TextView আছে, তাই এর helloText বলা যাক. এবং তারপর আপনি অ্যান্ড্রয়েড স্টুডিও ব্যবহার করছেন, আপনি শর্টকাট বিকল্প ব্যবহার করতে পারেন, লিখুন. এবং স্বয়ংক্রিয়ভাবে আমদানি ক্লাস ক্লিক করুন সংশ্লিষ্ট ক্লাস আমদানি আমরা প্রয়োজন. এবং তারপর এখানে আমি একটি আইডি যোগ করা যাচ্ছে না এই TextView এবং এটি text_hello কল. এখন আমরা সংজ্ঞায়িত করেছেন যে এই TextView জন্য একটি আইডি, আমরা পড়ুন এই ব্যবহার করতে পারেন আমরা শুধু সংজ্ঞায়িত যে textview. তাই helloText সমান TextView findViewByID, এবং তারপর আমরা আইডি নির্দিষ্ট করে আমরা r.ID.text_hello, যা করতে চান. তাই এই জাভাস্ক্রিপ্ট অনুরূপ এবং jQuery, যেখানে আমরা আসলে ঠিক করতে পারেন নির্দিষ্ট উপাদানের পড়ুন বিন্যাস ঠিক আমরা নির্দিষ্ট করা আছে যে আইডি ব্যবহার করে. তাই সাধারণভাবে, একটি অ্যাক্সেস করতে নির্দিষ্ট বস্তু বা একটি নির্দিষ্ট ক্ষেত্র আমাদের বিন্যাস, আপনি আছে চলুন এই findViewByID পদ্ধতি ব্যবহার করার জন্য. এবং তারপর আমরা একই কাজ করতে যাচ্ছেন অন্য দুটি উপাদানের জন্য জিনিস. এখানে, আমি যাচ্ছি আইডি text_name যোগ করুন. হ্যাঁ. পাশাপাশি এই এক জন্য. Button_ok. এখন আমি কি করতে চান কাজ করতে হয় আমরা ওকে বাটন ক্লিক করা হলে, এবং আমরা কিছু বাছাই করা ইনপুট আছে এর টেক্সট ক্ষেত্রের মধ্যে নাম, তারপর, এটা এই আপডেট করা যাচ্ছে লেবেল হাই, নাম, স্বাগত, বলতে. তাই, ফিরে আমাদের প্রধান কার্যকলাপ বর্গ, আমরা করছি এছাড়াও চেষ্টা করুন এবং পড়ুন যাচ্ছে আমরা খুঁজে বের করতে হবে যে যারা উপাদান. সুতরাং আমরা EditText nameText আছে. ওহো. লিখুন এবং বিকল্প, আমদানি বর্গ. এবং তারপর এছাড়াও OK বাটন. একইভাবে, আমরা চলুন এখানে একই জিনিস করে. nameText EditText সমান findViewByID, r.ID.text_name. এবং তারপর OK বাটন. findViewByID, r.ID, এবং তারপর button_ok. ঠিক আছে, তাই এখন আমরা সব তিনটি আছে আমরা পড়ুন চান যে উপাদান. তাই এখন আমি একটি জোড়া করা যাচ্ছে না আমাদের বাটন শ্রোতার উপর ক্লিক করুন ব্যবহারকারী ক্লিকের জন্য শুনতে. যে জন্য আমরা শুধু ব্যবহার setOnClickListener ঘটনা. এখন, এখানে আমরা প্রয়োজন বলছে setOnClickListener চিহ্নিত করার জন্য, এবং আপনি শুধুমাত্র একটি থাকার যে কি করতে পারেন নতুন onClickListener, এবং এন্টার চাপুন. এবং তারপর আপনি এই বেনামী আছে বর্গ, অথবা বেনামী বস্তু. এবং আমরা এই onClick আছে পদ্ধতি, এবং যে মূলত এর এটা বলা যেতে যাচ্ছে কি আমাদের বাটন এর ক্লিক যখনই. তাই এখানে, আমি নাম পেতে চান একটি টেক্সট ক্ষেত্রের মধ্যে ছিল ইনপুট প্রথম তাই স্ট্রিং নাম সমান nameText.getText (). আবার, এই ভালো হয় জাভা বাক্য গঠন উল্লেখ জন্য বস্তুর মধ্যে ফাংশন. NameText.getText তাই, এবং তারপর আমরা করছি একটি স্ট্রিং রূপান্তর যাচ্ছে. এখন আমরা নাম আছে ব্যবহারকারী দ্বারা ইনপুট ছিল. এবং তারপর আমরা চলুন একটি নতুন স্ট্রিং উৎপন্ন, তাই এটি হ্যালো বলা যেতে যাচ্ছে. আমি, হাই, নাম, স্বাগত বলতে যাচ্ছি. এবং পরিশেষে, আপনি চান helloText আপডেট. সুতরাং, আমরা কেবল কল করতে helloText.setText (হ্যালো). ঠিক আছে. ওহো. আমি Genymotion এবং পুনরায় চালানো যাচ্ছে না এক চূড়ান্ত সময় এবং এটি কাজ করে দেখুন. যদি না হয়, এটি সম্পূর্ণই সূক্ষ্ম. ঠিক আছে. তাই আমি এটা কাজ করে না অনুমান. আসলে, আমার চেষ্টা করুন এবং এই কাজ করতে দিন. এই হতে পারে. Genymotion. ঠিক আছে. ঠিক আছে. হ্যাঁ, এটি কাজ করে. ঠিক আছে. যে ভয়ানক ছিল. ঠিক আছে. আমি যে কি মানে না. ঠিক আছে, তাই আমরা এই Android এমুলেটর আছে. আমার এই বন্ধ যাক. সুতরাং আমরা আমাদের অ্যান্ড্রয়েড এমুলেটর আছে. তাই আমরা চেষ্টা করে যাচ্ছেন এবং আমরা যে এই অ্যাপ্লিকেশন চালানো. শুধু প্লে বাটন ক্লিক যাচ্ছে, এবং এটি এডিবি জন্য অপেক্ষা করছে, বলে যাচ্ছে. ওহ, মানুষ. পুনরায় চালু করুন. ঠিক আছে, আমি এখনও এই কাজ করে না অনুমান. ঠিক আছে, কিছু মনে করবেন না, তাহলে. এই দু: খের বিষয় হতে যাচ্ছে. কিন্তু তাই এর আমরা চাই যে বলা যাক একটি নতুন কার্যকলাপ তৈরি করতে, এবং আমরা একটি আছে চলুন যে কার্যকলাপ ছবি. যাও না যে, আমরা শুধু ক্লিক করতে পারেন তারপর এই ফাইল, এবং নিউ. এবং তারপর এখানে আমরা নির্বাচন করতে পারেন ভ্রমণ, এবং তারপর ফাঁকা ভ্রমণ. এখানে, আমরা কল চলুন এটা হয়তো CatActivity. ঠিক আছে, তাই এটা এখন দুই অন্যান্য ফাইল তৈরি করে. এক বলা হয় activity_cat, এবং অন্যান্য একটি বর্গ, যা catActivity বলা হয়. সুতরাং আসুন আমরা যোগ করতে চান যে বলা যাক অধিকার এখানে একটি বিড়াল একটি ছবি. আপনি যে কি তাই, যখন আমরা চলুন ImageView বর্গ ব্যবহার করার জন্য. আমরা এখানে সম্মুখের এটি যোগ চলুন. এবং তারপর 20 ডিপি হতে মার্জিন সেট. এবং এখন আমরা খুঁজে পেতে যাচ্ছেন ইন্টারনেটে একটি বিড়াল একটি চিত্র. সুতরাং এর দেখতে দিন. বিড়াল. ঠিক আছে. আমি এই জরিমানা অনুমান. ঠিক আছে. তাই এখন আমরা আমাদের ইমেজ আছে. তাই আমরা যোগ চলুন এটা আমাদের প্রকল্পের মধ্যে. অধিকার করে এই কাজ করতে পারে ক্লিক করে, এবং then-- আমরা আসলে শুধু এই খুলতে পারে, ডাউনলোড, দুঃখিত, ডেস্কটপ যান. চেষ্টা করুন এবং এটি খুঁজে পাওয়া যাচ্ছে. বিড়াল. এখানে ডান. আমি আমার ফোল্ডার মধ্যে কপি করা যাচ্ছে না. এখন, এটা আমার কয়েকটি অপশন জিজ্ঞাসা যাচ্ছে. এখন, আমি এই চান drawable ফোল্ডারে করা, এবং যে সব জন্য হতে যাচ্ছে বিভিন্ন স্ক্রিন রেজুলেশন. অন্যথা, আমরা করতে পারেন আসলে শুধু নির্বাচন যা পর্দার রেজল্যুশন আপনি হতে হবে এই ছবিটি চাই. তাই নির্বাচন করতে যাচ্ছে drawable ফোল্ডার, ঠিক আছে ক্লিক করুন. শুধু তা cat.jpg নাম যাচ্ছে. ঠিক আছে, তাই এখন এটি যোগ করা হচ্ছে আমাদের ইমেজ ভিউ মধ্যে. আমরা ব্যবহার আছে চলুন ঠিক এই উৎস, এবং তারপর আমরা এই বিন্দু বিন্দু বিন্দু ব্যবহার করতে পারেন বাটন, এবং বিড়াল ইমেজ নির্বাচন করুন. ঠিক আছে. তাই এখন আমি এটা যেমন করতে চাই যে এটা শুধু অধিকার মাপ. তাই আমি এই সমন্বয় নির্বাচন করা যাচ্ছে না এখানে ডান সীমার বিকল্প দেখতে, এবং যে স্বয়ংক্রিয়ভাবে ডান আকার সেট করে. ঠিক আছে. এখন, আসলে এই আরম্ভ আমাদের পূর্ববর্তী কার্যকলাপ থেকে কার্যকলাপ, আপনি ব্যবহার করতে আছে চলুন কিছু অভিপ্রায় বলা হয়. তাই আমি অন্য যোগ করা যাচ্ছে না বলা যাক কার্যকলাপ আরম্ভ বাটন. আমি এখানে, এখানে এটা যোগ করা যাচ্ছে না. এবং তারপর এটি যাচ্ছে টেক্সট এটি সক্রিয় আছে. ওহো. ঠিক আছে. এখন, আমরা আসলে কিভাবে খুলতে না এই কার্যকলাপ মধ্যে নতুন কার্যকলাপ? আগে তাই একই চুক্তি. আমরা এই একটি আইডি যুক্ত করতে হবে বাটন, এবং এটা button_activate কল. এবং তারপর আমাদের প্রধান কার্যকলাপ যাচ্ছে, এই নতুন বাটন activateButton আছে. এবং তারপর ব্যবহার findViewByID পদ্ধতি. activateButton বাটন সমান findViewByID r.ID.button_activate. ঠিক আছে. এবং তারপর আমরা যাচ্ছে একটি onClickListener মধ্যে যোগ করুন. নতুন onClickListener. এবং তারপর আমরা ব্যবহার করতে যাচ্ছেন এই জিনিস অভিপ্রায় বলা হয়. ইন্টেন্ট নতুন ইন্টেন্ট (এই) সমান. এবং তারপর নাম আমরা দেখাতে চাই যে কার্যকলাপ. সুতরাং এখানে এই, আমরা চলুন catActivity.class আছে. দুঃখিত. আমরা আছে চলুন MainActivity.this @ উল্লেখ করুন. তাই এখন .এই সম্পত্তি উল্লেখ করা হয় বস্তুর বর্তমান ইনস্ট্যান্স নিজেই. ঠিক আছে. এই বিন্দু পর্যন্ত, কোন প্রশ্ন? সব ভাল? ঠিক আছে. এবং তারপর আপনি শুরু করতে চান কার্যকলাপ, এটা বেশ সহজ. আমরা শুধু কল startActivity পদ্ধতি. এবং তারপর আমরা অভিপ্রায় মধ্যে পাস আমরা শুধু সংজ্ঞায়িত করেছেন যে বস্তু. দুর্ভাগ্যবশত, আমরা সত্যিই এই প্রদর্শন করতে পারবে না. আমি আসলে আমরা রান করতে পারেন প্রত্যাশী ছিল এই এবং সেমিনার তা দেখাতে বরাবর, কিন্তু দুর্ভাগ্যবশত না. ওহ, মানুষ. আমি বুঝতে পেরেছি. ওহ, আমরা চেষ্টা করুন এবং ATB.exe হত্যা করতে যাচ্ছেন. ঠিক আছে. পুনরায় চালু করুন. এটা কাজ করে নি? ঠিক আছে, ওহ. সুতরাং এখন এটা আসলে কম্পাইল. ওহ. দুর্ভাগ্যবশত, আছে কোনো ডিভাইস চলমান. এর চেষ্টা করুন এবং আমার এমুলেটর পুনরায় আরম্ভ করা যাক. আহ, আমরা সেখানে যান. এটা দেখা যায়. ঠিক আছে. তাই আমি আরম্ভ করা যাচ্ছে না আমার আমার অ্যান্ড্রয়েড এমুলেটর উপর অ্যাপ্লিকেশন. এবং আমরা জিনিস আছে আমরা এখন শুধু সংজ্ঞায়িত যে. সুতরাং আমরা লেবেল আছে, টেক্সট দেখুন, টেক্সট ক্ষেত্রের, এবং তারপর বাটন. তাই আমি ইনপুট করা যাচ্ছে না অধিকার এখানে আমার নাম, এবং সেখানে আমরা যেতে, এটা টেক্সট পরিবর্তন. আমরা ফু টাইপ সুতরাং, এটা foo বিন্যাস পরিবর্তন করা যাচ্ছে. এবং আমি ক্লিক করুন বাটন সক্রিয় করুন যা আসলে আমরা একটি আরম্ভ করার জন্য লিঙ্ক কার্যকলাপ নতুন আশা, এই কাজ করবে আমরা সেখানে যান. এটা নতুন কার্যকলাপ আরম্ভ করা হয়. ফিরে যেতে, আমরা প্রেস করতে পারেন এখানে ডান বাটন. অথবা না. ওহ, আমরা সেখানে যান. ওহো. যে খারাপ ছিল. ঠিক আছে. তাই এখন আমরা বাস্তবায়িত হয়েছে যে Android এর মধ্যে কিছু মৌলিক উপাদান, আমরা চেষ্টা এবং কিছু কি করতে পারেন আরো জটিল জিনিস. সুতরাং প্রথম, এর চেষ্টা করুন এবং বার্তা পাস এক কার্যকলাপ থেকে অন্য. সুতরাং আসুন আমরা পাস করতে চান বলা যাক প্রধান কার্যকলাপ থেকে একটি নাম বিড়াল কার্যকলাপ. এবং একটি নাম হবে এই nameText থেকে প্রাপ্ত. ঠিক আছে, তাই প্রথম, আমরা চলুন এখানে ডান নাম উদ্ধার করে. স্ট্রিং নাম সমান nameText.getText (). toString (). ঠিক আছে. এবং তারপর আমরা এই জিনিস ব্যবহার করতে পারেন , intent.putExtra (নাম) বলা এবং তারপর এটি আসলে চায় এই অতিরিক্ত ক্ষেত্রের জন্য একটি কী. তাই আমি একটি নতুন সংজ্ঞায়িত করা যাচ্ছে না কী, আমরা EXTRA_NAME কল করব. তাই আমি এই ব্যবহার করা যাচ্ছে না কী, CatActivity.EXTRA_NAME, এবং তারপর নাম নিজেই পাস. ঠিক আছে, তাই এখন আমরা আসলে উদ্ধার করতে পারেন নতুন CatActivity মধ্যে এই. আমরা ব্যবহার আছে, যে কাজ করতে অভিপ্রায় getIntent পদ্ধতি সমান. সুতরাং এখন এটা যাচ্ছে অভিপ্রায় উদ্ধার করে এই নতুন কার্যকলাপ কল করতে ব্যবহৃত হয়. সুতরাং আপনি স্ট্রিং উদ্ধার করতে চান আসলে আমরা অভিপ্রায় ভিতরে রাখা যে, আপনি যদি একটি intent.getStringExtra ব্যবহার করতে পারেন এবং তারপর একই কী পাস, ঠিক আছে, তাই এখন এর আমরা আপনাকে বলে দিন এই ক্ষেত্র পরিবর্তন করতে চান. ঠিক এই ক্ষেত্র পরিবর্তন করুন. এবং এর ফন্ট করা যাক এই ক্ষেত্রের আকার বড়. তাই আমি এই 20 ডিপি হতে চান বলে. ঠিক আছে. এবং আমি একটি যোগ করা যাচ্ছে না এই TextView জন্য আইডি, এবং আমি text_cat কল করা যাচ্ছে না. দুঃখিত. এবং ফিরে CatActivity মধ্যে, আগের মতই চুক্তি. আমরা কিছু ক্ষেত্র নির্ধারণ করতে যাচ্ছেন. এখানে এটি হতে যাচ্ছে একটি TextView catText. এবং তারপর catText TextView সমান findViewByID, r.ID.text_cat. ঠিক আছে. এবং তারপর এখানে ফিরে, আমি আছি টেক্সট অধিকার সেট যাচ্ছে আমরা জন্য উদ্ধার পর অভিপ্রায় থেকে এটা. , setText (নাম). ঠিক আছে, তাই এর যে চেষ্টা করে. প্লে বাটন ক্লিক করুন. আমি একই ডিভাইস ব্যবহার করা যাচ্ছে না. আবার এখানে. তাই আমি ইনপুট না বলা যাক আমরা কোনো নাম উল্লেখ না করে, এর কি দেখতে দিন. তাই এখন মনে হচ্ছে যে কিছুই নেই. তাই আমরা ফিরে যান এবং ইনপুট আমাদের নাম, এটা ঠিক ফ্রেড বলে যাচ্ছে. সুতরাং আমরা আসলে বার্তা প্রেরণ করতে পারেন এক কার্যকলাপ থেকে অন্য. ঠিক আছে. তাই অন্য মতামত একটি গুচ্ছ আছে আপনার যদি Android ব্যবহার করতে পারেন. তাই এখন আমরা আছে, অগ্রগতি বার আছে তালিকা দেখ, আমরা, টগল বোতাম আছে এবং আপনি সত্যিই চেয়েছিলেন যে সম্পর্কে আরো জানতে, আপনি আসলে এই ওয়েব পেজ ভিজিট করতে পারেন. তারা বিভিন্ন সম্পদ ধারণ করে. উদাহরণস্বরূপ, এপিআই তাই আসলে এখানে ডান কৌশল আপনার জন্য কিছু কোড উদাহরণ দেয় অ্যান্ড্রয়েড লাইব্রেরি নির্দিষ্ট বৈশিষ্ট্য. এবং কয়েক টিউটোরিয়াল আমি দরকারী পাওয়া যখন অ্যানড্রইড সম্পর্কে জানতে. যে সরকারী টিউটোরিয়াল নিজেই, এবং ঠিক এই অন্যান্য টিউটোরিয়াল. এবং পরিশেষে, আপনি আসলে করতে পারেন বিভিন্ন লাইব্রেরি ব্যবহার আপনার Android এর জন্য আবেদন. এখন, এই আসলে প্রসারিত আপনার অ্যাপ্লিকেশন এর কার্যকারিতা না করেও সত্যিই অনেক কোড লিখুন. downside হয়, হয় অবশ্যই, আপনি যে আসলে লাইব্রেরি নিজেকে জানার আছে. সুতরাং উদাহরণস্বরূপ, যদি আপনি করতে চান তাহলে ড্রপবক্স মেঘ প্রযুক্তির ব্যবহার, তারপর আপনি ড্রপবক্স API- টি ব্যবহার করতে পারেন. ফেসবুক API সঙ্গে অনুরূপ. এবং তারপর আসলে কয়েক আছে বিভিন্ন অন্যান্য বিবিধ লাইব্রেরি আপনি ব্যবহার করতে পারেন. আপনার মত, পেতে চেষ্টা করছেন, একটি নির্দিষ্ট ওয়েবসাইট থেকে JSON, তারপর আমি Google JSON, মনে লাইব্রেরি বেশ সহায়ক হবে. সুতরাং এখন, যে একটি JSON পরিবর্তন একটি জাভা বস্তুর মধ্যে টেক্সট ফরম্যাট, এবং তদ্বিপরীত. এবং তারপর রেট্রোফিট এবং পিকাসো আছে. এবং যে আপনি use-- করতে চান, তাহলে এর যে আপনি বিশ্রাম এপিআই ব্যবহার করছেন জন্য. এবং পিকাসো, আপনি ইমেজ ব্যবহার করছেন আপনার Android এর জন্য আবেদন. ঠিক আছে. আপনাকে অনেক ধন্যবাদ, এবং মজার কোডিং আছে.