অ্যান্ড্রয়েড স্টুডিওতে আপনার স্মার্ট হোম সিস্টেমের জন্য একটি অ্যান্ড্রয়েড অ্যাপ কীভাবে তৈরি করবেন?

এই নিবন্ধটি অন্য একটি নিবন্ধের অংশ দুটি কিভাবে ESP32 মডিউল ব্যবহার করে স্মার্ট হোম অটোমেশন করবেন? যার মধ্যে একটি স্মার্ট হোম সিস্টেম তৈরির একটি পদ্ধতি সরবরাহ করা হয়েছিল। এই নিবন্ধে, আমরা কীভাবে অ্যান্ড্রয়েড অ্যাপ্লিকেশন বিকাশ করতে এবং ফায়ারবেস ডেটাবেসটিকে এটি সংযুক্ত করতে পারি না তার ধাপে ধাপে প্রদর্শন করতে চলেছি। তারপরে এই মোবাইল অ্যাপ্লিকেশনটি বাড়ির বৈদ্যুতিক সরঞ্জামগুলিতে স্যুইচ করতে ব্যবহার করা হবে।



অ্যান্ড্রয়েড অ্যাপ্লিকেশন বিকাশ

ইতিমধ্যে বাজারে পাওয়া স্মার্ট হোম সিস্টেমগুলি খুব ব্যয়বহুল। আপনার যদি প্রয়োজনীয় উপাদান এবং অ্যান্ড্রয়েড ডিভাইস থাকে তবে আপনি বাড়িতে একটি হোম অটোমেশন সিস্টেম তৈরি করতে পারেন যা সমান দক্ষ হবে তবে ব্যয় খুব কম হবে। ঘরে বসে নিজের হোম অটোমেশন সিস্টেমটি তৈরি করতে এই দুটি নিবন্ধ যান।



হোম অটোমেশনের জন্য কীভাবে একটি অ্যান্ড্রয়েড অ্যাপ্লিকেশন বিকাশ করবেন?

আমরা একটি অ্যান্ড্রয়েড অ্যাপ বিকাশ করতে যাচ্ছি যা অন্য নিবন্ধে ইএসপি 32 মডিউলে সংযুক্ত ছিল এমন বৈদ্যুতিক হোম অ্যাপ্লায়েন্সগুলি নিয়ন্ত্রণ করতে রিমোট কন্ট্রোল হিসাবে ব্যবহৃত হবে। অন্য নিবন্ধে যেতে, এখানে ক্লিক করুন



পদক্ষেপ 1: সফ্টওয়্যার প্রয়োজন

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



  • অ্যান্ড্রয়েড স্টুডিও।
  • জাভা জেডিকে।

পদক্ষেপ 2: মূল কার্যকারিতা বোঝা

আমরা একটি অ্যাপ্লিকেশন তৈরি করতে যাচ্ছি যাতে সামনের ও শেষের উভয় কোডিং থাকবে। মূল স্ক্রিনে এটিতে এমন কয়েকটি বোতাম থাকবে যা ইএসপি 32 মাইক্রোকন্ট্রোলার বোর্ডের সাথে সংযুক্ত বৈদ্যুতিক সরঞ্জামগুলির স্যুইচিং নিয়ন্ত্রণ করবে। ব্যাক-এন্ড কোডিংয়ে, আমরা সুইচ চালু থাকলে একটি '1' এবং সুইচটি বন্ধ থাকলে একটি '0' প্রেরণ করব।

আমরা একটি ফায়ারবেস ডাটাবেস তৈরি করতে যাচ্ছি। এই ডাটাবেসটিতে হালকা এবং এসি নামে 2 টি সত্তা থাকবে। আলোতে লাইটগুলির স্যুইচিংয়ের মান থাকবে এবং ফ্যানের স্যুইচিংয়ের জন্য এসিতে একটি মান থাকবে। এই মানটি তখন মাইক্রোকন্ট্রোলারের কাছে প্রেরণ করা হবে এবং তারপরে মাইক্রোকন্ট্রোলার সেই অনুযায়ী রিলে মডিউলে একটি নিয়ন্ত্রণ সংকেত প্রেরণ করবে।

পদক্ষেপ 3: অ্যান্ড্রয়েড স্টুডিও সেট আপ করা

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



  1. খোলা কন্ট্রোল প্যানেল এবং ক্লিক করুন সিস্টেম এবং সুরক্ষা
  2. ক্লিক করুন পদ্ধতি

    পদ্ধতি

  3. ক্লিক করুন উন্নত সিস্টেম সেটিং এবং তারপরে ক্লিক করুন পরিবেশগত পরিবর্তনশীল

    উন্নত সিস্টেম সেটিং

  4. সিস্টেম ভেরিয়েবল বিভাগে, পথে ক্লিক করুন এবং তারপরে সম্পাদনা ক্লিক করুন। একটি নতুন পরিবেশগত পরিবর্তনশীল সম্পাদনা করুন বক্স প্রদর্শিত হবে।

    পাথ সম্পাদনা করুন

  5. এখন যাও সি: প্রোগ্রাম ফাইল জাভা আপনার পিসিতে জেডিকে ফোল্ডারটি খুলুন, বিন ফোল্ডারে ক্লিক করুন এবং তারপরে সেই ফোল্ডারের পথটি অনুলিপি করুন।

    বিন ফোল্ডারের পথ

  6. এখন সম্পাদনা পরিবেশ পরিবর্তনশীল বাক্সে যান এবং একটি নতুন ভেরিয়েবল করতে নতুন ক্লিক করুন। উপরের পদক্ষেপে আপনি অনুলিপিতে যে অনুলিপিটি অনুলিপি করেছেন তা আটকে দিন এবং এটি সংরক্ষণ করুন।
  7. এখন তা নিশ্চিত করতে, এটি সম্পূর্ণরূপে ইনস্টল করা থাকলে, ওপেন কমান্ড প্রম্পট এবং টাইপ করুন java –version

    জাভা সংস্করণ

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

পদক্ষেপ 4: লেআউট তৈরি করা

আমরা একটি লেআউট তৈরি করব যাতে কিছু বোতাম থাকবে যা 0 বা 1 এর কমান্ড ফায়ারবেস ডাটাবেসে প্রেরণ করবে। এটি একটি সাধারণ বিন্যাস হবে যাতে কিছু বোতাম থাকবে। আমার অ্যাপ্লিকেশনটিতে, আমি কেবলমাত্র দুটি বোতাম অন্তর্ভুক্ত করব যা লাইট এবং ফ্যান নিয়ন্ত্রণ করবে। আপনি যদি আরও বাড়ির সরঞ্জামগুলির জন্য আরও বোতাম অন্তর্ভুক্ত করতে চান তবে মূল প্রোগ্রামটিতে একই অংশের কোডটি অনুলিপি করুন এবং ডাটাবেসে একটি নতুন পরিবর্তনশীল করুন able কোনও সময় নষ্ট না করে আসুন আমরা আমাদের অ্যাপের জন্য একটি সহজ বিন্যাস তৈরির পদক্ষেপের দিকে এগিয়ে যাই।

1. প্রথমে যান ফাইল> নতুন> নতুন প্রকল্প। একটি মেনু উপস্থিত হবে। নির্বাচন করুন খালি প্রকল্প।

2. এখন প্রকল্পটির নাম দিন এবং সেট করুন কোটলিন আপনার প্রোগ্রামিং ভাষা হিসাবে।

3. এখন বাম কোণে ক্লিক করুন অ্যাপ্লিকেশন> পুনরায়> লেআউট> কার্যকলাপ_মাইন.এক্সএমএল।

কার্যকলাপ_মাইন

৪. এখানে, আপনার অ্যান্ড্রয়েড স্টুডিওতে ইতিমধ্যে সরবরাহ করা কোডের নীচে নিম্নলিখিত কোড যুক্ত করুন। আমরা একটি সীমাবদ্ধ বিন্যাস তৈরি করছি। নীচের কোডটি শীর্ষে ঘর অটোমেশনের একটি শিরোনাম যুক্ত করছে। এরপরে এটি 3 টি সুইচ যুক্ত করছে। একটি স্যুইচ আপনাকে এফ নির্বাচন করতে দেয় আপনি ঘরের গৃহ সরঞ্জামগুলি নিজে পরিচালনা করতে চান বা না করতে চান। অন্য দুটি স্যুইচড যথাক্রমে ফ্যান এবং লাইট পরিচালনা করবে।

 

৫. আপনার অ্যাপের লেআউটটি নীচের চিত্রটির মতো দেখাবে।

লেআউট

পদক্ষেপ 5: ব্যাক-এন্ড কোডিং

ব্যাক এন্ড কোডটি যে কোনও অ্যাপ্লিকেশনটির সর্বাধিক গুরুত্বপূর্ণ অংশ। এটি সম্মুখ-প্রান্ত বিন্যাস এবং প্রকল্পের ডাটাবেসের মধ্যে প্রধান সেতু is আমাদের অ্যাপ্লিকেশনটিতে, আমরা স্যুইচ চালু থাকা অবস্থায় ডাটাবেসে একটি '1' এবং স্যুইচটি বন্ধ থাকা অবস্থায় ডাটাবেসে একটি '0' প্রেরণ করতে চাই। আপনার অ্যাপ্লিকেশনটিতে কোড যুক্ত করতে নিম্নলিখিত পদক্ষেপগুলি অনুসরণ করুন

1. বাম কোণে, ক্লিক করুন অ্যাপ্লিকেশন> জাভা> com.example.my applicationmyapplication> প্রধান_অ্যাক্টিভিটি।

২. এখন এই স্ক্রিনে আপনার ক্লাসে নিম্নলিখিত কোডটি অনুলিপি করুন।

ক্লাস অটোমেশন: অ্যাপকম্প্যাটঅ্যাক্টিভিটি () database var ডাটাবেস = ফায়ারবেসড্যাটাস.সেইট ইনসট্যান্স () আমার মাইরফ = ডাটাবেস.আরফারেন্স ইন্টার্নাল লেটনিট ওয়ার বিটিএনসুইচ 1: স্যুইচ ইন্টারনাল লেটিনিট ভার বিটিএনসুইচ 2: স্যুইচ ওভাররাইড ফান অনক্রিট (সেভেনট্যান্টস)? .onCreate (saveInstanceState) সেট কনটেন্টভিউ (আর। .visibility = View.VISIBLE if (p0.value.toString ()। equals ('1')) {Switch1.isChecked = true; toggleButton2.visibility = View.VISIBLE toggleButton3.visibility = View.VISIBLE myRef.child ('অটোমেশন / AC').addValueEventListener(object: ValueEventListener {ওভাররাইড মজা onCancelled (p0: ডাটাবেস এরর)} D ওভাররাইড মজা onDataChange (p0: ডাটাস্নাপশট) {if (p0.value.toString ()। সমান ('1')। সমান ('1')। isChecked = true} other toggleButton2.isChecked = fals e}}) myRef.child ('অটোমেশন / লাইট')। addValueEventListener (অবজেক্ট: ValueEventListener {ওভাররাইড মজা onCancelled (p0: ডাটাবেসঅর্র) D ata ondide মজা onDataChange (p0: DataSnapshot) to if (p0.val)। সমান ('1')) {toggleButton3.isChecked = true} other toggleButton3.isChecked = false}})} else {Switch1.isChecked = false toggleButton2.visibility = View.GONE toggleButton3.visibility = View.Gon। d ('আহসান)