[Powered by Google Translate] [সেমিনার] [অ্যান্ড্রয়েড Apps (এখন Jelly মটরশুটি সঙ্গে!)] [জর্ডান Jozwiak] [হার্ভার্ড বিশ্ববিদ্যালয়] [এটি CS50.] [CS50.TV] হ্যালো সবাই, এবং অ্যান্ড্রয়েড অ্যাপ্লিকেশন (এখন Jelly মটরশুটি সঙ্গে!) সেমিনার স্বাগতম. কারণ, অবশ্যই, Jelly মটরশুটি সঙ্গে এখনই বলা অপারেটিং সিস্টেম এর সর্বশেষ সংস্করণ Jelly Bean বলা হয়. আমি গত বছর অ্যানড্রইড সম্পর্কে বললাম এবং এই মূলত একই সেমিনার কখন আমি জিনজার ব্রেড জন্য নকশা নিদর্শন এবং রচনাশৈলীসংক্রান্ত পছন্দ উপস্থাপনা ছিল আইস ক্রিম স্যান্ডউইচ সময়ে আউট আসা ছিল, যদিও এবং এই আমরা একটু বিট এগিয়ে যাওয়ার বিষয়ে কথা বলতে পারবেন কিছু. অ্যানড্রইড, অবশ্যই,, ফ্র্যাগমেন্টেশন সঙ্গে কিছু বিষয় আছে তাই সর্বশেষ গুগল অপারেটিং সিস্টেম সাধারণত সত্যিই দুর্ভাগ্যবশত, সম্ভাব্য পর্যন্ত এক বছরের জন্য ব্যবহারকারীদের মধ্যে সাধারণ হয়ে যাচ্ছে না. কিন্তু যে disregarding, আমরা কারণ কেন প্রচুর বিষয়ে কথা বলতে পারবেন অ্যানড্রইড iOS তুলনায় অনেক ভালো. ঠিক আছে, আমরা অ্যানড্রইড বনাম iOS বিষয়ে কথা বলতে পারবেন আপনি শুধু এক স্লাইড সেট আপ পাবেন কিভাবে কিছু নকশা paradigms, এবং এই এবং গত বছরের মধ্যে বড় পার্থক্য হল আমি চাই না সঙ্গে কাজ কিছু ধারণাগত জিনিষ মাধ্যমে জুম তারপর অপারেটিং সিস্টেম এবং সত্যিই একটি মৌলিক উদাহরণ ঢোকা. বস্তুত, Google আপনার প্রথম অ্যাপ্লিকেশন নির্মাণের জন্য আলোচনা করা হয়েছে যে শুধু উদাহরণ, এবং আমরা একসাথে এটা মাধ্যমে যেতে এবং শুধু বর্ণনা করব. আমি আপনি অনেক শুধুমাত্র সি কোডেড আছে জানি, তাই জাভা ইতিমধ্যে হতে যাচ্ছে একটি ভিন্ন দৃষ্টিকোণ, এবং আপনি আপনার ফুট পাবেন এই ভাবে বাজিয়েছেন এবং আশা করি এটি সঙ্গে একটু বেশি আরামদায়ক. একটি দ্রুত সারসংক্ষেপ, অ্যানড্রইড বনাম iOS. অ্যানড্রইড $ 25 এই এক সময় ডেভেলপার ফি আছে, এই বছরের প্রতি $ 100 জিনিস কোনটি. যার মানে কোন সীমাবদ্ধতা আছে, যে, আমি একটি অ্যাপ্লিকেশন জমা দিতে চান তাহলে আমি এটা জমা, এবং iOS জন্য মত কোনো অনুমোদন প্রক্রিয়া আছে. আপনি অন্ধকার ব্যবহার করে জাভা সঙ্গে বিকাশ পেতে যা ক্রস প্ল্যাটফর্ম, তাই যদি আপনি একটি ম্যাক আছে যদি এটা কোন ব্যাপার না উইন্ডোস, বা কিছু Linux মেশিনে. অবশ্যই, iOS সঙ্গে আপনি একটি ম্যাক উপর XCode ব্যবহার আছে এবং অ্যান্ড্রয়েড, আরও অনেক মানুষ দ্বারা ব্যবহৃত হয় আপনি আপনার app কিছু দৃশ্যমানতা সাজানোর অথবা সম্ভবত আছে চান তাই যদি বিজ্ঞাপন থেকে সামান্য অর্থ উপার্জন আপনি সম্ভবত অ্যানড্রইড থেকে সুফল লাভ করার সম্ভাবনা বেশি করছি. এবং সবসময় অ্যানড্রইড সম্পর্কে পরিচিত করা হয়েছে যে এক জিনিস iOS খুব তাদের উপায় সংশোধন করা হয়েছে, যেহেতু স্বনির্ধারণ চরম পরিমাণ তারা বজায় রাখতে পারেন, যাতে নিরাপত্তা এবং প্রতি একটু দৃষ্টিভঙ্গি উপর নিয়ন্ত্রণ তাদের অপারেটিং সিস্টেম ও বিভিন্ন Apps মধ্যে নকশা. অ্যানড্রইড খুব বিনামূল্যে ফর্ম, এবং আরো অনেক সম্ভাবনার আছে. ঠিক আছে, কিছু নকশা paradigms. শুধু iOS মত এখানে লক্ষ্য ট্যাবলেট এবং iPhones এবং আইপড স্পর্শ আছে আপনাকে সমর্থন করতে চান তারা একটি ডজন ডিভাইস, যেমন বলে, সমর্থন করতে হবে ঐতিহাসিক জিনিষ হিসাবে ভাল. অ্যানড্রইড ডিভাইস সঙ্গে আপনি শত শত, সমর্থন করতে হবে তাই গুগল বাস্তবায়ন করার চেষ্টা করা হয়েছে এমন কিছু জিনিষ আছে ব্যবহারকারী একটু বেশি সামঞ্জস্যপূর্ণ অভিজ্ঞতা, কিন্তু আমরা এই ফ্র্যাগমেন্টেশন বিষয় আছে এর মানে হল যে কিভাবে কথা বলতে পারবেন আপনি ক্রমাগত সমর্থন সচেতন হতে হবে. ফ্র্যাগমেন্টেশন, বিভিন্ন অপারেটিং সিস্টেম আছে এর মানে হল যে একই সময়ে সব অ্যান্ড্রয়েড চলমান বিভিন্ন হার্ডওয়্যারের সাথে বিভিন্ন ফোন, তাই এই গ্রাফ এখানে প্রায় 6 মাস ধরে ফিরে যায়. হ্যাঁ, 6 মাস, এবং আপনি কিভাবে darkest ব্যান্ড দেখতে পারেন নীচে গ্রীষ্মকালে যখন এসেছেন যা Jelly Bean, হয় এবং আপনি ডান এখন সম্ভবত ফোনের প্রায় 2% তা দেখতে পারেন. আইস ক্রিম স্যান্ডউইচ, একটি বছর আগে এসেছেন এবং ফোন একটি ত্রৈমাসিক এটা আছে. বছর আগে থেকে OS সংস্করণ ব্যবহার করছেন ফোন অনেকটা এখনও আছে. Google ব্যবহারকারীর অভিজ্ঞতা করতে চেষ্টা করেছে যে এক জিনিস Apps জুড়ে সামঞ্জস্যপূর্ণ অনেক, মউচাক সঙ্গে শুরু হয় ট্যাবলেট সংস্করণ যা তারপর, আইস ক্রিম স্যান্ডউইচ এবং Jelly Bean, তারা সত্যিই, এই কর্ম বার ব্যবহার জোর করার চেষ্টা করছেন যা, আপনি এখানে শীর্ষে দেখতে পারেন কি এই সামান্য সেটিংস বাটন সহ ডান এখানে সবকিছু. এটি নকশা পছন্দ. এখন, আপনি 3 বিন্দু দেখতে পেলেই তা, এই ক্লিক করুন মানে এবং সেটিংস কিছু বাছাই করা আছে, যা একটি ড্রপ ডাউন মেনু হতে হবে. আমি এই বোতাম ক্লিক কারণ এটি কেবলমাত্র দেখায়. তারা একটু বেশি সামঞ্জস্যপূর্ণ Apps জন্য ব্যবহার করার চেষ্টা করছেন এমন কিছু বিষয় যা বোর্ড জুড়ে তাই ব্যবহারকারী অভিন্ন অভিজ্ঞতার একটি ভাল ধারনা আছে. আপনি বাড়ীতে পর্যবেক্ষক করছি ঠিক আছে, তাই যদি আপনি ইতিমধ্যে এই কাজ বা না তারপর আপনি আপনার কোডিং পরিমাণ সেট আপ ধাপগুলি অনুসরণ করতে পারেন. এখানে ওয়েবসাইট চালু থাকবে. আপনি অ্যান্ড্রয়েড SDK ইনস্টল Google-কে করতে পারেন এবং সেখানে কিছু বর্ণনা অনুসরণ করুন. তারা আপনাকে সব কিছু বলুন. তারা, আপনি SDK, ডাউনলোড অন্ধকার ক্লাসিক সংস্করণ ইনস্টল করা আছে যদিও, অবশ্যই, আমরা জাভা কোডিং করছি. তারপর এই ADT, Android বিকাশ সরঞ্জাম, এই এক কথা বলতে, এবং আপনি করতে পারবেন, যা অন্ধকার মধ্যে ইনস্টল করার জন্য একটি প্লাগিন হল অন্ধকার মধ্যে অ্যানড্রইড সঙ্গে আরো অনেক মসৃণ অভিজ্ঞতা আছে. এটা যে আপনি কিছু গ্রাফিক্যাল ইউজার ইন্টারফেস আপনাকে দেখ নকশা, এবং এটা আপনি আরো অনেক সহায়তা প্রদান করা হবে এবং ক্ষমতা এমুলেটর এবং জিনিস সব যে সাজানোর সঙ্গে আরম্ভ. অ্যাপ্লিকেশন ফ্রেমওয়ার্ক. আমি, Android এর মধ্যে প্রকল্প গঠিত হয় সে বিষয়ে কথা বলতে চান এবং তারপর আমরা একটি দ্রুত উদাহরণ ঢোকা, এবং আশা করব আপনি যে কোনো স্থানে প্রশ্ন জিজ্ঞাসা করুন এবং এটি শেষ স্বাচ্ছন্দ্য বোধ করতে পারেন. আমরা প্রথম কিছু অপভাষা আছে. একটি কার্যকলাপ আপনি একটি অ্যাপ্লিকেশন আরম্ভ যখন আপনি দেখতে পর্দার মত হল. সম্পূর্ণ অভিজ্ঞতা, কার্যকলাপ নিজেই তাই আপনি একটি পর্দা অথবা একটি দৃশ্য হিসেবে এটা মনে হতে পারে কিন্তু এটি আসলে এটি সোর্স কোড এর দিকে. আমরা এখনও একটি দৃশ্য প্রকৃত ইন্টারফেস অংশ কল. এটা pset 7 আমরা নিয়ামক এবং তারপর ভিউ ছিল কিভাবে মত সাজানোর জন্য. কার্যকলাপ, বেশী বা কম নিয়ামক হয় দেখুন আমরা XML এর পরিপ্রেক্ষিতে করছেন কি যে কার্যকলাপ সঙ্গে যুক্ত করা হয়. টুকরা আইস ক্রিম স্যান্ডউইচ এগিয়ে যাচ্ছে কার্যকর কিছু যে হয়. এটা ঠিক ভিউ অংশ গ্রহণ একটি ধারণা বা ভ্রমণ এর এবং পৃথক এলাকায় সেগুলি বিভাজক আমরা করতে পারেন যাতে এই বিভিন্ন ডিভাইসের জন্য আমাদের কোড আরো উপভোগ্য করতে আমরা সমর্থন করতে হবে, এবং এটা ঠিক করার চেষ্টা করছে একটি উপায় যে এছাড়াও আরো কোড খুঁজে বিবেচনার. সেবা সম্ভাব্য সঙ্গীত বা গৌণ নির্দেশাবলী খেলার মত পটভূমি জিনিস. বিষয়বস্তু প্রদানকারীরা, এই অপারেটিং সিস্টেমের মধ্যে API গুলি করা হয় যে, আপনি যেমন যোগাযোগের তথ্য হিসাবে ভাগ করা তথ্য অ্যাক্সেস করার অনুমতি এবং তারপর একটি উদ্দেশ্য আমরা আরম্ভ করতে চান যখন আমরা ব্যবহার করব কিছু আমাদের বর্তমান কার্যকলাপ থেকে নতুন কার্যকলাপ. হ্যালো অ্যানড্রইড, এই আমরা যে বিষয়ে কথা বলতে পারবেন যে একটি প্রকল্প হতে যাচ্ছে. আমি আসলে আপনার জন্য এটা করব, এবং তারপর আমরা একটি বাটন ক্লিক করুন যেখানে আমরা একটা জিনিস করব কিছু পাঠ্য এবং একটি নতুন কার্যকলাপ আরম্ভ সঙ্গে. খুব সহজবোধ্য, কিন্তু আমি মধ্য দিয়ে যেতে চান কি এই মত একটি প্রকল্প যেতে হবে. আপনি নতুন প্রকল্পের জন্য আপনি যখন অন্ধকার মধ্যে দেখতে পাবেন হ্যালো অ্যানড্রইড নামক এই প্রকল্পের আছে. তারপর এখানে ফোল্ডার আভা আছে. আপনি কি সত্যিই সঙ্গে সংশ্লিষ্ট করছি বেশী, উৎস ফোল্ডার আছে সম্পদ ফোল্ডার, মাঝামাঝি, এবং কতক লাইব্রেরির জন্য libs ফোল্ডারে. এবং শুধু তাই আমরা যে সঙ্গে একই পৃষ্ঠায় করছি যদি আপনি একটি নতুন প্রকল্প তৈরি করতে হলে আমি এটা HelloAndroid কল করতে চান, তাই যদি আপনি, এখানে এই অধিকার কি করতে পারেন এবং তারপর এটি স্বয়ংক্রিয়ভাবে আমাদের জন্য একটি তথ্য আভা আছে. প্যাকেজের নামের একটি অনন্য শনাক্তকারী হতে অনুমিত হয় আপনি এক ছিল যে সাধারণত, ওয়েবসাইটের সাথে যুক্ত হবে. উদাহরণস্বরূপ, আমি এই net.cs50.helloandroid কল হবে. এবং আমি ইতিমধ্যে একবার এই প্রকল্প করেছেন. ঠিক আছে, দুঃখিত. চলুন শুরু করা যাক এটা HelloCS50 কল. এবং তারপর, এটা আমরা করতে চাই না আইকন কিরুপ ভালো জিনিস অনুরোধ জানানো হবে. এই, কারণ অ্যানড্রইড বিকাশকারী সরঞ্জামসমূহ ইন্টারফেস সব আমরা অন্ধকার থেকে এখনো যোগ করেনি যে প্লাগইন, তাই আমরা ভালো জিনিস বেছে নিতে পারেন কি আইকন আমরা চাই, এবং আমরা যদি চান যে গভীরতার মধ্যে যেতে হবে. কিন্তু শেষ, শুধু প্রকল্প করতে এবং সব অধিকার এখানে দেখায়. আমি অন্য পর্দায় দেখিয়েছে, যেমন , আমরা সোর্স ফোল্ডারটি আছে, এবং আমি এই সব খুব শীঘ্রই এর মানে কি বিষয়ে কথা বলতে পারবেন কিন্তু আপনি অবিলম্বে এটি HelloCS50 পর্দায় আমাদের লাগে দেখতে পারেন. টেক্সট এবং টেক্সট ক্ষেত্রের লেআউট যোগ করার জন্য এখানে কিছু বোতাম আছে. এটা XCode মত সাজানোর কিন্তু দুর্ভাগ্যবশত বেশ মসৃণ হিসাবে. কিন্তু ছাঁট এই করছেন জন্য বিশেষ করে আপনার বন্ধু এবং ADT হবে. ঠিক আছে, উৎস ফোল্ডার যেখানে জাভা ফাইল অনুষ্ঠিত হয়, এবং এই আসলে আপনার প্রোগ্রাম আরম্ভ করা হয়. এটি মূলত কন্ট্রোলার মত. আমরা পর্দা বিন্যাস যাব যেখানে সম্পদ ফোল্ডার বা মাঝামাঝি হয়, ছবি, শব্দ, টেক্সট, অ্যানিমেশন এবং অন্য সব কিছুর, libs স্পষ্টত,, লাইব্রেরি. এবং তালিকা, এটি অ্যানড্রইড সিস্টেম জানেন যে উপায় কিভাবে আপনার app সঙ্গে যোগাযোগ করার জন্য. এটা অনুমতি ওপর এটা বলে এবং কি আসলে কার্যক্রম চালানো হবে. এটা আপনার app টি চালানোর জন্য প্রয়োজনীয় যে সব অপরিহার্য তথ্য. উৎস ফোল্ডার হয় যদি আপনি ডান এখানে দেখতে পারেন হিসাবে আমরা তা প্রসারিত. এবং একটি উদাহরণ একটি কোড বর্ণন এই যে ডিফল্ট কোড. আমরা এটা বলা হয়, যেমন MainActivity. ডিফল্টরূপে, আমরা যখন এই কার্যকলাপ লোড বলা হয় যে একটি ফাংশন, যা onCreate পেতে তাই আপনি onCreate (savedInstanceState) কল করতে চান. এই ধরনের কোনো তথ্য বিট পুনরুদ্ধার করতে হবে ক্ষেত্রে অ্যাপ্লিকেশন বিরাম দেওয়া হয়েছে. আপনি তাকান করতে পারেন, যা একটি সম্পূর্ণ কার্যকলাপ জীবনচক্র চার্ট আছে আপনি এটি মধ্যে গভীরতা একটু বেশি পেতে, কিন্তু কোড সবচেয়ে গুরুত্বপূর্ণ লাইন এই setContentView ফাংশন আছে যা লেআউট জন্য সম্পদ ফাইল লোড করা হবে. তারপর কি এখানে onCreate মূলত করছে তা বলার অপেক্ষা রাখে না হয় আমি এই লেআউট লোড করতে চান এই কাজে তৈরি হয়. এবং আমরা যে লেআউট একটি দ্বিতীয় মধ্যে কি বিষয়ে কথা বলতে পারবেন. আমরা এখানে এটা ঠিক ভালো দেখায় যে আরম্ভ হলে এবং ডিফল্ট দ্বারা আমরা এই করছেন অন্ধকার আমাদের জন্য এটা করছেন ADT কারণ এই আমাদের জন্য তৈরি যে সমস্ত boilerplate কোড এবং আমরা উপর সরানো এবং আমরা চাই হিসাবে জিনিস পরিবর্তন করতে পারেন. আমি বলেন ভালো আমরা সব বিন্যাস রাখা যেখানে সম্পদ ফোল্ডার,, এই হল, কোন ধরণের পদ drawables ইমেজ- তারা drawables এবং তারপর শব্দ ফাইল, মেনু বলা করছি. এটা একটা চমৎকার সাজানো ফ্যাশন মধ্যে XML আভা একটি উপায়. যেহেতু আপনি দেখতে পারেন, আছে. HDPI, ldpi, mdpi এবং drawables জন্য xhdpi ফোল্ডার. এই বিভিন্ন পর্দার ঘনত্ব, ইঞ্চি প্রতি তাই উচ্চ ঘনত্ব পিক্সেল আছে, কম ঘনত্বের, মাঝারি ঘনত্ব, অতিরিক্ত উচ্চ ঘনত্ব. এই আবার,, তাই আমরা এই সব বিভিন্ন ডিভাইসের সমর্থন করতে পারে এবং আদর্শগতভাবে, আপনি প্রতিটি বিভিন্ন রেজল্যুশন জন্য বিভিন্ন ইমেজ হবে. আমরা বিভিন্ন কার্যক্রম ব্যবহার করা হবে যে সব বিভিন্ন লেআউট অন্তর্ভুক্ত যেখানে বিন্যাস করা হয়. তারা, টুকরা জন্য লেআউট অন্তর্ভুক্ত হতে পারে যা মূলত আংশিক কার্যক্রম মানে. আপনি ফোন ঘুরান যখনই মত শান্ত কিছু করতে চান তাহলে আপনি এটা, আপনি একটি ভিন্ন ফোল্ডার হিসাবে লেআউট আড়াআড়ি করতে পারেন একটি ভিন্ন লেআউট আছে চান এবং অ্যান্ড্রয়েড স্বয়ংক্রিয়ভাবে সম্পদ ফোল্ডার মধ্যে এই নিয়ম আভা আছে তাই ফোন বর্তমান সেটআপ উপর ভিত্তি করে বিভিন্ন ফোল্ডার তাকান জানতে হবে আপনি ব্যবহার করছেন হার্ডওয়্যার কিরুপ. একইভাবে এখানে, এই মানের-v11 এবং মান-v14 এবং ডিফল্ট মান হল এই জন্য ফোল্ডার ভাল, নিজে মূল্যবোধ, এই অপারেটিং সিস্টেম সমস্ত সংস্করণের জুড়ে ডিফল্ট মান হতে হবে. অন্য দিকে, v11 এবং v14 মউচাক সঙ্গে সংগতিপূর্ণ এবং আইস ক্রিম স্যান্ডউইচ, যথাক্রমে. আবার, এই-মধ্যে যে এই ফোল্ডারে বিভিন্ন স্ট্রিং আছে উপায় এবং শৈলী, তাই আপনি আপনার app এর চেহারা কাস্টমাইজ করতে পারেন বা সম্ভাব্য এমনকি তার কার্যকারিতা, যে সম্ভবত একটি খারাপ ধারণা হবে, যদিও অপারেটিং সিস্টেমের সংস্করণের উপর ভিত্তি করে. এবং আমি এখানে এই সব কথা বলত না. আবার, drawable, কাঁচা, লেআউট, মান. ডিফল্টরূপে, আমরা এই মুহূর্তে হ্যালো অ্যানড্রইড অথবা হ্যালো এবং CS50 মধ্যে যান এটা ঠিক ভালো দেখবে. এটি বিশ্বের হ্যালো বলতে হবে. আপনার যদি Android টেক্সট সঙ্গে ডান এখানে দেখতে পারেন এই টেক্সট ভিউ জন্য টেক্সট, যা মূলত শুধুমাত্র একটি লেবেল আমরা iOS এটি কল করবে কি না. এটা এই মজার স্বরলিপি @ স্ট্রিং / hello_world আছে. তাই আমরা করতে পারেন আমরা, স্ট্রিং সমস্ত নিষ্কাশন করার প্রচেষ্টা করা হয় অ্যানড্রইড মধ্যে হার্ড কোড স্ট্রিং সমস্ত একটি পৃথক ফোল্ডার মধ্যে, যা values.strings মধ্যে হতে হবে. আমরা এখানে তাকান, তাহলে আমরা এখানে সংরক্ষিত একটি হার্ড কোড স্ট্রিং আছে দেখতে পারেন একটি হ্যালো বিশ্বের জন্য, এবং এটা হ্যালো বিশ্ব বলা হয়, এবং এই হল এর সাজানোর যে আপনি চান থেকে অনেক প্ল্যাটফর্মের জুড়ে সাধারণ নকশা সিদ্ধান্ত স্ট্রিং আমরা সম্ভাব্য পরিবর্তন করতে সক্ষম হতে চান যে ধরণের হয়. আমরা আমাদের XML-আমাদের সোর্স কোড ফাইলের মধ্যে ফল নিয়ন্ত্রণ করতে চান না. আমরা যখনই সুযোগ পেতে এই পরিবর্তন করতে সক্ষম হতে চান. এই XML ফাইল, strings.xml, আহরণের একটি উপায় অন্যথায় আমাদের লেআউট সম্পদ হবে যে হার্ড কোড স্ট্রিং অথবা আমাদের সোর্স কোড. আমরা আবেদন এই গুরত্বপূর্ণ তথ্য রাখা যেখানে সুস্পষ্ট হয়. এটি প্যাকেজের নাম অন্তর্ভুক্ত করা হয়েছে. একটি অনন্য শনাক্তকারী হতে হয়েছে. IOS অ্যাপ্লিকেশন নামগুলি জন্য App স্টোর বা দোকান থেকে ভিন্ন অনন্য হতে হবে না, এবং আপনি আসলে আপনার অ্যাপ্লিকেশনটির নাম পরিবর্তন করতে পারেন আপনি, আমি ক্রুদ্ধ সঙ্গে শুরু, তাই যদি এটি জমা পরে এবং তারপর আমি একটি আপডেট করা, এবং আমি একটি নতুন সংস্করণ প্রকাশ করতে চান না আমি একই রিলিজ চক্রের উপর আছি যখন আমি 2 আমি এটা অ্যাংরি পাখি কল পারে অনুমান. এটি শুধু একটি আপডেট হিসাবে দেখাতে হবে. অনন্য করা আছে শুধু যে, এই প্যাকেজের নাম যা অনেক মানুষ দেখতে হবে. আপনি সোর্স কোড বা ত্রুটি কিছু বাছাই করা না থাকলে করছিলেন যদি হ্যাঁ, আপনি শুধুমাত্র দেখতে চাই. উপাদান কার্যক্রম অন্তর্ভুক্ত, তাই আমরা ডিক্লেয়ার করা আছে আমরা ব্যবহার কার্যকলাপ কোন সাজানোর. এই জিনিস একটা অনুমতি ধরণের. অ্যানড্রইড এই কঠোর আবেদন প্রক্রিয়ার হবে না কারণ পরিবর্তে অ্যাপ্লিকেশান জমা দেওয়ার জন্য তারা শুধু সবকিছু অনুমতি অফ ভিত্তি করে না এবং তালিকাতে জিনিষ ঘোষণা. SDK সংস্করণ এছাড়াও গুরুত্বপূর্ণ. আমরা SDK সর্বনিম্ন সংস্করণ কিছু হিসাবে ব্যবহারের সেট করতে পারেন. একথাও ঠিক যে, আপনি কোড তৈরি করতে চান নতুন অপারেটিং সিস্টেমের জন্য এবং নকশা. সম্ভবত নতুন না, হয়তো না Jelly Bean. হয়তো আপনি, প্রাথমিকভাবে আইস ক্রিম স্যান্ডউইচ জন্য ডিজাইন করতে চান তারা নকশা সিদ্ধান্ত পদ কাছাকাছি একই, যদিও এবং প্রকৃত লাইব্রেরি ও API গুলি. কিন্তু বদলে মানুষ আছে মূল Android এর ডোনাট উপায় ফিরে সংস্করণ মত যখন এখনও বলে তাহলে আপনার আবেদনপত্র ডাউনলোড করার চেষ্টা করুন এবং যে ব্যবহার করা হবে কি যারা এটা আমার ফোন আপনি সর্বনিম্ন সংস্করণ সেট করতে পারেন কাজ না করে এবং এটি জিনজার ব্রেড বা আইস ক্রিম স্যান্ডউইচ হতে হবে আপনি আরামদায়ক জমা বোধ বা যাই হোক না কেন. এবং এই তালিকা এর একটি উদাহরণ. আমরা কিছুক্ষণের মধ্যে প্রকৃত এক তাকান করতে পারেন. ঠিক আছে, আমরা শুধু এখন ডেমো সঙ্গে এগিয়ে যেতে হবে. আপনি Google অ্যানড্রইড আপনার প্রথম অ্যাপ্লিকেশন অথবা যে ভালো কিছু নির্মাণ করা হলে এই ডেমো হয়. আমরা সেখানে নেভিগেশন যাচ্ছে সবকিছু দিয়ে যাবেন এবং দুঃখিত, ঠিক এইখানেই যে কোন পরিমাণ জাভা জানেন যিনি রেফারেন্সের জন্য? ঠিক আছে, তাই জাভা অধিকাংশ মানুষ এবং CS50 বেরিয়ে আসার জন্য নতুন কোডিং ভাষা. সংক্ষেপে, এটা এখানে কি বলছেন আবার যেতে আমরা কি কাজ করতে চান এই হ্যালো ওয়ার্ল্ড আবেদন সমন্বয় বদলে হয় এটা সব এটি আরম্ভ করা হয় এবং হ্যালো দুনিয়া এটা বলছেন যে যে কার্যকলাপ নাম কারণ এবং এটি শীর্ষে হ্যালো এবং CS50 বলছেন আমরা একটি টেক্সট ক্ষেত্রের এবং একটি বাটন তৈরি করতে প্রচেষ্টা চলুন আমরা এই বোতাম টিপুন যখন এটি পাঠ নিতে হবে যাতে টেক্সট ক্ষেত্র থেকে এবং একটি নতুন কার্যকলাপ আরম্ভ, এবং এটা বলতে হবে যে টেক্সট কার্যকলাপ বলেন, এবং এই অপেক্ষাকৃত সহজ যাই হোক না কেন. এটি খুব আকর্ষণীয় না. আপনি কি এই মত কোনো অ্যাপ্লিকেশন প্রকাশ করতে চান না. কিন্তু এটি কিছু গুরুত্বপূর্ণ নকশা জিনিষ প্রমান. আমরা, লেআউট ফাইলগুলির সাথে, তালিকা সাথে ইন্টারঅ্যাক্ট করতে হবে সোর্স কোড, এবং আপনি অন্য এক কার্যকলাপ আরম্ভ কিভাবে দেখতে পারেন. আমরা আমাদের প্রথম কার্যকলাপ বহির্বিন্যাস সঙ্গে শুরু করব যা আমি, এটি ছোট ধরনের জানি কিন্তু আপনি এখন দেখতে পারেন, এটা সব, এটা আমরা তৈরি আমাদের লোগো আছে কার্যকলাপ নাম, এবং এটা কেন্দ্রে হ্যালো দুনিয়া বলেছেন. পরিবর্তে, আমি প্রথম, একটি রৈখিক লেআউট মধ্যে এই করতে করতে যাচ্ছি একটি আপেক্ষিক বিন্যাস, এবং এই সব জিনিস আপনি চেহারা আপ করতে পারে এবং বিন্যাস পরিপ্রেক্ষিতে কিছু সময়ে ওভার যাচ্ছে অধিকারী হয়. এটা HTML এর মত অনেক. আমরা এটি একটি কর্মসূচি অর্থে পদ বুদ্ধিমান মূল্য সত্যিই না বলেন, কিন্তু আপনি নিয়ন্ত্রণ করতে পারেন, তাই বিভিন্ন লেআউট আছে, এবং এটা শৈলী পদ মাত্র CSS এর মত. শুধু এখানে নন্দনতত্ব পদ যাচ্ছে অনেক, কিন্তু আছে এবং হ্যাঁ, এটা লার্নিং মূল্য আছে, কিন্তু এটা আপনার খোঁজা উচিত জিনিস সাজানোর আপনি যান এবং আপনি নতুন কিছু প্রয়োজন মত আপনি মনে করেন না. আমি অন্তত সঙ্গে বন্ধ করা শুরু করতে এখানে ADT সরঞ্জামের কিছু সুবিধা গ্রহণ করতে পারেন. আমি একটি টেক্সট ক্ষেত্রের করতে হবে, এবং আমি একটি বাটন তৈরি করবে. পরবর্তী প্রতিটি অন্যান্য অধিকার তাদের করা. ইতিমধ্যে তারা উপযুক্তভাবে মাপ পরিবর্তন. দুঃখিত, আবার,, রৈখিক লেআউট ও আপেক্ষিক লেআউট মধ্যে পার্থক্য ফিরে আসছে একটি রৈখিক লেআউট একটু বেশি কার্যকারিতা দেয় স্থান ভরাট এবং এমনটা নিশ্চিত শর্তাবলী অনুভূমিকভাবে বা উল্লম্বভাবে আমরা অবস্থান জিনিষ. একটি রৈখিক বিন্যাস এবং একটি আপেক্ষিক লেআউট মধ্যে বড় পার্থক্য অন্যান্য দর্শনে আপেক্ষিক আপেক্ষিক অবস্থানের লেআউট সবকিছু হয়, এবং এটি সম্পর্কে ভাল জিনিস এটা আঁকা কম সময় লাগে যে অপারেটিং সিস্টেমের সব কোড দেখায় এবং এই যায়, কারণ এই এখানে আপেক্ষিক এখানে. এটা নেস্টেড রৈখিক বিন্যাস আভা কম পরিমাপ করে তোলে মানে যা আমি জিনিষ এখানে উল্লম্বভাবে যেতে চেয়েছিলেন আমি কি করতে হবে. আমি ইতিমধ্যে কিছু জিনিস অনুভূমিকভাবে যাচ্ছে, তাই আমি একটি ভিন্ন রৈখিক বিন্যাস করতে হবে উল্লম্বভাবে নীড় তাদের, কিন্তু আমি একটি আপেক্ষিক লেআউট এরকম হয় আমি যদি বলতে পারে আপনি ডান এবং নীচের এই জিনিস আপনি বাম থেকে এই রাখা. কিন্তু আমি তাদের অধিকার এখন পূরণ করতে চান, কারণ আমি একটি রৈখিক লেআউট ব্যবহার করতে যাচ্ছি এবং আপনি ইতিমধ্যে এটি আমাদের জন্য এই জিনিস অনেক আছে দেখতে পারেন. সমস্ত দেখ, প্রস্থ ও উচ্চতা একটি সম্পত্তি থাকতে হবে এবং এই 1 একটি ওজন আছে এরকম, এবং এই 1 একটি ওজন আছে যাতে এটি সমগ্র স্থান fills. কিন্তু প্রস্থ ও উচ্চতা সবচেয়ে গুরুত্বপূর্ণ. এখানে ডান এই ID ক্ষেত্রের প্রকৃত বিন্যাস মধ্যে গুরুত্বপূর্ণ নয় আমরা একটি আপেক্ষিক লেআউট ব্যবহার করে এবং আমরা উল্লেখ করতে পারেন বলছে, যদি না অন্য রেফারেন্স মধ্যে এক ভিউ অবস্থান. আমরা একটি আপেক্ষিক লেআউট ছিল যদি আমরা এই নীচে অবস্থান বলতে পারে অথবা এই আইডি উপরে, কিন্তু এই আইডি গুরুত্বপূর্ণ হবে আমরা উল্লেখ করতে পারেন, কারণ আমরা আমাদের কোড মধ্যে এটি ব্যবহার করছি এই ভাবে এই ব্যক্তি দেখেছে. এবং তারপর আপনি সম্ভবত আপনি pset 7 দেখেছি কিছু যা ট্যাগ requestFocus, দেখতে পারেন. ক্ষেত্র এক জন্য একটি স্বয়ংক্রিয় ফোকাস ট্যাগ বা যারা লাইন বরাবর কিছু ত্রুটি ছিল. এবং এক জিনিস, অবশ্যই, আমরা HTML এ ঠিক মত কাজ করতে পারেন এবং বিজ্ঞপ্তি ADT সম্পর্কে চমৎকার জিনিস এক এখানে autocompletes হয়. এটি XCode করেছিল, কিন্তু এটা তবু আছে, হয়তো না চমত্কারভাবে হিসাবে এবং আমরা ইঙ্গিতটি বলতে এবং তারপর, এটা স্ট্রিং এর কিছু সাজানোর দিতে পারে , বার্তা লিখতে চাই আমি এটা একটি মুহূর্ত দিতে এবং যদি আমি এখানে একটু ভুল পান যে বিজ্ঞপ্তি আমরা এই জন্য একটি স্ট্রিং রিসোর্স ব্যবহার করা উচিত যে, আমি এটা আমার জন্য কঠিন কাজ কিছু কি তাই যদি আমি refractor অ্যান্ড্রয়েড ও নির্যাস অ্যানড্রইড স্ট্রিং করতে, এই স্ট্রিং নির্বাচন করতে পারেন. আমি এটা যে নাম দিতে পারেন, একটি বার্তা লিখুন এবং কি এটা এখন এটা যে হার্ড কোড স্ট্রিং প্রতিস্থাপিত হয় নি স্ট্রিং এর. xml ফাইলে যে পংক্তিটি একটি রেফারেন্স দিয়ে, যা এই এখানে এখন মানে. এবং আমি এই সময়ে একটু তুচ্ছ এবং মত অতিরিক্ত কাজ বলে মনে হয় জানেন যে কিন্তু আপনি একটি জিনিষ আভা, স্ট্রিং আভা আছে, যখন যে সত্যিই গুরুত্বপূর্ণ, এবং বিশেষ করে স্থানীয়করণ জন্য আমি আগে উল্লেখ করেছে, অ্যানড্রইড খুব বিশ্বব্যাপী ব্যবহৃত অপারেটিং সিস্টেমের কারণ আপনি কেবল মান-en ধরনের বা মানের-SP কি করতে পারেন ইংরেজি বা স্প্যানিশ বা অন্যান্য ভাষার জন্য বা কিছু. এবং তারপর আপনি সম্ভবত এখনও এই অভিজ্ঞতা ছিল না আমরা ওয়েব প্রোগ্রামিং পরিপ্রেক্ষিতে অনেক জাভাস্ক্রিপ্ট না থেকে, কিন্তু আমরা, বাটন জন্য onClick বলা হয় যদি এই ক্ষেত্রে কি করতে পারেন এবং এই আমাদের লেআউট মধ্যে উল্লেখ একটি উপায় আমরা আমাদের সোর্স কোড নামে একটি নির্দিষ্ট ফাংশন চান. আমি, এই sendMessage কল করা যাচ্ছে না এবং যাতে এখানে প্রধান কার্যকলাপ এর মানে হল যে এই কাজ করা আমি পাবলিক যে একটি ফাংশন তৈরি করতে হবে এটি লেআউট দ্বারা ব্যবহার করা যেতে পারে, যাতে. আপনি শুধু এটা কিছু ফিরে আসতে চান না, কারণ এটি অকার্যকর হবে. , আমরা এটা sendMessage ডাকবো, এবং এটি একটি ভিউ লাগে যা আমরা এই পদ্ধতি অ্যাঙ্করে পারেন যে প্রসঙ্গের কেমন হয় যে ব্যক্তি দৃশ্যে আমরা এটা চলমান করছি. আপনি খেয়াল-ভাল, আপনি লক্ষ্য করে থাকবেন না এবং যদি আমি জানি না, কিন্তু এই সময়ে এখানে ডান এই দেখুন, কোনো অন্তর্ভুক্ত করা হয়েছে যে একটি টাইপ এবং অবশ্যই, আপনি সব ধরনের সহ না এবং CS50 থেকে জানি. আইডিই এর মত অন্ধকার সম্পর্কে চমৎকার বিষয় যে আপনি একটি টাইপ অন্তর্ভুক্ত করতে ভুলবেন যদি squiggly একটু লাল সঙ্গে underline হবে এবং তারপর আপনি ভিউ আমদানি বিকল্প প্রদান করেছে. যে করছেন দ্রুত উপায় নিয়ন্ত্রণ স্থানান্তর হে, এবং এটি আমদানি করবে সব এটি প্রয়োজন যে ফাইল. এখন আমরা এই ফাংশন sendMessage আছে, যা একটি নতুন ক্রিয়াকলাপের MainActivity থেকে বার্তা পাঠাতে যাচ্ছে আমরা এই এক থেকে নতুন কার্যকলাপ আরম্ভ করার জন্য একটি অভিপ্রায় ব্যবহার আছে চলুন তাই আমরা সম্ভবত একটি বিশ্বব্যাপী ধ্রুবক বা বিশেষ করে একটি সার্বজনীন ধ্রুবক তৈরি করতে চাইবেন আমাদের যে আমরা স্ট্রিং উল্লেখ চলুন কিভাবে জানতে সাহায্য করবে কারণ আমরা একটি অভিপ্রায় তৈরি যখন আমরা শুধু একটি নতুন কার্যকলাপ আহ্বান করছি না কিন্তু আমরা এটি একটি তথ্য বান্ডিল দিতে পারেন. একটি বান্ডিল আসলে অ্যানড্রইড ব্যবহার করে শব্দ হয়, এবং এটি, এটি একটি অত্যন্ত অত্যাধুনিক তথ্য টাইপ করা যাবে না, যা অতিরিক্ত তথ্য দিতে বলছে একটি উপায় কিন্তু আমরা স্পষ্টভাবে booleans বা স্ট্রিং বা ints অন্তর্ভুক্ত করতে পারে. জিনিস যে সাজানোর. এখানে এই কোয়ালিফায়ার কোনো বিষয়ে জিজ্ঞাসা নির্দ্বিধায়, , পাবলিক চূড়ান্ত, স্ট্যাটিক. পাবলিক গুরুত্বপূর্ণ এক. এটা আমরা অন্যান্য সোর্স কোড ফাইল থেকে এই পরিবর্তনশীল অ্যাক্সেস করতে পারেন এর মানে হল যে যেমন আমরা একটি নতুন কার্যকলাপ তৈরি যখন. আমরা এই ফাইলটির মধ্যে পংক্তি উল্লেখ করতে পারেন. এটি ব্যক্তিগত যদি, এটা এখানে এই পৃথক ফাইলে লিমিটেড এর মানে. কিন্তু আমরা অতিরিক্ত পাঠান মত এই কিছু ফোন করবো. এখন আমরা এই ফাংশন করেছি, এবং আমরা বাটন ক্লিক করুন, যদি এই ফাংশন বলা হবে. কিন্তু আমরা ফাংশন সঙ্গে স্পষ্টত,, কিছু করেননি. আমরা কি এখন কাজ করতে চান, একটি নতুন কার্যকলাপ তৈরি হয় যে কার্যকলাপ আসলে চালু করা হবে. অন্ধকার আমরা নতুন, অ্যানড্রইড কার্যকলাপ, ফাঁকা কার্যকলাপ বলতে পারেন. আমরা এটা একটি নাম দিতে পারেন. চলুন শুরু করা যাক এটি আমাদের ফলে কার্যকলাপ কল. এবং তারপর এই হায়ারারকিকাল মূল যদি ক্ষেত্রের উল্লেখ একটি উপায় কিভাবে কার্যক্রম একে অপরের সাথে সম্পর্কিত হয়. এই অন্য একটি কার্যকলাপ থেকে চালু করা হবে আমরা এটা মূল প্রধান কার্যকলাপ যে নির্দিষ্ট করা উচিত. এবং আমি আমাদের বলে যা আছে, পরের ক্ষেত্রের উপর ক্লিক করা যেতে পারে এটি সহ যে কিছু ঐচ্ছিক ক্ষেত্র, কিন্তু ADT সম্পর্কে চমৎকার জিনিস, আবার, আমি এখানে স্ক্রল ডাউন যদি হয় তালিকাতে এই সব সত্যিই ডিফল্টরূপে অন্তর্ভুক্ত ছিল মনে রাখবেন আমরা মূলত প্রজেক্ট তৈরী করা যাবে, যখন এবং এখন আমরা এই একটি নতুন কার্যকলাপ তৈরি বদলে ব্যবহৃত কারণ আমরা এই করছেন জন্য তাদের গ্রাফিক্যাল ইউজার ইন্টারফেস মাধ্যমে গিয়েছিলাম, কারণ আমাদের নিজস্ব ক্লাস ফাইল যোগ এটি আগে থেকেই আমাদের জন্য তালিকা এই সকল এখনো যোগ করেনি যা শুধু এখন অপারেটিং সিস্টেম অভিযোগ করতে হবে আমরা এই কার্যকলাপ আরম্ভ করুন. এবং এটি অবশ্যই, এটি স্ট্রিং মধ্যে দেখায়, যা একটি লেবেল দিয়েছে. এটা আমাদের জন্য ফিরে শেষ জিনিস অনেক আছে. যাই হোক, এখন আমরা পাশাপাশি এই ফলাফল কার্যকলাপ আছে, উৎস ফোল্ডারে আসল সোর্স কোড ফাইল এবং আপনি দেখতে আপনি সংক্ষেপে এই স্পর্শ করতে পারেন আমরা এই হায়ারারকিকাল মূল বিষয়ে বলেছিলেন, কারণ এই onOption নির্বাচিত জিনিস মধ্যে এই ক্ষেত্র android.r.ide.home দিয়েছে. এই মূলত বলছে একটি মেনু বাটন এখন আছে হয় যে পর্দার উপরের বাঁদিকের কোণায় আমরা প্রথম পদক্ষেপ দণ্ড সম্পর্কে বললাম আমি কোথায় পাওয়ার পয়েন্ট ফিরে যান কারণ হায়ারারকিকাল প্যারেন্ট এখন ফিরে এখানে একটু তীর আছে আমরা আসলে এই চালানোর পর সক্ষম হওয়া উচিত, তাই এবং এই যোগ্য হয় অ্যাপ্লিকেশন- ফিরে যান, এবং এটি সেখানে আমাদের একটি কোড সামান্য বিট সংরক্ষণ একটি উপায়. এখন এই ভাল মধ্যে, এটা একটি মুহূর্ত জন্য যে সম্পর্কে অভিযোগ বলে মনে হয়. এর যে মন্তব্য করা যাক. এখন, যাতে আসলে, এইসব 2 ক্রিয়াকলাপ সাথে যোগাযোগ করার জন্য আমরা এই তথ্য অন্তর্ভুক্ত, যা একটি অভিপ্রায় তৈরি করা আছে. SendMessage মধ্যে এখন আমি কিছু কোড বিট মাধ্যমে ক্রুজ যাচ্ছি এবং আমি যেতে হিসাবে যে ব্যাখ্যা. একটি অভিপ্রায়, আমি আগেই বলেছি, অন্য এক কার্যকলাপ আরম্ভ করার একটি উপায়. ইন্টেন্ট টাইপ. আমরা একটি পরিবর্তনশীল myIntent তৈরি করছেন. এবং এই আসলে আমরা নতুন কল করতে যা কেন একটি বস্তু হয়. এটি ব্যবহার করা হচ্ছে একটি সামান্য বিট নিতে পারে, যা সেখানে সাধারণ জাভা ব্যবহার করে. এই আমরা, কার্যকলাপ বা বর্গ MainActivity ব্যবহার করছেন মানে এবং যে ভাবে অভিপ্রায় থেকে যাচ্ছে কার্যকলাপ লাগে এবং কার্যকলাপ এটা, আমরা ResultActivity কল, যা যাচ্ছে এবং তার নিজস্ব ক্লাস হয়. যে অন্তর্ভুক্ত করুন. আমি আগে উল্লেখ করেছে এবং তারপর, আমরা সম্পাদনা টেক্সট ক্ষেত্রের আপনি যে আইডি দিয়েছেন এবং টেক্সট ভিউ, তাই যাতে programmatically ক্যাপচার editText বিদ্যমান যে টেক্সট আমরা findViewByID নামক এই ফাংশন ব্যবহার করুন যা DOM থেকে ক্ষেত্র পেতে চেষ্টা যখন আপনি ব্যবহার করব কিছু যে অনুরূপ. বক্তৃতায় এই বিষয়ে সম্ভবত ডেভিড আলোচনা. কিন্তু এটা পাবার একটি উপায় ঐ যে আমরা যারা ক্ষেত্র সঙ্গে এই জিনিস ট্যাগ কেন. Id.editText1. এটি আগে থেকেই আছে আমার জন্য autocompleting এর. এবং তারপর আমরা অন্তর্ভুক্ত এই করব editText এখন আমরা যদি ক্ষেত্রের কিছু r আছে আমাদের প্রোগ্রাম মধ্যে, যে সব findViewByID মূলত ছিল আপনি আমাদের যে editText একটি রেফারেন্স দিতে এটা মনে হতে পারে. এখন আমরা স্ট্রিং বা পাঠান পেতে চান আমরা ব্যবহার দ্বারা করতে পারেন, যা editText মধ্যে যদি আপনি একটি হিসাবে editText মনে হতে পারে struct- আমরা এটি মধ্যে একটি বস্তুর বিভিন্ন পদ্ধতি আভা জাভা সঙ্গে কল বা ক্ষেত্র এবং বৈশিষ্ট্যাবলী সাথে. আমি editText বলতে হয়. এটা আমার অ্যাক্সেস করার সুযোগ দেয় বর্তমান টেক্সট পাবেন এমন getText হিসাবে একটি পদ্ধতি, যে editText এবং তারপর যে স্পষ্টভাবে রূপান্তর একটি স্ট্রিং, এবং আমরা বার্তা সঞ্চয় করেছেন. এখন আমরা আসলে আমরা শুধু মুহূর্তের আগে তৈরি করা যে অভিপ্রায় সঙ্গে কিছু করতে চান. এটা অভিপ্রায় বলা হিসাবে আমি, অতিরিক্ত করা হবে যা, আবার, আমি আগে বলেন ভালো, এই বান্ডিল তৈরি করার একটি উপায় তথ্য আভা সঙ্গে. আমরা এই অধীন সংরক্ষণ করছেন কি জানেন তাই অতিরিক্ত পাঠান, আমাদের ট্যাগ এবং তারপর আমি পাঠান অন্তর্গত করছি. এবং তারপর আমরা আসলে এটি পরামিতি myIntent দিয়ে কার্যকলাপ শুরু করতে পারেন. আমি উইন্ডোজ 8 এ আপগ্রেড করা থেকে এবং এই আসলে এখন, তাই কার্যকলাপ আরম্ভ হবে সেখানে সংক্ষেপে দেখাবে যে কিছু ত্রুটি হতে পারে, কিন্তু তাদের উপেক্ষা করার চেষ্টা করতে পারেন. এবং এই অ্যানড্রইড এমুলেটর হয়. আশা কোড আসলে একটি মুহূর্ত পপ আপ করবে. আবার, যারা সামান্য জিনিস উপেক্ষা. কিন্তু অ্যানড্রইড এমুলেটর অপারেটিং সিস্টেমের যে কোনো সংস্করণ অনুকরণ করতে পারেন নিকটতম বেশী থেকে, ডোনাট, জিনজার ব্রেড. এই Jelly Bean 4.1 হয়. কিন্তু আপনি এখন দেখতে পারেন, এই যে আমরা তৈরি কিছু. এই MainActivity, editText, বোতাম আছে. আমি এখানে কিছু টাইপ করতে পারেন, কিন্তু আমরা এই সময়ে কি অনুপস্থিত? আমরা বার্তা পাঠাতে যাচ্ছে MainActivity ক্ষেত্র তৈরি অন্যান্য কার্যকলাপ করার জন্য, কিন্তু এই সময়ে আমরা অন্যান্য ক্রিয়াকলাপের কিছু করেননি, তাই এটা কিছু গ্রহণ করা যাচ্ছে না. আমরা সরানো আগে এর যে অংশ শেষ করা যাক. এই ফলাফল কার্যকলাপ, আমরা কি করতে হবে আমরা কি করতে হবে আমরা করতে হবে আপনি হয় আমরা, এই কার্যকলাপ মধ্যে অভিপ্রায় উল্লেখ করতে পারেন তাই আমরা সত্যিই সহজ, যা অভিপ্রায়, ক্যাপচার আছে. এটা কার্যকলাপ শ্রেণীর মধ্যে অন্তর্ভুক্ত একটি ফাংশন তাই আমরা শুধু "অভিপ্রায় থেকে বার্তা পেতে." বলতে পারেন "ইন্টেন্ট myIntent = getIntent." এবং এই myIntent একটি বস্তুর আমাদের এখন দিতে হবে এই কার্যকলাপ যা আমাদের যে নেতৃত্বে অভিপ্রায় একটি রেফারেন্স. MainActivity কল এবং কার্যকলাপ ফলে অতিরিক্ত তথ্য দেয়. ফলাফল কার্যকলাপ এখন, এখানে যে নেতৃত্বে অভিপ্রায় এ দেখায় এবং আমরা, আমরা অন্য এক সালে নির্মিত যে বার্তাটি অ্যাক্সেস করতে পারেন getStringExtra, এবং এই হল আমার জন্য স্বয়ংসম্পূর্ণ হবে. এবং তারপর, আমরা ট্যাগ উপায় মনে রাখবেন যে ডাটা বিট ,, এখানে ডান এই পাবলিক স্ট্রিং এই ক্ষেত্র দিয়ে ছিল যা আমরা আসলে অন্তর্ভুক্ত পংক্তিটি ট্যাগ. আমি MainActivity.Extra_Message বলে এটা ঠিক আছে, এবং এই পরামিতি নামের মতো সাজানোর হয় আমরা নিয়ামক থেকে টেমপ্লেটে কোড অতিক্রান্ত, যখন আমরা শিরোনাম তীর কিছু বলতে চাই না. এটা ধারণা একই সাজানোর. এখন, এই মনে রাখবেন. কোড আমরা এই স্বয়ংক্রিয় তৈরি করেছে অথবা স্বয়ংক্রিয় উত্পন্ন ফলে কার্যকলাপ জন্য, যার মাঝখানে টেক্সট ভিউ অন্তর্ভুক্ত যে হ্যালো দুনিয়া বলেছেন. আমরা সম্ভাব্য যে বড় করতে পারে. প্রথম যে কি চলুন শুরু করা যাক. আমরা এটা 40 ঘনত্ব স্বাধীন পিক্সেল করতে পারে. চলুন শুরু করা যাক বিশাল সুপার, যে দেখুন. যে ঠিক আছে হবে. এবং তারপর আমাদের কোড মধ্যে এই ব্যক্তিগত টেক্সট ভিউ উল্লেখ করার জন্য আমরা, এটি একটি আইডি দিতে প্রয়োজন হবে আমরা বলতে যে কি করার জন্য @ আমরা এটা ID নির্ধারণ করা যার মানে + + আইডি. আমরা শুধু @ আইডি বলেন, এটা যদি আমরা ইতিমধ্যেই বিদ্যমান আছে যে একটি আইডি উল্লেখ করছি অনুমান করা হবে এবং এর এই আমাদের resultTextView কল করা যাক. এবং XML-এর semicolons বা কিছু জন্য কোন প্রয়োজন আছে বিজ্ঞপ্তি. সবকিছু এই ট্যাগ মধ্যে. এটি অজ্ঞান অনেক এইচটিএমএল খুব অনুরূপ. এটি ব্যবহার করা হচ্ছে একটি সামান্য বিট লাগে, কিন্তু শেষ পর্যন্ত আপনি এটি দিয়ে বেশ স্বাচ্ছন্দ্য বোধ করব. এর ফলে আমাদের পাঠ্য ভিউ জন্য টেক্সট আপডেট করা যাক, এবং আমরা আমাদের অন্যান্য কার্যকলাপ যে সম্পাদনা টেক্সট ক্ষেত্রের পাবার ছিল যখন আমরা করেনি MainActivity এখানে আমরা আছি অনুরূপভাবে- আমরা আইডি দ্বারা ভিউ পাবেন. এবং কিছু ক্ষেত্রে আমি আগে এই উল্লেখ করা হয়নি, আমাদের সম্পদ ফোল্ডারে রেফারেন্স এবং তারপর আইডি, সম্পদ ফোল্ডারে সবকিছু, সমস্ত ID-র একটি রেফারেন্স এবং resultTextView. এবং ঠিক যেমন আগে, resultTextView, একটি অবজেক্ট যা এর সঙ্গে যুক্ত সব এই বৈশিষ্ট্য আছে মানে. আমরা এই টেক্সট ক্ষেত্রের অথবা টেক্সট ভিউ জন্য সম্পাদনা টেক্সট getText ব্যবহার আসলে আমরা, setText ব্যবহার করতে পারেন এবং তারপর আমরা ইতিমধ্যে অভিপ্রায় থেকে বার্তা পাওয়া যায় নি তাই আমি পাঠান বলতে পারে, এবং এই আসলে পাঠান সেট হবে. এটি আরম্ভ করার জন্য একটি মুহূর্ত গ্রহণ করা, এবং তারপর আমরা, এটি ক্র্যাশ কিনা বা না দেখতে পারেন কিন্তু অধিকার আছে যে প্রক্রিয়া সম্পর্কে কোন প্রশ্ন, মিথষ্ক্রিয়া যে সাজানোর? অনেক উপায়ে এটি সহজবোধ্য না. আমি তুলনামূলকভাবে সহজ কিছু মাধ্যমে যাচ্ছি কারণ আপনি লেআউট মধ্যে মিথস্ক্রিয়া দেখতে পাবেন, কারণ আবার,, হয় সোর্স কোড, আপনি কি রেফারেন্স জিনিষ এবং হয়ত জাভা আছে কিভাবে কাজ করে একটি সামান্য এক্সপোজার পেতে. আমি আসলে ohai মত, এখানে কিছু টাইপ করুন, এবং তারপর আমি বাটন ক্লিক করুন এটি একটি নতুন কার্যকলাপ আরম্ভ, এবং যে টেক্সট ভিউ ohai বলেছেন. , যে খুব সহজ কিন্তু আশা যে উদাহরণ পরে আপনি সাজানোর এই মিথস্ক্রিয়া কিভাবে কাজ করে দেখতে পারেন, এবং বিভিন্ন ফাইলের মধ্যে এখন যে জগাখিচুড়ি এই সব প্রকল্পের ফোল্ডার জন্য বাম দিকে, আশা করছি আপনি যেখানে এখন চেহারা জানি. এটি আপনার সোর্স কোড এলাকা. বিন্যাস সত্যিই আপনি ইমেজ অন্তর্ভুক্ত পর্যন্ত আপনার সঙ্গে মোকাবেলা করব শুধুমাত্র জিনিস এবং drawables বা যাই হোক না কেন, এবং মান, যে, স্ট্রিং অন্তর্ভুক্ত করা হবে আমরা উল্লিখিত, এবং তারপর শৈলী CSS এর মত ধরণের কিছু যে হয়. আপনি চান যখন এটি ঠিকানা, কিন্তু আপনি অতিরিক্ত ফ্লেয়ার যোগ করতে স্বাচ্ছন্দ্য অনুভব না হওয়া পর্যন্ত আপনার আবেদন খুব এটা নিয়ে চিন্তা করার কোন প্রয়োজন নেই. শুধু অন্য একটি জিনিস আপ মোড়ানো আপনি নিশ্চিতভাবে অন্তর্ভুক্ত-করতে হবে আপনি শীতল বৈশিষ্ট্য সংহত এবং নিজের কিছু অতিরিক্ত সংরক্ষণ করতে চান অভিমানী কোডিং- 3rd পার্টি লাইব্রেরি অন্তর্ভুক্ত হবে. এখানে Sherlock Holmes টুপি সঙ্গে সামান্য অ্যানড্রইড লোক. এটি একটি কর্ম বার Sherlock লাইব্রেরি যার অর্থ, মূলত, আপনি আগে দেখেছি যে কর্ম দণ্ড মানে যা এখন, আইস ক্রিম স্যান্ডউইচ এবং Jelly Bean মধ্যে প্রমিত আপনি পুরোনো সংস্করণগুলি নেভিগেশন ব্যবহারকারীদের ব্যবহারকারীর অভিজ্ঞতা যে সাজানোর আনতে চান তাহলে এবং ব্যবহারকারী তা নেভিগেট করা যাচ্ছে কিভাবে সম্পর্কে উদ্বেজক থেকে নিজেকে সংরক্ষণ করুন পুরোনো সংস্করণের উপর যে জিনিস না থাকলে আপনি এই লাইব্রেরি অন্তর্ভুক্ত করতে পারেন এবং তারপর আপনি ঠিক আছে রেফারেন্স-বদলে ডিফল্ট অ্যানড্রইড কর্ম বারের জন্য লাইব্রেরি, আপনি এই সমর্থন লাইব্রেরি রেফারেন্স. আপনি একটি খেলা অন্তর্ভুক্ত চলুন Scoreloop ভালো জিনিস, এটা দারুণ. এটা আপনাকে গেম নেতা বোর্ড এবং সফলতা যোগ করতে দেয়. AdMob আপনার অ্যাপ্লিকেশনের মধ্যে বিজ্ঞাপন নির্বাণ একটি উপায় যদি আপনি এটি অর্থ কেটে সামান্য বিট করতে চাই. অবশ্যই, ফেসবুক ও টুইটার আছে একীভূত জন্য আছে আপনি ইত্যাদি সহজে জিনিস ভাগ করতে চান. ড্রপবক্স, অনুরূপভাবে, এবং Google বিশ্লেষণ সেখানে এক খুঁজছেন যে লেখচিত্র. আপনি আসলে আলাপচারিতার যারা দেখতে চান যে খুব গুরুত্বপূর্ণ হবে আপনার অ্যাপ্লিকেশন অথবা এটা যারা, তারা যোগাযোগ করার জন্য, কিভাবে ইত্যাদি সঙ্গে. গুগল, ডিফল্টরূপে, আপনি আপনার app টি ইনস্টল করা হয়েছে সে সম্পর্কে পরিসংখ্যান অনেক বলে এবং তারা কি আছে ফোন, কি অপারেটিং সিস্টেম সংস্করণ তারা আছে. কিন্তু আপনি একটি দৈনিক ভিত্তিতে এটি ব্যবহার করে এবং কিভাবে তারা এটি ব্যবহার করা হয় যারা দেখতে চান তারপর আপনি যে মত ট্র্যাকিং সিস্টেম কিছু সাজানোর অন্তর্ভুক্ত করতে চাইবেন. আপনি আপনার app টি বিতরণ করতে প্রস্তুত হয়ে গেলে আমি খুব বেশী গভীরতার মধ্যে যে ঢোকা করার প্রয়োজন হবে না. এখানে লিঙ্কে ক্লিক করুন, গুগল প্লে করুন. এটি Android বাজার ব্যবহার করা হয়. তারা, গুগুল প্লে সবকিছু rebranded তাই এখন আপনি যে জমা দিন. এটা খুবই সহজবোধ্য না. আপনার একটি বিবরণ, কিছু স্ক্রিনশট অন্তর্ভুক্ত আছে. আমি বলেন, ভালো লেগেছে, iOS মত কোনো অনুমোদন প্রক্রিয়া আছে. এবং যেখানে এখানে থেকে যেতে? আমি আপনাকে একটি সত্যিই সহজ উদাহরণ দেখিয়েছেন. এটা ভয়ঙ্কর সহজ মনে আশা রাখি, যদি তারপর যে সম্ভবত একটি ভাল সাইন. আপনি সব সময়ে আমি টাইপ ছিল ঠিক কি সম্পর্কে একটি সামান্য বিট বিভ্রান্ত বা অবিশ্বাস্য মনে হলে যে সূক্ষ্ম, কিন্তু এখানে থেকে Google নির্দেশিকা যান. এই শুরু একটি দারুন জায়গা. এটা, অ্যাপ্লিকেশন নকশা পরিপ্রেক্ষিতে তারা আশা মাধ্যমে আপনি কথা বলতে হবে ব্যবহারকারীরা সাধারণত এটি সঙ্গে কিভাবে যোগাযোগ করার. এটা আরো অনেক কিছু বিনামূল্যে ফর্ম iOS আর, আমি বলতে চাই টেবিল দেখ আমি হয় জানি না, এটি দেখে মনে হচ্ছে, যা যে তাদের রুটি এবং মাখন এর. সবকিছু এবং নিচে আপ সহচরী একটি টেবিল দৃশ্য. অ্যানড্রইড তারা স্পষ্টভাবে মানুষের কাছ থেকে এটা তাকান উত্সাহিত করি বিভিন্ন দৃষ্টিকোণ আভা. আপনি এই ADT ইন সফ্টওয়্যার ডেভেলপমেন্ট কিট অন্তর্ভুক্ত যখন ডিফল্টরূপে আপনার যদি Android মধ্যে নমুনা প্রকল্পের একটি আভা আছে. এখানে ডান, অ্যান্ড্রয়েড, অ্যান্ড্রয়েড নমুনা প্রকল্প. আমি যে উপর ক্লিক করা হলে, তারপর আমি প্রকল্পের আবেদন নমুনা যার জন্য একটি সংস্করণ নির্বাচন করতে পারেন. বিভিন্ন জিনিষ আভা এখানে আছে. এটা কর্ম বার সামঞ্জস্য সঙ্গে শুরু হয় অ্যাকসিলরোমিটারটির খেলা, ব্যাকআপ এবং পুনঃস্থাপন, ব্লুটুথ, অঙ্গভঙ্গি রচয়িতা. LunarLander হিসাবে JetBoy, তারা আপনাকে একটি নমুনা খেলা. নমুনা অ্যাপ্লিকেশন আভা এখানে আছে এবং তারা সব, অ্যান্ড্রয়েড এর API-এর বিভিন্ন দিক লক্ষ্য করছি এবং ধারণা যে আপনি আপনার আবেদন করতে যে হয় আপনি যদি একটি Android এর অ্যাপ্লিকেশন জন্য অ্যানড্রইড সম্পর্কে সবকিছু শিখতে প্রয়োজন হবে না. আপনি শুধুমাত্র আপনি আসলে ব্যবহার করতে যাচ্ছেন যে অংশ সম্পর্কে জানতে আছে. এই নমুনা লাইব্রেরি তাকান. কপি এবং পেস্ট করুন কোড এবং এটি পুনরায় আবেদন করতে বিনা দ্বিধায়. এটা আরো কঠিন কোড তাকান মহান জিনিস এবং তা বুঝতে চেষ্টা করুন, যা অবশ্যই কেন CS50 মধ্যে আমরা প্রায়ই আপনি সোর্স কোড বৃহত পরিমাণে দিতে. আপনি অনুরূপ লাইব্রেরি ব্যবহার করতে যাচ্ছেন যদি এই কিছু তাকান এবং তারপর আপনার নিজস্ব কোড এটি প্রযোজ্য. এবং অবশ্যই, টিউটোরিয়াল আছে. টিউটোরিয়াল জন্য অনুসন্ধান করুন. আমি গতি আপনি আনতে পারেন, যা ভাল ওগুলো অনেক অনলাইন খুঁজে পাওয়া যায় নি কি টুকরা হয় সত্যিই এবং কিভাবে আপনি তাদের ব্যবহার করতে পারেন সঙ্গে. টুকরা মত এই নতুন নকশা কিছু, আপনি একটি তৈরি করছি, যদি না আপনি কি সত্যিই চিন্তিত হতে হবে না সুযোগ প্রকল্পে বেশ বড়. তারা গুগল ইন ফেজ করার চেষ্টা করছে যে জিনিষ Stackoverflow অবশ্যই আপনার বন্ধু. আশা রাখি, আমি Android এর উপর আপনি একটি বিট বিক্রি এটা অনেক বেশি সহজ শুধু কোডিং ভাষা পরিপ্রেক্ষিতে যোগাযোগ এর নিরূপক. জাভা আমি লক্ষ্য সি আর বুঝতে অনেক সহজ বলতে চাই না. অ্যানড্রইড আমি আরো অনেক কিছু iOS আর মনে ক্রমবর্ধমান হয়. আমি বলতে চাচ্ছি, তথ্য আমি মনে করি তা থেকে সরাইয়া আছে, খুব হয়. এটা করার জন্য কাছাকাছি হতে যাচ্ছে এবং তারা তাদের নকশা চক্র পদ কয়েক বছর পিছনে তাই এটি এখনও তারা এই কয়েকটি মাধ্যমে কাজ করছি যে ধরণের বোধগম্য এর দৃঢ়তা প্রশ্ন, এই কর্ম বার মত, এখনও তাদের জন্য একটি নতুন বিষয় সব তাদের Apps জুড়ে অনুরূপ ব্যবহারকারীর অভিজ্ঞতা তৈরি সাজানোর. আশা করছি আপনি এখন এগিয়ে যান এবং অন্ধকার পর্যন্ত খুলতে পারে আপনার নিজস্ব অ্যান্ড্রয়েড Apps না. আমরা কিছু বিষয়ে আপ মোড়ানো আগে কারো কাছে কি কোন প্রশ্ন আছে? আমি উত্তর 42 আপনি বলতে পারেন. ওয়েল, সবাই, এবং সৌভাগ্য কোডিং খুশি. [CS50.TV]