অ্যান্ড্রয়েড সার্ভিসেস টিউটোরিয়াল: পটভূমিতে কোনও অ্যাপ্লিকেশন কীভাবে চালানো যায়?

এই অ্যান্ড্রয়েড পরিষেবাদি টিউটোরিয়ালটি আপনাকে সঙ্গীত বাজানোর মতো ব্যাকগ্রাউন্ডে কীভাবে অপারেশন সম্পাদন করতে পারে তা বুঝতে সহায়তা করে, এতে কোনও ইউআই সংযুক্ত নেই

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



আমি নিম্নলিখিত বিষয়গুলি আবরণ করব:



অ্যান্ড্রয়েড পরিষেবা কী?

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

অতিরিক্তভাবে, কোনও উপাদান এটির সাথে ইন্টারঅ্যাক্ট করতে এবং ইন্টারপ্রোসেস যোগাযোগ সম্পাদন করার জন্য নিজেকে একটি পরিষেবাতে আবদ্ধ করতে পারে।



জাভাতে একটি শক্তিতে একটি সংখ্যা বাড়ানো

বিঃদ্রঃ: Android.app.Service কনটেক্সট্র্যাপার ক্লাসের একটি সাবক্লাস এবং অ্যান্ড্রয়েড পরিষেবা কোনও থ্রেড বা পৃথক প্রক্রিয়া নয়।

অ্যান্ড্রয়েড- পরিষেবাদি জীবনচক্র

অ্যান্ড্রয়েড পরিষেবাদির জীবনচক্রের দুটি ধরণের পরিষেবা থাকতে পারে। একটি পরিষেবার জীবনচক্র দুটি পৃথক পথ অনুসরণ করে, যথা:

  1. শুরু হয়েছে
  2. আবদ্ধ

শুরু হয়েছে



কোনও অ্যাপ্লিকেশন উপাদান কল করলে একটি পরিষেবা শুরু হয় পরিসেবা আরম্ভ () পদ্ধতি একবার শুরু হয়ে গেলে, কোনও পরিষেবা অনির্দিষ্টকালের জন্য পটভূমিতে চলতে পারে, এমনকি যে অংশটি শুরু করার জন্য দায়ী তা ধ্বংস হয়ে যায়। এটি ব্যবহার করে বন্ধ করা হয় স্টপ সার্ভিস () পদ্ধতি পরিষেবাটি কল করেও নিজেকে থামাতে পারে স্টপসেলফ () পদ্ধতি

আবদ্ধ

যখন কোনও অ্যাপ্লিকেশন উপাদান কল করে তার সাথে আবদ্ধ হয় তখন একটি পরিষেবা আবদ্ধ হয় বাইন্ড সার্ভিস () । বাউন্ড সার্ভিস একটি ক্লায়েন্ট-সার্ভার ইন্টারফেস দেয় যা উপাদানগুলির সাথে পরিষেবার সাথে ইন্টারঅ্যাক্ট করতে, অনুরোধগুলি প্রেরণ করতে এবং ফলাফল পেতে দেয় allows এটি আন্ত-প্রক্রিয়া যোগাযোগ (আইপিসি) জুড়ে প্রক্রিয়া করে। ক্লায়েন্টটি কল করে পরিষেবাটি আবদ্ধ করতে পারে আনবাইন্ড সার্ভিস () পদ্ধতি

অ্যান্ড্রয়েড পরিষেবা জীবনচক্র- অ্যান্ড্রয়েড পরিষেবাদি টিউটোরিয়াল- এডুরেকা

অ্যান্ড্রয়েড পরিষেবাগুলিতে এই নিবন্ধটির পরবর্তী বিভাগে চলেছেন, আসুন ভিন্ন আলোচনা করা যাকপরিষেবা শ্রেণীর অধীনে পদ্ধতিগুলি।

অ্যান্ড্রয়েড পরিষেবাদি টিউটোরিয়াল: পদ্ধতি

কয়েকটি পদ্ধতি ব্যবহার করে আপনি সহজেই যে কোনও অ্যাপ্লিকেশনটিতে ক্রিয়াকলাপ সম্পাদন করতে পারেন। এর মধ্যে কয়েকটি হ'ল:

পদ্ধতিবর্ণনা
অন ​​স্টার্টকমন্ড ()

এই পদ্ধতিটি তখন ডাকা হয় যখন অন্য কোনও উপাদান যেমন কোনও ক্রিয়াকলাপ বলে, পরিষেবাটি শুরু করার জন্য অনুরোধ করে পরিসেবা আরম্ভ ()

যখন সংশ্লিষ্ট কাজটি ব্যবহার করে করা হয় তখন পরিষেবা বন্ধ করা আপনার দায়িত্ব স্টপসেলফ () বা স্টপ সার্ভিস () পদ্ধতি।

আনবাইন্ড ()

যখন অন্য উপাদান কল করে পরিষেবাটি আবদ্ধ করতে চায় তখন এই পদ্ধতিটি কল করে বাইন্ড সার্ভিস ()

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

অনবিন্দ ()

সমস্ত ক্লায়েন্ট যখন পরিষেবা দ্বারা প্রকাশিত একটি বিশেষ ইন্টারফেস থেকে সংযোগ বিচ্ছিন্ন হয় তখন সিস্টেমটি এই পদ্ধতিটিকে কল করে।

onRebind ()

নতুন ক্লায়েন্টরা পরিষেবাটি সংযুক্ত হওয়ার পরে এই পদ্ধতিটি কল করে আগেই জানিয়ে দেওয়া হয়েছিল যে সমস্তটি সংযোগ বিচ্ছিন্ন হয়ে গেছে অনউবাইন্ড (উদ্দেশ্য)

অনক্রিট ()

পরিষেবাটি যখন প্রথম ব্যবহার করে তৈরি করা হয় তখন এই পদ্ধতিটি কল করে অন ​​স্টার্টকমন্ড () বা আনবাইন্ড () । এটি একটি সময়ের এক সেট আপ করা প্রয়োজন।

onDestroy ()

পরিষেবাটি আর ব্যবহার না করা এবং ধ্বংস হয়ে যাওয়ার সময়ে এই পদ্ধতিটি বলা হয়। থ্রেড, নিবন্ধিত শ্রোতা, রিসিভার ইত্যাদির মতো কোনও সংস্থান পরিষ্কার করার জন্য আপনার পরিষেবায় এটি প্রয়োগ করা উচিত in

কঙ্কাল কোড

পাবলিক ক্লাস মাইনঅ্যাক্টিভিটি ক্রিয়াকলাপটি প্রসারিত করে {বেসরকারী পাঠ্যদর্শন ভিউ প্রাইভেট ব্রডকাস্ট্রিসিভার রিসিভার = নতুন ব্রডকাস্ট্রিসিভার () O @ ওভাররাইড পাবলিক শূন্য অন রিসিভ করুন (প্রসঙ্গ প্রসঙ্গে, অভিপ্রায় অভিপ্রায়) {বান্ডিল বান্ডিল = অভিপ্রায়.সেক্সট্রেস () যদি (বান্ডেল! = নাল) { bundle.getString (DownloadService.FILEPATH) int resultCode = bundle.getInt (DownloadService.RE सलाहT) যদি (রেজাল্টকোড == RESULT_OK) ast টোস্ট.মেকটেক্সট (মেইনএক্টিভিটি.এইচ, 'ডাউনলোড সম্পূর্ণ হয় U ইউআরআই ডাউনলোড করুন:' স্ট্রিং, টোস্ট.এলএনজিথ_লং) .show () TextView.setText ('ডাউনলোড সম্পন্ন হয়েছে')} অন্যথায় {Toast.makeText (MainActivity.this, 'ডাউনলোড ব্যর্থ হয়েছে', Toast.LENGTH_LONG)। শো () টেক্সটভিউ.সেট টেক্সট ('ডাউনলোড ব্যর্থ হয়েছে')}}}} @ ওভাররাইড পাবলিক অকার্যকর অনক্রিট (বান্ডেল সেভড ইনস্ট্যান্সস্টেট) {সুপার.অনক্রিয়েট (সেভড ইনস্ট্যান্সস্টেট) সেট কনটেন্টভিউ (আর.আলআউট.অ্যাক্টিভিটি_মেন) টেক্সটভিউ = (টেক্সটভিউ) সন্ধান করুনবাইআইডি (আর.আইডি.স্ট্যাটাস) {@ ওভাররাইড সুরক্ষিত শূন্যপদ ) নিবন্ধভুক্ত করুন (রিসিভার, নতুন ইনটেন্টফিল্টার (ডাউনলোডসোর্স.নোটাইফিকেশন))} @ ওভাররাইড সুরক্ষিত অকার্যকর onPause () {সুপার.অনপস () নিবন্ধনহীন রিসিভার (রিসিভার)} পাবলিক শূন্য অনক্লিক (দেখুন দেখুন) tent উদ্দেশ্য অভিপ্রায় = নতুন উদ্দীপনা (এটি, ডাউনলোডসোর্সি.ক্লাস) // সার্ভিসের জন্য ইনফস যুক্ত করুন কোন ফাইলটি ডাউনলোড করতে হবে এবং কোথায় ইন্টেন্ট.পুটেক্সট্রা (ডাউনলোডসোর্স.ফাইলেনাম, 'সূচকচটিএমএল') ইন্টেন্ট.পুটেক্সট্রা (ডাউনলোডসোর্স.ইউআরএল, 'www.edureka.co') স্টার্ট সার্ভিস (উদ্দেশ্য) পাঠ্য ভিউ.সেটটেক্সট ('পরিষেবা শুরু হয়েছে'))

এই উদাহরণে, আপনি পছন্দ মতো পদ্ধতিগুলি দেখতে পারেন অনক্রিট () , সারসংকলন () , অনপেজ () । এই পদ্ধতিগুলি অ্যান্ড্রয়েডে পরিষেবার কাঠামো তৈরি করে।

এখন, এই অ্যান্ড্রয়েড পরিষেবাদিগুলির টিউটোরিয়ালের ব্যবহারিক অংশে পৌঁছে দেওয়া যাককীভাবে একটি পরিষেবা তৈরি করতে এবং পরিচালনা করতে হয়।

ডেমো

ব্যাকগ্রাউন্ডে সংগীত কীভাবে খেলতে হয় তা দেখুন। এটি করার জন্য, আমি ব্যবহার করব Andriod স্টুডিও

ধাপ 1

একটি নতুন ফাঁকা প্রকল্প তৈরি করুন। আপনার প্রকল্পের নাম দিন এবং জাভা ফোল্ডারে ক্লিক করুন এবং এ ক্লিক করুন প্রধান কাজ । প্রথমে যুক্ত করুন মিডিয়া প্লেয়ার যাতে আপনি প্লেয়ারের বিশদ যেমন শুরু করতে চান, লুপ সেট করুন এবং আরও কিছু করতে পারেন।

প্যাকেজ com.example.mydemoapplication আমদানি androidx.appcompat.app.appCompatActivity পাবলিক ক্লাস মেইনঅ্যাক্টিভিটি অ্যাপকম্প্যাটঅ্যাক্টিভিটি প্রসারিত করে {@ ওভাররাইড সুরক্ষিত শূন্য অনকারিতা (বান্ডেল সেভডআইনস্ট্যান্সস্টেট) {সুপার.অনক্রিয়েট মিডিয়াপ্লায়ার মিডিয়াপ্লাইটিভিউ (ক্রিয়াকলিটকার্টিভিটি) (এটি, সেটিংস.সিসটেম.ডিএএফএইএল.এলএইএলআরএলআরআইআরআইআরআই) প্লেয়ার.সেটলুপিং (সত্য) প্লেয়ার.স্টার্ট ()}}

দ্রষ্টব্য: আপনি যদি এটি প্রথমবার ব্যবহার করছেন তবে BIOS সক্ষম করতে ভুলবেন না। আপনি আপনার সিস্টেম পুনরায় চালু করে এটি করতে পারেন।

আপনাকে ভার্চুয়াল ডিভাইস যুক্ত করতে হবে। শুধু ক্লিক করুন ওভিডি ম্যানেজার খুলুন।

আপনার পছন্দের একটি ডিভাইস নির্বাচন করুন এবং আপনি যেতে প্রস্তুত!

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

ধাপ ২

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

আসুন দেখুন কীভাবে এটি করা যায়।

  • জাভা ফোল্ডারে অন্য একটি ক্লাস তৈরি করে নাম দিন। এখানে, আমি এটি ' মাই সার্ভিস '।
  • এই শ্রেণিটি পরিষেবা শ্রেণিকে প্রসারিত করে।
  • একবার আপনার কাছে পরিষেবা শ্রেণীর পদ্ধতিগুলি রয়েছে, ক্লিক করে পদ্ধতিগুলি প্রয়োগ করুন Alt + লিখুন।
  • এর পরে, আপনাকে পদ্ধতিগুলি ওভাররাইড করতে হবে। সুতরাং, বিকল্পগুলি পেতে উইন্ডোতে ডান ক্লিক করুন।
  • ওভাররাইড পদ্ধতিগুলি তৈরি করুন, নির্বাচন করুন অন ​​স্টার্টকমন্ড () , এবং অনডেস্ট্রয় ()।
  • সম্পাদনা করুন অন ​​স্টার্টকমন্ড () নিম্নলিখিত কোড যুক্ত করে পদ্ধতিগুলি .:
মিডিয়াপ্লেয়ার প্লেয়ার = মিডিয়াপ্লেয়ার.ক্রিয়েট (এটি, সেটিংস.সিসটেম.ডিএএফএল.এলএআরএলআর_আরআইআরআই) প্লেয়ার.সেটলুপিং (সত্য) প্লেয়ার.স্টার্ট ()

বিঃদ্রঃ: এই কোডটি মুছে দিন প্রধান কাজ.

  • এটি আপনাকে বিবৃতি অপসারণ করতে জিজ্ঞাসা করে একটি ত্রুটি ফেলবে। সুতরাং, রিটার্নের স্টেটমেন্টটি সরান এবং মিডিয়াপ্লেয়ারকে একটি ব্যক্তিগত পদ্ধতি হিসাবে ঘোষণা করুন এবং প্রত্যাবর্তন করুন START_STICKY । এটি প্রারম্ভিক অবস্থা ফিরে আসবে।
  • অ্যাড প্লেয়ার.স্টপ () মধ্যে onDestroy () পদ্ধতি

ধাপ 3

যাও গরুর মাংস এবং লেআউটে যান, ক্লিক করুন android_main.xml অ্যাপ্লিকেশনটির এক্সএমএল ফাইল পেতে।

  • টেক্সটভিউটি সরান এবং এটিকে লিনিয়ারলআউট সহ প্রতিস্থাপন করুন এবং বোতামগুলি যুক্ত করুন। সংশ্লিষ্ট কোড যুক্ত করুন।
<লিনিয়ারলআউট অ্যান্ড্রয়েড: ওরিয়েন্টেশন= 'উল্লম্ব' অ্যান্ড্রয়েড: বিন্যাস_ প্রস্থ= 'ম্যাচ প্যারেন্ট' অ্যান্ড্রয়েড: বিন্যাস_ উচ্চতা= 'মোড়ানো_ কনটেন্ট' অ্যান্ড্রয়েড: লেআউট_সেন্টার্টিকাল= 'সত্য' সরঞ্জাম: উপেক্ষা করুন= 'মিসিংকন্ট্রেন্টস'><বাটন অ্যান্ড্রয়েড: আইডি= '@ + আইডি / বাটন স্টার্ট' অ্যান্ড্রয়েড: পাঠ্য= 'পরিষেবা শুরু করুন' অ্যান্ড্রয়েড: বিন্যাস_ প্রস্থ= 'মোড়ানো_ কনটেন্ট' অ্যান্ড্রয়েড: বিন্যাস_ উচ্চতা= 'ম্যাচ প্যারেন্ট'/><বাটন অ্যান্ড্রয়েড: আইডি= '@ + আইডি / বোতাম স্টপ' অ্যান্ড্রয়েড: পাঠ্য= 'পরিষেবা বন্ধ করুন' অ্যান্ড্রয়েড: বিন্যাস_ প্রস্থ= 'মোড়ানো_ কনটেন্ট' অ্যান্ড্রয়েড: বিন্যাস_ উচ্চতা= 'ম্যাচ প্যারেন্ট'/>লিনিয়ারলআউট>
  • একবার আপনি এটি করেন, ফিরে যান প্রধান কাজ বর্গ এবং এক্সএমএল ফাইল এবং লিঙ্ক করার জন্য সংশ্লিষ্ট কোড যুক্ত করুন মাই সার্ভিসক্লাস।
প্যাকেজ com.example.newproject আমদানি androidx.appcompat.app.AppCompatActivity পাবলিক ক্লাস মাইনঅ্যাক্টিভিটি অ্যাপকম্প্যাটঅ্যাক্টিভিটি প্রয়োগগুলি প্রসারিত করে .অনলিক্লিকলিস্টার {প্রাইভেট বাটন শুরু, থামান @ ওভাররাইড সুরক্ষিত অকার্যকর onCreate (বান্ডেল সেভডআইনস্ট্যান্ট স্টেট)। .activity_main) start = (বাটন) FindViewById (R.id.buttonStart) স্টপ = (বাটন) FindViewById (R.id.buttonStop) start.setOnClickListener (এটি) স্টপ.সেটঅনক্লিকলিস্টার (এটি) O @ ওভাররাইড পাবলিক ভিউ অন ক্লিক করুন (ক্লিক করুন ) {যদি (দর্শন == শুরু) {স্টার্টসোভার্স (নতুন ইন্টেন্ট (এটি, মাই সার্ভিসক্লাস.ক্লাস))} অন্যথায় যদি (ভিউ == স্টপ) {স্টপ সার্ভিস (নতুন ইনটেন্ট (এটি, মাই সার্ভিসক্লাস.ক্লাস))}}}

পদক্ষেপ 4

ক্লাসগুলি সংযুক্ত করার পরে, কোডটি চালানো যাক।

দ্রষ্টব্য: AndroidManifiest.xML ফাইলে পরিষেবা শ্রেণীর নাম যুক্ত করুন।

এর পরে, কোডটি চালানো যাক।

একবার আপনি পরিষেবাটি শুরু করার পরে, অন্য অ্যাপ্লিকেশনটি খোলার পরেও এটি পটভূমিতে চলবে। আপনি বাটনগুলিতে ক্লিক করে পরিষেবাটি শুরু বা বন্ধ করতে পারেন।

এটি একটি সাধারণ ডেমো যেখানে আপনি অ্যান্ড্রয়েড পরিষেবাদিগুলির সাথে কীভাবে কাজ করতে শিখেছেন।

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

এখন আপনি আমাদের অ্যান্ড্রয়েড পরিষেবাদি টিউটোরিয়াল ব্লগটি পেরিয়ে গেছেন, আপনি এডুরেকার চেক আউট করতে পারেন আপনার শেখার দ্রুত শুরু করতে।

কোন প্রশ্ন আছে? এই 'অ্যান্ড্রয়েড পরিষেবাদি টিউটোরিয়াল' ব্লগের মন্তব্যে তাদের উল্লেখ করতে ভুলবেন না। আমরা আপনার কাছে ফিরে আসবো.