பிரிப்பான்கள் என்பது பயனாளர் இடைமுகம் செய்திடும் ஒரு பயன்-பாட்டினுடைய துனுக்கு ஆகும் அல்லது அதிகப்படியான கூறுநிலை செயல்பாட்டின் வடிவமைப்பினை இயலுமைசெய்திடும் ஒரு செயல்பாடடில் அமைந்த தன்மையாகும் . ஒரு பிரிப்பான் என்பது ஒரு துனை செயல்பாட்டின் ஒரு வகையாகும் என நாம் கூறுவது தவறானது அன்று. பின்வருபவை பிரிப்பான்களை பற்றிய முக்கிய செய்திகளாகும்:
ஒரு பிரிப்பான்ஆனது தனது சொந்த புறவமைப்பு, அதன் சொந்த வாழ்க்கை சுழற்சி, மீளஅழைத்தல் அதன் சொந்த நடத்தை ஆகிவற்றை கொண்டதாகும்
ஒரு செயல்பாடு இயங்கும் போது நாம் ஒரு செயல்பாட்டில ஒரு பிரிப்பானை சேர்க்க அல்லது நீக்க முடியும்.
நாம் ஒரு ஒற்றையான செயல்பாட்டில் ஒரு பல்லடுக்கு பயனாளர் இடைமுக பலகத்தை கட்டமைவு செய்வதற்கு பல பிரிப்பான்களை ஒன்றிணைக்க முடியும்
. ஒருபிரிப்பானை பல செயல்களில் பயன்படுத்த முடியும்.
ஒரு பிரிப்பானின் வாழ்க்கை சுழற்சியானது அதனுடைய முதன்மை புரவலரின் செயல்பாட்டில் வாழ்க்கை சுழற்சிக்கு மிக நெருக்கமாக இருக்கும் அதாவது அந்த செயல்பாடு இடைநிறுத்தப்படும்போது அந்த செயல்பாட்டில் தயாராக உள்ள அனைத்து பிரிப்பான்களின் செயல்களும் நிறுத்தப்பட வேண்டும் என்பதுதான் அதன் அர்த்தமாகும். .
பயனர் இடைமுக ஆக்கக்கூறு இல்லாத ஒரு நடத்தையை ஒரு பிரிப்பானில் செயல்படுத்த முடியும்.
API இன் பதிப்பு 11. ஆன ஆண்ட்ராய்டின் Honeycombஎனும் பதிப்பில் இந்த ஆண்ட்ராய்டு API -க்கு பல பிரிப்பான்களை சேர்க்கலாம்
பிரிப்பான் இனத்தின் விரிவாக்கத்தின் மூலம் நாம் பிரிப்பான்களை உருவாக்கிடமுடியும் அதனை தொடர்ந்து எனும் ஒருஉறுப்பாக செயல்பாடுகளுடைய புறவமைப்பு கோப்பில் பிரிப்பான்களை அறிவிப்பதன் மூலமாக நம்முடைய செயல்பாட்டின் புறவமைப்பிற்குள் ஒரு பிரிப்பானை உள்ளிணைக்க முடியும்
பிரிப்பான்களின் அறிமுகத்திற்குமுன்பு நமக்கு குறிப்பிட்ட வரையறைஉண்டு ஏனெனில் நமக்குஅளிக்கப்பட்ட நேரத்திற்குள் திரையில் ஒரே ஒரு செயல்பாட்டினை மட்டுமே நம்மால் காண்பிக்க முடியும் . எனவே நாம் நம்முடைய சாதனத்தின் திரையை தனித்தனியாக பிரித்து அவைகளை தனித்தனியாக வெவ்வேறு பகுதிகளில் கட்டுப்படுத்த முடியாது. ஆனால் இந்த பிரிப்பான்களின் அறிமுகத்துடன் அதிக நெகிழ்வு தன்மை நமக்கு கிடைக்கின்றது அதனை தொடர்ந்து நமக்குஅளிக்கப்பட்ட நேரத்திற்குள் திரையில் ஒரே ஒரு செயல்பாட்டினை மட்டுமே நம்மால் காண்பிக்க முடியும் என்ற வரையறையும் நீக்கப்பட்டுவிட்டது . இப்போது நாம் ஒரு செயல்பாட்டில் இருக்க முடியும் ஆனால் ஒவ்வொரு செயல்பாடும் தத்தமது சொந்த அமைப்பு, நிகழ்வுகள் , முழுமையான வாழ்க்கை சுழற்சிமுறை ஆகியவற்றை கொண்ட ஒரே செயலின் பல பிரிப்பான்களாக ஆக்கமுடியும். ஒரு திறன்பேசி வடிவமைப்பிற்காக ஆனால் ஒரு கைபேசி வடிவமைப்பிற்காக பிரிக்கப்பட்ட ஒரு செயலிற்குள் பிரிப்பான்களின் மூலம் ஒன்றிணைக்கமுடியும் என இரு பயனாளர் இடைமுகம் கூறுகளை எவ்வாறு வரையறுக்கமுடியும் என்ற ஒரு வித்தியாசமான எடுத்துகாட்டு பின்வருமாறு
1
இந்த பயன்பாடானதுஒரு திறன்பேசி அளவிலான சாதனத்தில் இயங்கிடும்போது Aஎனும் செயலில் இரு பிரிப்பான்களை உட்பொதியமுடியும் . எனினும், ஒரு கைபேசிஅளவிலான திரையில், இரு பிரிப்பான்கள் செயல்படுவதற்கு இடம் போதாது தான், எனவே செயல்பாடு Aஆனது கட்டுகளின் பட்டியலிற்காக பிரிப்பானிற்கு மட்டுமே உள்ளடங்கும், அதனை தொடர்ந்து பயனாளர் ஒரு கட்டினை தெரிவுசெய்தபோது, அதை செயல்பாடு Bஇல் துவங்கிடும் அதில்அதனை படிப்பதற்காக இரண்டாவது பிரிப்பான்உள்ளடங்கியிருக்கும்.
பிரிப்பானின் வாழ்க்கை சுழற்சிமுறை
ஒருஆண்ட்ராய்டு செயல்பாட்டினை போன்றே தங்களுடைய சொந்த வாழ்க்கை சுழற்சிமுறையை ஆண்ட்ராய்டு பிரிப்பான்களும் கொண்டுள்ளன. இந்த பிரிவில் அதன் வாழ்க்கை சுழற்சிமுறையின் பல்வேறு நிலைகளை விவரிக்கின்றது.
கட்டம்1: ஒரு பிரிப்பான் உருவாக்கப் படும் போது, அது பின்வரும் நிலைகளை கடந்து செல்கிறது:
onAttach()
onCreate()
onCreateView()
onActivityCreated()
கட்டம்2: பிரிப்பான் காட்சியாகதெரியும்போது பின்வரும் நிலைகளை கடந்து செல்கிறது:
onStart()
onResume()
கட்டம் III: இந்த பிரிப்பான் பின்புலமுறையில் செல்கின்றது போது, பின்வரும்
நிலைகளை கடந்து செல்கிறது:
onPaused()
onStop()
கட்டம் IV: பிரிப்பான் அழிக்கப்படும்போது ,அது பின்வரும் நிலைகளை கடந்து
செல்கிறது:
onPaused()
onStop()
onDestroyView()
onDestroy()
onDetach()
3
எவ்வாறு பிரிப்பான்களை பயன்படுத்தலாம்?
பிரிப்பான்களை உருவாக்குவதற்கு எண்ணற்ற எளிய வழிமுறைகளை பின்பற்றிடவேண்டும்.
அனைத்து செயல்களையும் செயற்படுத்திடுவதற்குமுன் நாம் எத்தனை பிரிப்பான்களை ஒரு செயல்பாட்டில் பயன்படுத்த வேண்டும் என்பதை முடிவுசெய்திடுக. இதற்கு உதாரணமாக நாம்படுக்கைவச உருவப்படம் , கிடைமட்ட உருவப்படம் ஆகிய இரு பிரிப்பான்களின் முறைகளை கொண்ட சாதனத்தினை கையாள விரும்புவதாக கொள்வோம்.
அடுத்த அவ்வாறான பிரிப்பான்களின் எண்ணிக்கை அடிப்படையில், இந்த பிரிப்பானின் இனத்தினை விரிபடுத்திடுகின்ற இனங்களை உருவாக்குக. இந்த பிரிப்பானின் இனமானது மேலே கூறிய மீளஅழைக்கும் செயலிகளை கொண்டதாகும் .அதனால் நம்முடைய தேவைகளின் அடிப்படையாக கொண்டு எந்த செயலியையும் மேலெழுதமுடியும்.
ஒவ்வொரு பிரிப்பானுக்கும் அதுதொடர்புடைய XML கோப்பில் நம்முடைய புறவமைப்பு கோப்புகளை உருவாக்க வேண்டும். இந்த கோப்புகளானது வரையறுக்கப்பட்ட, பிரிப்பான்களுக்கான புறவமைப்பாக அமைந்திருக்கும்.
இறுதியாக நம்முடைய தேவைக்கேற்ப பதிலான பிரிப்பான்களில் உண்மையான தருக்கத்தை வரையறுப்பதற்கான நடவடிக்கை கோப்பினை மாற்றியமைத்திடுக
இங்கு நம்முடைய பிரிப்பான்களின் இனத்தில் மேலெழுதிடும் முக்கியமான வழிமுறைகளின் பட்டியல் கொடுக்கப்பட்டுள்ளது:
onCreate () பிரிப்பான்களை உருவாக்கிடும்போது கணினியானது இந்த வழிமுறைக்கு அழைப்பு விடுக்கின்றது. பிரிப்பான்கள் இடைநிறுத்தப்பட்ட அல்லது நிறுத்தப்பட்ட பின்மீண்டும் மறுதுவக்கம் செய்திடும்போது அதனை தக்கவைத்துக் கொள்ள வேண்டுமா என்று பிரிப்பான் அடிப்படை கூறுகளை நாம் ஆரம்ப நிலையாக்க வேண்டும்,
onCreateView () முதன்முறையாக பிரிப்பானிற்கான பயனாளர் இடைமுகத்தை ஈர்க்க நேர்ந்திடும்போது கணினியானது இந்த மீளஅழைக்கும் வழிமுறையை அழைக்கின்றது
. நம்முடைய பிரிப்பானிற்காக ஒரு பயனாளர் இடைமுகத்தை ஈர்ப்பதற்கு, இந்த வழிமுறையில் ஒரு View எனும் ஆக்கக்கூறினை நாம் திருப்பிடவேண்டும் அதுவே நம்முடைய பிரிப்பானுடைய புறவஅமைப்பு மூல காரணமாக இருக்கின்றது, இந்தபிரிப்பானில் ஒரு பயனாளர் இடைமுகம் இல்லையெனில் நாம் இதனை பூஜ்ஜிய நிலைக்கு திருப்ப முடியும்
onPause () பயனாளர் பிரிப்பானை விட்டுசென்றிடும்போது அதன் முதல் அறிகுறியாக கணினியானது இந்த வழிமுறையை அழைக்கின்றது . நாம் தற்போதைய பயனாளர் அமர்விற்கு அப்பால் பிடிவாதமாகயிருந்திட வேண்டும் என்று எந்தவொரு மாற்றங்களை யும்அர்ப்பணித்துக் கொள்ள வேண்டும் என்பதே இதில் வழக்கமாக உள்ளது.
உதாரணமாக
இந்த உதாரணமானது நம்முடைய சொந்த பிரிப்பான்களை எவ்வாறு உருவாக்கலாம் என நமக்கு விளக்க மாக கூறுகின்றது. இங்கே நாம் படுக்கைவச உருவப்படத்தை பயன்படுத்திடும் சாதனத்திற்கான பிரிப்பான், நெடுக்கைவச உருவப்படத்தை பயன்படுத்திடும் சாதனத்திற்கான பிரிப்பான் ஆகிய இரண்டு வகை பிரிப்பான்களை உருவாக்க வேண்டும் . எனவே நாம் “அனைவருக்கும் வணக்கம்” எனும் எடுத்துகாட்டினை உருவாக்கிடும்போது பின்பற்றிய அதேவழிமுறைகளை பின்வருவதில் பின்பற்றிடுக:
2
பின்வரும் குறிமுறைவரிகளில் src/com.example.mycontentprovider / MainActivity.java எனும் கோப்பின் மாறுதல்கள் செய்யப்பட்ட முதன்முதலான செயல்பாடுகளின் உள்ளடக்கம் உள்ளது:
package com.example.myfragments;
import android.os.Bundle;
import android.app.Activity;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.content.res.Configuration;
import android.view.WindowManager;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Configuration config = getResources().getConfiguration();
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
/**
* Check the device orientation and act accordingly
*/
if (config.orientation == Configuration.ORIENTATION_LANDSCAPE) {
/**
* Landscape mode of the device
*/
LM_Fragment ls_fragment = new LM_Fragment();
fragmentTransaction.replace(android.R.id.content, ls_fragment);
}
else{
/**
* Portrait mode of the device
*/
PM_Fragment pm_fragment = new PM_Fragment();
fragmentTransaction.replace(android.R.id.content, pm_fragment);
}
fragmentTransaction.commit();
}
}
LM_Fragement.java , PM_Fragment.java ஆகிய இருபிரிப்பான்களின் கோப்புகளை com.example.mycontentprovider எனும் தொகுப்பின்கீழ் உருவாக்கிடுக. பின்வருவது LM_Fragement.java எனும் கோப்பின் உள்ளடக்கமாகும்:
package com.example.myfragments;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class LM_Fragment extends Fragment{
@Override
public View onCreateView(LayoutInflater inflater,
ViewGroup container, Bundle savedInstanceState) {
/**
* Inflate the layout for this fragment
*/
return inflater.inflate( R.layout.lm_fragment, container, false);
}
}
பின்வருவது PM_Fragement.java எனும் கோப்பின் உள்ளடக்கமாகும்:
package com.example.myfragments;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class PM_Fragment extends Fragment{
@Override
public View onCreateView(LayoutInflater inflater,
ViewGroup container,
Bundle savedInstanceState) {
/**
* Inflate the layout for this fragment
*/
return inflater.inflate( R.layout.pm_fragment, container, false);
}
}
lm_fragement.xml , pm_fragment.xml ஆகிய இருகோப்புகளைr res/layout எனும் கோப்பகத்தில் உருவாக்கிடுக. பின்வரும் குறிமுறைவரிகள் lm_fragement.xml எனும் கோப்பின் உள்ளடக்கமாகும்:
பின்வருபவை pm_fragment.xml எனும் கோப்பின் உள்ளடக்கமாகும்:
<!– More GUI components go here →
பின்வருமாறான res/layout/activity_main.xml எனும் கோப்பின்உள்ளடக்கங்களில் நம்முடைய பிரிப்பான்கள் உள்ளடங்கியுள்ளன:
பின்வருமாறானஉள்ளடக்கங்களை கொண்ட res/values/strings.xml எனும் கோப்பு நம்மிடம் உள்ளதை உறுதி படுத்தி கொள்க:
MyFragments
Settings
Hello world!
This is Landscape mode fragment
This is Portrait mode fragment
நாம் சற்றுமுன்பு நம்மால் நம்முடைய மாறுதல்கள் செய்யப்பட்ட MyFragments எனும் பயன்பாட்டினை இயக்க முயற்சி செய்வோம்! இந்த சூழல் அமைவை அமைவு செய்திடும்போது நம்முடைய AVD ஐ உருவாக்கிவிட்டோம் என கருதிகொள்க இந்தஎக்லிப்ஸில் இருந்து பயன்பாட்டை இயக்குவதற்கு நம்முடைய செயல்திட்டத்தின் செயல்பாட்டு கோப்புகளில் ஒன்றினை திறந்து கொள்க அதனை தொடர்ந்து கருவிகளின் பட்டையிலிருந்து Runஎனும் உருவப் பொத்தானை சொடுக்குக உடன் எக்லிப்ஸானது நம்முடைய AVD இல் நம்முடைய பயன்பாட்டை நிறுவுகை செய்திட துவங்கிடும் அதனை தொடர்ந்து நம்முடைய கட்டமைப்பு, பயன்பாடு ஆகிய அனைத்தும் நன்றாக உள்ளன என்றால், அது பின்வரும் முன்மாதிரி சாளரத்தினை திரையில் காண்பிக்கும்: அதில் பட்டியின் பொத்தானை சொடுக்குதல் செய்யமுடியும் அதுவரை காத்திருக்கவும் ஏனெனில் இந்த செயலானது நம்முடைய கணினியின் இயக்கவேகத்தை பொறுத்து உடனடியாகவோ அல்லது சிறிது கழித்தோ ஆகும்.
4
முன்மாதிரி சாளரத்திரையில் முறையை மாற்றுவதற்கு, பின்வருமாறு செய்திடுவோம்:
மேக் இயக்கமுறைமை கணினிஎனில் அகலவாக்கிலான உருவப்படத்திலிருந்து கிடைமட்ட உருவப்படமாக மாற்றி யமைத்திடுவதற்கு அதற்கு மாறாகவும் மாற்றியமைத்திடுவதற்கு . fn+ctrl+F11 என்றவாறும்
விண்டோ இயக்கமுறைமை கணினிஎனில்Ctrl + F11. என்றவாறும்
லினக்ஸ் இயக்கமுறைமை கணினிஎனில் Ctrl + F11.என்றவாறும் விசைகளை சேர்த்து அழுத்துக
நாம் இவ்வாறு ஒரு முறை மாற்றம் செய்துவிட்டால் அதன்பின்னர் நாம் கீழே உள்ளவாறு அகலவாக்கிலான செயல்படுத்தப்பட்ட வரைகலைபடத்தை காண முடியும்:
5
நாம் இதே வழியில் வெவ்வேறு பிரிப்பான்களின் மூலம் அதே செயல்பாடுகளை ஆனால் வெவ்வேறு வரைகலை பயனாளர் இடைமுகங்களை(GUI) பயன்படுத்த முடியும். நாம் நம்முடைய தேவைகளின்அடிப்படையில் வெவ்வேறு வரைகலை பயனாளர் இடைமுகங்களுக்காக(GUI) பல்வேறு வகையான வரைகலை இடைமுகப்பு கூறுகளை பயன்படுத்தி கொள்ள முடியும்