Saturday, November 08, 2014

ANDROID 02 : ඔබේ ඇන්ඩ්‍රොයිඩ් ඇප් එක කීකරු කරගන්න

ඔබ භාවිතා කරන ඇන්ඩ්‍රොයිඩ් ඇප් එකකින් ඔබ මොනවාද කරන්නෙ? පෙන්වන දෙයක් බලාගෙන ඉන්නවාද! එහෙමත් නැත්නම් ඔබත් ඒ ඇප් එක සමග අදහස් හුවමාරු කරනවාද!


පළමු වැනි පාඩමෙන් අපි සරල ඇන්ඩ්‍රොයිඩ් ඇප් එකක් සකසා ගන්නා හැටි ඉගෙනගත්තා ඔබට මතක ඇති. (මතක නැත්නම් මෙතැනින් බලන්න). ඒ මම අර කලින් කිව්වා වගේ පෙන්වන දේ බලාගන්න පුලුවන්කම විතරක් තියෙන ඇප් එකක්නේ! දෙවැනි පාඩමෙන් අපි එතැනින් ටිකක් ඉදිරියට ගිහින් ඔබේ ඇන්ඩ්‍රොයිඩ් ඇප් එකේ හැසිරීම තීරණය කරන හැටි ගැන ඉගෙනගනිමු. ඒ කියන්නේ ඔබේ/පරිශීලකයාගේ අදහස්, විධානයන් හරහා ඇප් එක සමග හුවමාරු කරගන්නා හැටියි. ඒ ඉතා සරල උදාහරණයක් භාවිතා කරමිනුයි.


කෙටියෙන්ම කිව්වොත්, පසුගිය පාඩමෙන් අපි ඇප් එක තුළ පෙන්වූ වැකිය Button එකක් මත ක්ලික් කිරීමෙන් පමණක් පෙන්වන ආකාරයෙන් ඒ ඇප් එක නවීකරණය කරන හැටි දැනගනිමු. මේ පාඩමේ අරමුණ ඔබට අවශ්‍ය ඕනෑම behavior එකක් එකතු කරගැනීමට අවශ්‍ය මූලික දැනුම ඔබට ලබාදීමයි.

පටන් ගමු!

මුලින්ම පළමු පාඩමෙන් අපි සකසාගත් ඇප් එක Android Studio එක තුළින් විවෘත කරගන්න.

මට ඕනෑ කරන්නේ button එකක් මත ක්ලික් කළවිට පමණක් අදාල වැකිය පෙන්වීමටයි. මෙතැනදි අපිට වැඩ කීපයක් කරගන්න වෙනවා.

එක - කෝ ඇප් එකේ තවම button එකක් නැහැනේ! ඒ නිසා මුලින්ම button එකක් එකතු කරගන්න ඕන.

දෙක - දැනට වැඩසටහන ආරම්භයේදීම පෙන්වන වැකිය නොපෙනෙන විදියට සඟවන්න ඕන.

තුන - පළමු පියවරේදී එකතු කරගත් button එක ක්ලික් කළාම දෙවැනි පියවරෙන් සැඟවූ වැකිය පෙන්වන විදියේ විධානයක් ලියන්න ඕන.

හරිනේ.

Button එක add කරගන්න

ඔබේ ඇප් එකේ සැකැස්ම තීරණය කෙරෙන්නේ activity_my.xml එකෙන් බව ඔබ දැනටමත් දන්නවා. Project එකේ activity_my.xml එක විවෘත කරගත්විට එහි දැනට ඇත්තේ (ඇප් එකෙහි දර්ශනය වන වැකිය පෙන්වන) TextView එක පමණක් බව ඔබට පෙනේවි.



දැන් අවශ්‍ය වන්නේ මේ TextView එකට අමතරව Button එකක් එකතු කරගැනීමටයි. කොහොමද ඒක කරන්නෙ. TextView එක වගේම එකක් ටයිප් කරමුද! - නැහැ - ඊට වඩා ලේසි ක්‍රමයක් තියෙනවා.

activity_my.xml එකේ පහළ Design, Text කියලා ටැබ් දෙකක් තියෙනවා නේද! එතැනින් Design ටැබ් එක ක්ලික් කරන්න.

 
ඔය වම් පැත්තෙන් තියෙන්නේ අවශ්‍ය කරන GUI Controls (එහෙමත් නැත්නම් ඇන්ඩ්‍රොයිඩ් වලදී Views) ලැයිස්තුව. දැන් කරන්න තියෙන්නේ ඒ ලැයිස්තුවේ ඇති Button view එක click කරලා ඉන්පස්සෙ මැද තියෙන preview එකේ අවශ්‍ය තැන මත නැවත click කරන එකයි. Button එක add වුණා නේද!

දැන් ඔබ නැවත Text ටැබ් එකට ගියොත්, Button view එකට අදාල කේත සටහන් එකතුවී තිබෙනවා පෙනේවි.



ටිකක් ඔය කෝඩ් එකේ TextView එකෙයි Button එකෙයි කේත සටහන දිහා ටිකක් බලන්න. පළමු පාඩමේදි අපි TextView එකේ පෙන්වන වැකිය strings.xml හරහා එකතුකරගත් බව මතකද! ඔබ TextView එකේ android:text Property එක මත ක්ලික් කළොත් එය @string/welcome_text විදියට වෙනස් වේවි. ඒත් Button එක android:text Property එක මත ක්ලි‍ක් කළාට එහෙම වෙනස් වෙන්නෙ නැහැ නේද? 


 
ඒ Button එකට අදාලව strings.xml තුළ resource එකක් සැකසී නැති නිසායි. අපි දැන් Button එක සඳහාත් String resource එකක් එකතු කරගනිමු. ඒ, strings.xml තුළින්. (මගේ String resource එකේ නම "show_button_text". එයාගේ text එක "Show My Text").



දැන් නැවතත් activity_my.xml එකට ඇවිත් ඒ හදාගත් resource එක එකතු කරගන්න පුලුවන්. ඒ button view එකේ android:text="@string/" ලෙස show_button_text ලබාදීමෙන්. (@S ටයිප් කරලා ctrl+space එකවර යෙදීමෙන් සියලුම strings ලැයිස්තුව ගන්න පුලුවන්. ඉන්පස්සේ එතැනින් අවශ්‍ය එක double click කරලා add කරගන්නත් පුලුවන්). මෙතැනදී ඔය @string කියන කොටසින් කියන්නේ ඉන්පසුව යෙදෙන name එකට අදාල string එක strings.xml එකෙන් හොයාගන්න කියන එකයි.





TextView එක සඟවන්න

දැන් ඔබ ඔබේ ඇප් එක ක්‍රියාත්මක කළොත් TextView එකත් Button එකත් දෙකම පෙනේවි. නමුත් අපිට අවශ්‍ය මුලින් TextView එක සඟවා button එක මත ක්ලික් කළවිට පමණක් එය පෙන්වීමටයි. කොහොමද එහෙම කරන්නේ!

ඇන්ඩ්‍රොයිඩ් ඇප් එක ඔබ භාවිතා කරන විවිධ Views වලදී ඒවාට සුවිශේෂී වන මෙන්ම පොදු ගුණාංග/attributes/properties තිබෙන බව ඔබට වැටහෙනවා ඇති. (මේ පිළිබඳව වැඩිදුර දැනගන්න මෙතැනින් Android Documentations වෙත යන්න). 

මට අවශ්‍ය වන්නේ TextView එක සැඟවිය හැකි ක්‍රමයක් සොයාගැනීමට නිසා මම android.widget යටතේ ඇති TextView තෝරාගන්නවා.





ඒ යටතේ ඇති xml attributes සහ එම attributes හා සම්බන්ධ methods මොනවාදැයි සොයාබලන්න. (ඒ අතරින් අපේ වැඩේට හරියන එකක් තියෙයිද බලන්න - TextView එක සඟවන්න).



වැඩසටහන ආරම්භයේදී TextView එක සඟවා තැබීම සඳහා අපිට android:visibility attribute එක සහ setVisibility() method එක භාවිතා කරන්න පුලුවන්. (ඒ මත ක්ලික් කිරීමෙන් තවත් විස්තර ලබාගන්න පුලුවන්) TextView එක සැඟවීම සඳහා activity_my.xml තුළට android:visibility එක visible, invisible, gone අතරින් invisible ලෙස ඇතුළත් කරන්න.



දැන් ඔබේ preview එක තුළ TextView එක සැඟවී යාවි.


හරි, දැන් වැඩ තුනෙන් දෙකක් ඉවරයි. Button එකක් add කළා. TextView එක xml attribute එක භාවිතයෙන් සැඟෙව්වා.


Button Click Method එක ලියන්න


දැන් අපි button එක touch කිරීමෙන් සැඟවූ වැකිය පෙන්වන ආකාරයෙන් කේත සටහන ලියමු.

TextView එක සැඟවීම සඳහා මෙන්ම, button එකක් click කිරීම සඳහාත් XML attribute එකක් ඇති නේද! ඒකත් Android Documentation එකෙන් හොයාගන්න පුලුවන්.


 onClick තමයි attribute එක. දැන් ඔබේ Button view එකට අලුත් attribute එක පහත ආකාරයෙන් ඇතුළත් කරගන්න. (මෙතැන showText කියන්නේ අපි ඊළඟ පියවරේදී button එක ක්ලික් කිරීමේදී ක්‍රියාත්මක වෙන්න ලියන method එකයි).


දැන් අපේ java method එක ලියන්නේ කොහෙද!

ඔබේ project එක දිහා බලන්න. මේ තියෙන්නේ දැනට ඔබේ ප්‍රොජෙක්ට් එකේ තිබෙන එකම java file එක MyActivity class එක නේද!




MyActivity කියන්නේ ඇන්ඩ්‍රොයිඩ් වල තිබෙන Activity Class එකේ subclass එකක් බව ඔබට පෙනේවි. ඒ වගේම ඔබේ activity_my.xml එක තිරය මතට ගෙනෙන්නේ මෙතැනින්.

activity_my.xml එක තිරයට ගෙනෙන්නේ මේ class එක තුළින් නම් එහි ඇති button එක ක්ලික් කිරීමට අදාල method එක ඇතුළත් කළයුත්තේද මෙහිම බව ඔබට වැටහේවි.

මම මගේ showText method එක පහත ආකාරයෙන් එක් කරගන්නවා. (මේ method එක View එකක් argument එක ලෙස භාවිතා කරනවා - ඒ කියන්නේ ඔබ click කරන කුමන හෝ view එක).



ඊළඟට මොකද කරන්නෙ!

දැන් හිතන්න...

ඔබේ Java method එක තියෙන්නේ එක තැනක. ඔබේ TextView එක තියෙන්නේ තවත් තැනක. ඔබට අවශ්‍ය වන්නේ Button එක ක්ලික් කළවිට ක්‍රියාත්මක වෙන method එක හරහා TextView එකේ visibility එක visible කියලා වෙනස් කරගන්නයි. දැන් මේවා කොහොමද එකිනෙකට සම්බන්ධ කරන්නෙ?

ලේසියි! මේවා එකිනෙක සම්බන්ධ කරගැනීම සඳහා R නමින් file එකක් දැනටමත් android මගින් සැකසී තිබෙනවා. මේ තුළ තිබෙන්නේ ඔබේ activity_my.xml එක තුළ ඇති Views සඳහා Java References ගොඩනැගිය හැකි නියතයන් (Constants) බව සරලව කිවහැකියි. ඒ කියන්නේ මෙතැනින් ඔබ සැකසූ String Resorces ඇතුළුව සියලු දේ සඳහා සම්බන්ධතා ගොඩනැගිය හැකියි.





R File එක දෙස හොඳින් බැලුවොත්, එහි ඇත්තේ ඔබේ ඇප් එකේ ඇති XML Resources සඳහා වන public static final constants බව ඔබට පෙනේවි. මේවා එක් එක් XML Resource type එක අනුව (interfaces) group කර තිබෙනවා. උදාහරණයක් ලෙස public static final class string යටතේ ඔබ strings.xml තුළ ඇතුළත් කළ string resources සියල්ල group කර තිබෙනවා. එසේත් නැත්නම් id යටතේ ඔබේ TextView එක සහ Button එක තිබෙනවා.



හරි, දැන් මුලින්ම ඔබ ඔබේ Java කේත සටහන තුළ XML එකේ ලියා ඇති TextView එකට reference එකක් සාදාගත යුතුයි. මේ සඳහා ඔබට R file එකේ id යටතේ ඇති references භාවිතා කළ හැකියි. මේ පහළින් තියෙන්නේ ඔබ button එක ක්ලික් කළ විට ක්‍රියාත්මකවන සම්පූර්ණ කළ method එකයි. එහිදී පළමුවෙන්ම xml file එකෙහි ඇති TextView එකට R file එක හරහා reference එකක් ගොඩනගාගන්නවා. ඉන්පසුව එහි visibility attribute එක setVisibility() method එක මගින් VISIBLE ලෙස වෙනස් කරනවා.


හරි නේද!

දැන් ඉතින් app එක run කරලා බලන එකයි තියෙන්නේ. Button එක touch කළාම text එක පෙනේවි මේ විදියට.






ඔබේ අදහස්, යෝජනා සහ නිවැරදි කිරීම් සඳහා විවෘතයි.