புதியவர்களுக்கு ஆண்ட்ராய்டு-பயிற்சி கையேடுபகுதி-8 சேவைகள்

ஒரு பயனாளருடன் இடைமுகம் செய்வதற்கு தேவையில்லாமலேயே பின்புலத்தில் நீண்டு இயங்கும் செயல்களை செய்வதற்காக இயங்கிடும் ஒரு ஆக்கக்கூறே ஒரு சேவையாகும். உதாரணமாக, பயனாளர் ஒருவர் பல்வேறு பயன்பாட்டினை பயன்படுத்தி கொண்டிருக்கும் போது, ஒரு சேவையானது பின்னணி இசையை இயக்கிடவேண்டும் அல்லது ஒரு செயல்பாட்டுடன் பயனாளர் இடைமுகத்தினை தடுத்திடாமல் இணையத்தில் தரவுகளை இந்த சேவையின் மூலம் எடுத்திடமுடியும் ஒரு சேவையானது அடிப்படையில் பின்வரும் இரண்டு நிலைகளில் இருக்க முடியும்
1.1
ஒரு சேவையானது lifecycle() callbackஎனும் வழிமுறையை கொண்டுள்ளது இதனை கொண்டு சேவையின் நிலையில் மாறுதல்களை கண்காணித்திட செயல்-படுத்திடலாம் தொடர்ந்து அதற்கு பொருத்தமான நிலையின் பணியை செயற்-படுத்திட முடியும் பின்வரும் விளக்கப்படத்தின் இடதுபுறம் startService () என்பதுடன்இந்த சேவையை உருவாக்கிடும்போதான வாழ்க்கை சுழற்சியை காட்டுகிறது: இவ்விளக்கப்படத்தின் வலதுபுறம் bindService ()என்பதுடன்இந்த சேவையை உருவாக்கிடும்போதான வாழ்க்கை சுழற்சியை காட்டுகிறது

படம்-1.2
ஒரு சேவையை உருவாக்குவதற்கு சேவை அடிப்படையான இனம் அல்லது நடப்பில் இருக்கும் துனை இனங்களை விரிக்கம் செய்கின்ற ஒரு ஜாவா இனத்தினை உருவாக்கவேண்டும். இந்த சேவையை அடிப்படையாக கொண்ட இனமானது பல்வேறு callback எனும் வழிமுறைகளை வரையறுக்கிந்றது அதனை தொடர்ந்து அவைகளுள் மிக முக்கியமானவைகள் கீழே தரப்பட்டுள்ளன. நாம் இந்த அனைத்து callback எனும் வழிமுறைகளை செயல்படுத்த தேவையில்லை. எனினும், நாம் அவை ஒவ்வொன்றையும் செயல்படுத்துவதைபற்றி புரிந்து கொள்ள வேண்டும் அதன்வாயிலாக நம்முடைய பயன்பாட்டினை பயனாளர்கள் எதிர்-பார்த்திடும் வழியை பின்பற்றுவதை உறுதிபடுத்திடும் செயல்தான் முக்கிய-மாகும்.
1.3
பின்வரும் சேவையின் தொகுப்பானது ஒவ்வொரு lifecycle() வழிமுறையின் விளக்கங்களாக அமைந்துள்ளது
package com.tutorials point;
import android.app.Service;
import android.os.Ibinder;
import android.content.Intent;
import android.os.Bundle;
public class HelloService extends Service {
/** indicates how to behave if the service is killed */
int mStartMode;
/** interface for clients that bind */
IBinder mBinder;
/** indicates whether onRebind should be used */
boolean mAllowRebind;
/** Called when the service is being created. */
@Override
public void onCreate() {
}
/** The service is starting, due to a call to startService() */
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
return mStartMode;
}
/** A client is binding to the service with bindService() */
@Override
public IBinder onBind(Intent intent) {
return mBinder;
}
/** Called when all clients have unbound with unbindService() */
@Override
public boolean onUnbind(Intent intent) {
return mAllowRebind;
}
/** Called when a client is binding to the service with bindService()*/
@Override
public void onRebind(Intent intent) {
}
/** Called when The service is no longer used and is being destroyed */
@Override
public void onDestroy() {
}
இந்த உதாரணமானது நம்மை எவ்வாறு நம்முடைய சொந்த ஆண்ட்ராய்டு சேவையை உருவாக்குவதற்கு என காண்பிப்பதற்கு ஆன எளிய படிமுறைகளின் வாயிலாக நம்மை அழைத்து செல்கின்றது . நம்முடைய “அனைவருக்கும் வணக்கம்” எனும் பயிற்சிகையேட்டு பகுதியில் நாம் உருவாக்கிய ஆண்ட்ராய்டு பயன்பாட்டில் மாறுதல்கள் செய்வதற்கு பின்வரும் படிமுறைகளை பின்பற்றிடுக

1.4
பின்வருபவை src/com.example.அனைவருக்கும் வணக்கம்/MainActivity.java எனும் முதன்மை செயல்பாட்டு கோப்பில் உள்ளடக்கங்களின் செய்யப்பட்ட மாறுதல்கள் ஆகும் . இந்தக் கோப்பில் அடிப்படை வாழ்க்கை சுழற்சி முறைகள் ஒவ்வொன்றையும் உள்ளடக்கமாகசேர்க்க முடியும். நாம் சேவைகளை தொடங்கவும் சேவைகளை நிறுத்தம் செய்திடவும் startService () stopService () ஆகிய இரு வழிமுறைகள் நாம் இதில் சேர்க்க வேண்டும்
package com.example.அனைவருக்கும் வணக்கம்;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.content.Intent;
import android.view.View;
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
// Method to start the service
public void startService(View view) {
startService(new Intent(getBaseContext(), MyService.class));
} //
Method to stop the service
public void stopService(View view) {
stopService(new Intent(getBaseContext(), MyService.class));
}
.பின்வருபவை src/ com.example.அனைவருக்கும் வணக்கம் / MyService.java என்பதன் உள்ளடக்கங்களாகும். இந்தக் கோப்பினை தேவைகளின் அடிப்படையான சேவையுடன் தொடர்புடைய ஒன்று அல்லது அதற்கு மேற்பட்ட வழிமுறைகள் செயல்படுத்திட முடியும். தற்போது நாம் onStartCommand () , onDestroy (): ஆகிய இரண்டு வழிமுகளை மட்டுமே செயல்படுத்திடவிருக்கின்றோம்

package com.example.அனைவருக்கும் வணக்கம்;
import android.app.Service;
import android.content.Intent;
import android.os.Ibinder;
import android.widget.Toast;
public class MyService extends Service {
@Override
public IBinder onBind(Intent arg0) {
return null;
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
// Let it continue running until it is stopped.
Toast.makeText(this, “Service Started”, Toast.LENGTH_LONG).show();
return START_STICKY;
}
@Override
public void onDestroy() {
super.onDestroy();
Toast.makeText(this, “Service Destroyed”, Toast.LENGTH_LONG).show();
}
}
பின்வருவது AndroidManifest.xml எனும் உள்ளடக்கங்கள் மாறுதல் செய்த கோப்பாகும். இங்கே நாம் எனும் குறிச்சொல்லை உள்ளடக்கமாக நம்முடைய சேவையில் சேர்க்க வேண்டும்

பின்வருவதில் res /layout/ activity_main.xml எனும் கோப்பில் இரண்டு பொத்தான்கள் உள்ளடங்கி இருப்பதற்கான உள்ளடக்கங்களாக கொண்டிருக்கும்

பின்வருவது res/values/ strings.xml எனும் கோப்பில் புதிய இரு மாறிலிகளை வரையறுப்பதற்கான உள்ளடக்கங்களாககொண்டிருக்கும்

அனைவருக்கும் வணக்கம்
அனைவருக்கும் வணக்கம்!
Settings
MainActivity
Start Service
Stop Service

நாம் சற்றுமுன்பு நம்மால் நம்முடைய மாறுதல்கள் செய்யப்பட்ட “அனைருக்கும் வணக்கம்” எனும் பயன்பாட்டினை இயக்குவதற்கு முயற்சி செய்வோம். இதனுடைய சூழல் அமைவை அமைவு செய்திடும்போது நம்முடைய AVD ஐ உருவாக்கிவிட்டோம் என கருதிகொள்க இந்தஎக்லிப்ஸில் இருந்து பயன்பாட்டை இயக்குவதற்கு நம்முடைய செயல்திட்டத்தின் செயல்பாட்டு கோப்புகளில் ஒன்றினை திறந்து கொள்க அதனை தொடர்ந்து கருவிகளின் பட்டையிலிருந்து Runஎனும் உருவப்பொத்தானை சொடுக்குக உடன் எக்லிப்ஸானது நம்முடைய AVD இல் நம்முடைய பயன்பாட்டை நிறுவுகை செய்திட துவங்கிடும் அதனை தொடர்ந்து நம்முடைய கட்டமைப்பு, பயன்பாடு ஆகிய அனைத்தும் நன்றாக உள்ளன என்றால், அது பின்வரும் முன்மாதிரி சாளரத்தினை திரையில் காண்பிக்கும்:

1.5
தற்போது நம்முடைய சேவையை துவங்கிடுவதற்கு இந்த முன்மாதிர சாளரத்திரையில் Start Service எனும் பொத்தானை சொடுக்குக உடன் onStartCommand() எனும் வழிமுறையின் நிரல்தொடரில்குறிப்பி்ட்டவாறு இந்த சேவையானது செயல்படத்துவங்கிடும் இந்த முன்மாதிரி சாளரத்திரையில் இந்த சேவை தொடங்கப்பட்டது என்ற செய்திபெட்டியொன்று திரையில் தோன்றி நமக்கு அறிவிப்பு செய்திடும்


1.6

இந்த சேவையை நிறுத்தம் செய்திட Stop Serviceஎனும் பொத்தானை சொடுக்குதல் செய்து நிறுத்தம் செய்திடுக

Advertisements

1 பின்னூட்டம் (+add yours?)

  1. T.N.MURALIDHARANt
    மே 29, 2017 @ 14:55:22

    பயனுள்ள பதிவு. ஒவ்வொரு பதிவிலும் முந்தையை பகுதி மற்றும் அடுத்த பகுதியின் இணைப்பை தரும்படி கேட்டுக் கொள்கிறேன்.

    மறுமொழி

மறுமொழியொன்றை இடுங்கள்

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / மாற்று )

Twitter picture

You are commenting using your Twitter account. Log Out / மாற்று )

Facebook photo

You are commenting using your Facebook account. Log Out / மாற்று )

Google+ photo

You are commenting using your Google+ account. Log Out / மாற்று )

Connecting to %s

%d bloggers like this: