কম্পিউটার

অ্যান্ড্রয়েডে ইন্টেন্ট সার্ভিস থেকে কীভাবে ইউআই আপডেট করবেন?


উদাহরণে যাওয়ার আগে, আমাদের জানা উচিত অ্যান্ড্রয়েডে ইন্টেন্ট পরিষেবা কী। ইনটেন্ট সার্ভিস অ্যাসিঙ্ক্রোনাসভাবে ব্যাক গ্রাউন্ড অপারেশন করতে যাচ্ছে। যখন ব্যবহারকারী কল startService() কার্যকলাপ থেকে, এটি প্রতিটি অনুরোধের জন্য উদাহরণ তৈরি করে না। সার্ভিস ক্লাসে কিছু অ্যাকশন করার পরে এটি পরিষেবা বন্ধ করে দেবে অন্যথায় আমাদের stopSelf() ব্যবহার করে পরিষেবা বন্ধ করতে হবে।

এই উদাহরণটি কিভাবে ইন্টেন্ট সার্ভিস থেকে UI আপডেট করতে হয় সে সম্পর্কে প্রদর্শন করে।

ধাপ 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 আমদানি করুন৷ support.v7.app.AppCompatActivity;import android.view.View;import android.widget.TextView;পাবলিক ক্লাস MainActivity AppCompatActivity প্রসারিত করে { TextView text; BroadcastReceiver broadcastReceiver =new BroadcastReceiver() { @Override public void onReceive(প্রসঙ্গ প্রসঙ্গ, উদ্দেশ্য অভিপ্রায়) { স্ট্রিং s1 =intent.getStringExtra("DATAPASSED"); text.setText(s1); } }; @Override সুরক্ষিত শূন্যতা onStart() { super.onStart(); IntentFilter intentFilter =নতুন IntentFilter(); intentFilter.addAction("com.example.andy.myapplication"); registerReceiver(broadcastReceiver, intentFilter); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); text =findViewById(R.id.text); text.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { startService(new Intent(MainActivity.this, service.class)); } }); } @ওভাররাইড সুরক্ষিত অকার্যকর অনস্টপ() { super.onStop(); রেজিস্টার রিসিভার (ব্রডকাস্ট রিসিভার); }}

উপরের কোডে, আমরা একটি সার্ভিস ক্লাস এবং ডায়নামিক ব্রড কাস্ট রিসিভার তৈরি করেছি যা নীচে দেখানো হয়েছে –

@Overrideprotected void onStart() { super.onStart(); IntentFilter intentFilter =নতুন IntentFilter(); intentFilter.addAction("com.example.andy.myapplication"); registerReceiver(broadcastReceiver, intentFilter);}…………………………………………..BroadcastReceiver broadcastReceiver =new BroadcastReceiver() { @Override public void onReceive(প্রসঙ্গ প্রসঙ্গ, উদ্দেশ্য অভিপ্রায়) { স্ট্রিং s1 =intent.getStringExtra("DATAPASSED"); text.setText(s1); }};…………………………………………………………………………………..@অভাররাইডপ্রোটেক্টেড ভ্যায়েড অনস্টপ() { super.onStop(); unregisterReceiver(broadcastReceiver);}

service.class ফাইল নামে একটি ক্লাস তৈরি করুন এবং নিম্নলিখিত কোড যোগ করুন –

প্যাকেজ com.example.andy.myapplication;import android.app.IntentService;import android.content.Intent;import android.os.IBinder;পাবলিক ক্লাস সার্ভিস IntentService { পাবলিক সার্ভিস() { super(service.class) প্রসারিত করে। getSimpleName()); } @Override public IBinder onBind(Intent intent) { রিটার্ন নাল; } @Override protected void onHandleIntent(Intent intent) { Intent intent1 =new Intent(); intent1.setAction("com.example.andy.myapplication"); intent1.putExtra("DATAPASSED", "Tutorialspoint.com"); sendBroadcast(intent1); }}

পদক্ষেপ 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">       

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

অ্যান্ড্রয়েডে ইন্টেন্ট সার্ভিস থেকে কীভাবে ইউআই আপডেট করবেন?

উপরের ফলাফলে, এটি অ্যাপ্লিকেশনের ডিফল্ট স্ক্রীন দেখায়। যখন ব্যবহারকারী "স্টার্ট সার্ভিস"-এ ক্লিক করেন তখন এটি পরিষেবা শুরু করবে এবং নীচে দেখানো টেক্সটভিউ আপডেট করবে-

অ্যান্ড্রয়েডে ইন্টেন্ট সার্ভিস থেকে কীভাবে ইউআই আপডেট করবেন?


  1. কিভাবে সবসময় ব্যাকগ্রাউন্ডে একটি অ্যান্ড্রয়েড পরিষেবা চালাবেন?

  2. কিভাবে Android কার্যকলাপ থেকে Android এ রিংটোন সেট করবেন?

  3. অ্যান্ড্রয়েড অ্যাপে বুট করার সময় একটি পরিষেবা কীভাবে শুরু করবেন?

  4. কিভাবে অ্যান্ড্রয়েড থেকে ম্যালওয়্যার অপসারণ?