উদাহরণে আসার আগে, আমাদের জানা উচিত অ্যান্ড্রয়েডে ইন্টেন্ট পরিষেবা কী। ইনটেন্ট সার্ভিস অ্যাসিঙ্ক্রোনাসভাবে ব্যাক গ্রাউন্ড অপারেশন করতে যাচ্ছে। যখন ব্যবহারকারী কল startService() কার্যকলাপ থেকে, এটি প্রতিটি অনুরোধের জন্য উদাহরণ তৈরি করে না। সার্ভিস ক্লাসে কিছু অ্যাকশন করার পরে এটি পরিষেবা বন্ধ করে দেবে অন্যথায় আমাদের stopSelf() ব্যবহার করে পরিষেবা বন্ধ করতে হবে।
এই উদাহরণটি প্রতি 10 সেকেন্ডের জন্য কীভাবে অভিপ্রায় পরিষেবা শুরু করবেন সে সম্পর্কে প্রদর্শন করে৷
৷ধাপ 1 − অ্যান্ড্রয়েড স্টুডিওতে একটি নতুন প্রকল্প তৈরি করুন, ফাইল ⇒ নতুন প্রকল্পে যান এবং একটি নতুন প্রকল্প তৈরি করতে প্রয়োজনীয় সমস্ত বিবরণ পূরণ করুন৷
ধাপ 2 − res/layout/activity_main.xml-এ নিম্নলিখিত কোড যোগ করুন।
উপরের কোডে, আমরা টেক্সট ভিউ নিয়েছি, যখন ব্যবহারকারী ইনটেন্ট সার্ভিস থেকে ডেটা পাবেন তখন তা আপডেট হবে। ধাপ 3 − src/MainActivity.java
-এ নিম্নলিখিত কোড যোগ করুনপ্যাকেজ com.example.andy.myapplication; android.content.BroadcastReceiver আমদানি করুন; android.content.Context আমদানি করুন; android.content.Intent আমদানি করুন; android.content.IntentFilter আমদানি করুন; android.os.Bundle আমদানি করুন; Android আমদানি করুন৷ os.Handler;import android.support.v4.content.LocalBroadcastManager;Import android.support.v7.app.AppCompatActivity;import android.view.View;import android.widget.TextView; import java.util.Timer; java আমদানি করুন। util.TimerTask;পাবলিক ক্লাস মেইনঅ্যাক্টিভিটি AppCompatActivity প্রসারিত করে { TextView text; BroadcastReceiver broadcastReceiver =new BroadcastReceiver() { @Override public void onReceive(প্রসঙ্গ প্রসঙ্গ, উদ্দেশ্য অভিপ্রায়) { স্ট্রিং someValue =intent.getStringExtra("someName"); text.setText(someValue); } }; @Override সুরক্ষিত শূন্যতা onStart() { super.onStart(); IntentFilter intentFilter =নতুন IntentFilter(); intentFilter.addAction("com.example.andy.myapplication"); LocalBroadcastManager.getInstance(this).registerReceiver(broadcastReceiver, intentFilter); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); text =findViewById(R.id.text); চূড়ান্ত হ্যান্ডলার হ্যান্ডলার =নতুন হ্যান্ডলার(); TimerTask টাইমারটাস্ক =নতুন TimerTask() { @Override public void run() { handler.post(new Runnable() { public void run() { startService(new Intent(MainActivity.this, service.class)); } }); } }; টাইমার টাইমার =নতুন টাইমার(); timer.schedule(টাইমারটাস্ক, 0, 10000); } @ওভাররাইড সুরক্ষিত অকার্যকর অনস্টপ() { super.onStop(); LocalBroadcastManager.getInstance(this).unregisterReceiver(broadcastReceiver); }}service.class ফাইল নামে একটি ক্লাস তৈরি করুন এবং নিম্নলিখিত কোড যোগ করুন –
প্যাকেজ com.example.andy.myapplication;import android.app.IntentService;import android.content.Intent;import android.os.IBinder;import android.support.v4.content.LocalBroadcastManager;পাবলিক ক্লাস সার্ভিস IntentService প্রসারিত করে { পাবলিক স্ট্যাটিক উদ্বায়ী বুলিয়ান shouldStop =মিথ্যা; পাবলিক সার্ভিস() { সুপার(service.class.getSimpleName()); } @Override public IBinder onBind(Intent intent) { রিটার্ন নাল; } @Override protected void onHandleIntent(Intent intent) { Intent intent1 =new Intent("com.example.andy.myapplication"); intent1.putExtra("someName", "Tutorialspoint.com"); LocalBroadcastManager.getInstance(this).sendBroadcast(intent1); if(stop) { stopSelf(); প্রত্যাবর্তন } } }ধাপ 4 - manifest.xml
-এ নিম্নলিখিত কোড যোগ করুন<অ্যাপ্লিকেশন android:allowBackup ="true" android:icon ="@mipmap/ic_launcher" android:label ="@string/app_name " android:roundIcon ="@mipmap/ic_launcher_round" android:supportsRtl ="true" android:theme ="@style/AppTheme"> <অ্যাক্টিভিটি android:name =".MainActivity"> আপনার অ্যাপ্লিকেশন চালানোর চেষ্টা করা যাক. আমি ধরে নিচ্ছি আপনি আপনার কম্পিউটারের সাথে আপনার আসল অ্যান্ড্রয়েড মোবাইল ডিভাইসটি সংযুক্ত করেছেন৷ অ্যান্ড্রয়েড স্টুডিও থেকে অ্যাপটি চালাতে, আপনার প্রোজেক্টের অ্যাক্টিভিটি ফাইলগুলির একটি খুলুন এবং টুলবার থেকে রান আইকনে ক্লিক করুন। একটি বিকল্প হিসাবে আপনার মোবাইল ডিভাইস নির্বাচন করুন এবং তারপরে আপনার মোবাইল ডিভাইসটি পরীক্ষা করুন যা আপনার ডিফল্ট স্ক্রীন প্রদর্শন করবে –
উপরের ফলাফলে, এটি অ্যাপ্লিকেশনের ডিফল্ট স্ক্রীন দেখায়। প্রতি 10 সেকেন্ডে, এটি পরিষেবা শুরু করবে এবং ব্যাকগ্রাউন্ড থেকে ডেটা পরীক্ষা করবে এবং ডেটা আপডেট করবে৷
৷