Tuesday, February 26, 2013

Android Transaction App - SQLite Database in Android App - 1




Android Transaction App



SQLite Database in 

Android App - 1





      අපි ගිය සතියේ කතා කරපු විදියට, මේ සතියේ සිට Android වල අලුත් කොටසක් කතා කරන්න තමයි සූදානම් වෙන්නේ. ඒ තමයි Android App එකක් ඇතුලේ Database එකක් භාවිතා කරන්නේ කොහොමද කියන එක. මම ඒ කොටස ඉදිරිපත් කරන්න බලාපොරොත්තු වෙන්නේත් කලින් වතාවෙ වගේම App එකක් හදන ගමන් ම තමයි. අපි අපේ ආදායම් හා වියදම් සටහන් කරන්න පුළුවන්, ඒවා වාර්තා විදියට තියා ගන්න පුළුවන් පොඩි App එකක් හදමු.

       එහිදී අපි කතා කරනවා, කොහොමද  Android App එක ඇතුලේ Database එක හදන්නේ, ඒ Database එකට Data ඇතුල් කරන්න (insert), ඉවත් කරන්න (remove) හා අන්තර්ගතය බලා ගන්න (select) විදියවල් ගැන.

   ඒවගේම මම භාවිතා කරන IDE එක IntelliJ IDEA එකත් අලුත් වෙලා තියෙනවා. Android වලට ලොකු support එකක් දීලා තියෙනවා IDEA 12 එක්ක. මම මේ App එක හදන්නේ IDEA 12 එකෙන්. ඔයාලට බලන්න පුළුවන් වෙවි එතන තියෙන අලුත් දේවල් මොනවද කියලත්.

අපි මුලින්ම අපේ App එකේ project structure එක බලලා ඉමු.



ඔයාල දකින්න ඇති. මේක අපේ කලින් App වගේ ගොඩක් ම සරල නෑ. නමුත් අපි හෙමිහිට, සරලව එකින් එක කතා කරමු.


    මම කීවානේ IntelliJ IDEA 12 එක ගැනත් කියනවා කියලා. බලන්නකෝ එහෙනම් පහත රූපය. මෙහි Android App එකක interface නැතිනම් UI එක සකස් කර ගැනීම සඳහා අගනා designing environment එකක් සපයලා දීලා තියෙනවා. 










     
     මීට කලින් කිසිම Java IDE එකක් Android සඳහා මෙතරම් පහසු  designing environment එකක් ලබාදීලා නැහැ. නමුත් දැන්  App-Inventor කියල IDE එකක් ඇවිල්ල තියෙනවා. මට නම් තවම එය අත්හදා බලන්න බැරි උනා. ඔයාල මේ link එක හරහා ඒක උත්සහ කරලා බලන්න පුළුවන්.

http://beta.appinventor.mit.edu/


අපි ඒක ගැන පසුවට විස්තර ඇතිව කතා කරමු. පහත  link එකෙන් මම භාවිතා කරන, අලුත්ම IntelliJ IDEA 12 එක download කරගන්න පුළුවන් ඔයාලට.

http://www.jetbrains.com/idea/download/index.html

ඔයාලට ඒක සඳහා වූ keygen එක පහත  link එකෙන්  download කර ගන්න පුළුවන්.

http://www.ziddu.com/download/21674317/keygen_linux.rar



හරි අපි දැන් මුලින්ම බලමු, මොනවද අපේ resource files කියලා. string.xml එකත් colors.xml එක මේ App තියෙනවා නේද? ඒවා මම කලිනුත් කීවා වගේ ගොඩක් Android App වලට පොදු දේවල්.


1.) colors.xml

2.) strings.xml



බලන්නකෝ අපේ  App එකේ interface 5ක් තියෙනවා. ඒවා, main.xml,add_transactions.xml,remove_transactions.xml, transaction_list.xml, controller.xml කියන ඒවා. මෙම ලිපිය තුලින් අපි  main.xml හා  add_transactions.xml එක ගැන අවධානය යොමු කරමු.




3.) main.xml

     ඔය තියෙන්නේ අපේ App එකේ menu මෙතනින් තමයි අනිකුත් තැන් වලට යන්න buttons දීලා තියෙන්නේ. එම buttons වල අපි කලින් වතාවෙ භාවිතා කරමු ඒවට වඩා විශේෂත්වයක් තියෙනවා නේද? එනම් එම button පින්තූර ඇතුලත් කරලා තියෙන එක. ඔයාල .xml code එක බලුවොත් ඔයාලට පෙනේවි, ඒව සඳහා අපි භාවිතා කරල තියෙන්නේ නිකම්ම <Button> tag එක නෙවෙයි  <ImageButton> කියල අලුත් tag එකක්. ඒ වගේම අපි interface එකට background image එකක් එකතු කරලා තියෙනවා. (ඇත්තටම කියන්න ඕනි මගේ designs නම් ලස්සන නැහැ)





4.) add_transactions.xml



      මේ තමයි අපි අද කතා කරන්න බලාපොරොතුවෙන අනිත් interface එක. මේකෙන් තමයි, අපේ App එකේ Data insert කොටස කරන්නේ. ඒ කියන්නෙ අපි අපේ මුදල් ගනු දෙනුවක තොරතුරු ඇතුලත් කරන්නේ මෙතනින්. බලන්නකො අපි එහි අලුත්  tag කිහිපයක්ම භාවිතා කරලා තියෙනවා. ඒවගේම interface එක scroll කරන්න පුළුවන්.

අපි මීළඟ ලිපියෙන් මේ interface දේකේ content එක ගැන, අපි භාවිතා කරල තියෙන අලුත්  tags ගැන විස්තර ඇතිව කතා කරමු. 


ඔයාලට මේ කරපු දේ ටික ගැන ප්‍රශ්න තියෙනව නම් comment කරන්න නැති නම් mail කරන්න kavi707@gmail.com 
Read More

Sunday, February 17, 2013

Android Few Stuff - මේවත් දැන ගන්න


   
 
Android - Few Stuff
මේවත් දැන ගන්න එක හොඳයි...




ඇත්තටම කෙටි විරාමයකට පස්සේ Android ගැන තවත් අලුත් වැදගත් දේවල් කිපයක් කතා කරන්න තමයි මේ අපි ලෑස්ති වෙන්නේ. 

මේ ලිපිය ටිකක් කෙටි ලිපියක් වේවි, මොකද මම මේ ලිපිය හරහා කතා කරන්න බලාපොරොත්තු වෙන්නේ ඉදිරියේදී අපි කතා කරන්න යන දේවල් හා ඉතා සුළු නමුත් වැදගත් කරුනු කිහිපයක්.


මොකද්ද මේ R.java file එක ?

  මතක් කරලා බලන්නකෝ ඔයාල පාසලට ඇතුලත් උනාට පස්සේ, ඔයාලට ඇතුලත් වීමේ අංකයක් ලැබුනා නේද? එතකොට පාසලේ සිදු කරපු ඔයාලගෙ විවිධ කටයුතු වලදී ඔයාලව හඳුනා ගන්න භාවිතා කලේ ඒ ඇතුලත්වීමේ අංකය නේද? සමහර වෙලාවට ඔයාලව ඔයාලගෙ නමින් හඳුන් වෙන්නේ නැතිව, ඔයාලගෙ ඇතුලත්වීමේ අංකයෙන් හඳුන්වන්න ඇති. එකක් මතක් කලොත් ඔයාලගෙ වාරෙ අන්තිමට ලකුණු දාන වෙලාවෙ, ඒ පොතේ තිබුනේ ඇතුලත්වීමේ අංකය, ඒ වගේම ඔයාලගෙ පැමිණීම ලකුණු කරපු පැමිණීමේ නාම ලේඛනයේ ඔයාලගෙ නමත් එක්කම තිබුනේත් ඔය කියපු ඇතුලත් වීමේ අංකය.

ඒ විදියට අංකයක් යොදාගෙන තියෙන්නේ හඳුනා ගැනීමේ හා නම් කිරීමේ පහසුව සඳහා, ඒ පාසලේදී නේ..., එතකොට Android වල මේ R.java file එක හරහාත් කරලා තියෙන්නේ අපේ Android App එකක තියින සියලුම resources වලට, ඒ කියන්නේ..., variables, objects, strings, colors වගේ හැම එකක් සඳහාම int type id එකක් තියා ගන්න එක. ඔයාලට ඔය R.java file එක open කලොත් බලා ගන්න පුළුවන් int type variables ගොඩක්.


අපේ Android App එකේ හඳුන්වලා දීපු මොකක් හරි resource එකක් තවත් තැනක භාවිතා කරනවා නම් ඒ සඳහා අපි මේ R.java file එක භාවිතා කරනවා. ඒක භාවිතා කරද්දී, R.layout.*, R.id.*, R.string.* යන ආකාර වලින් අපේ resources පෙන්නලා දෙන්න පුළුවන්.




එතකොට AndroidMainifest.xml කියන්නේ මොකද්ද?

  මෙය සෑම Android App එකක් සඳහාම පොදු හා තිබිය යුතුම අංගයක්. මේ AndroidMainifest එක හරහා අපේ App ගැන අවශ්‍ය කරනම තොරතුරු Android system එකට කියලා දෙන්නේ. එතකොට Android system එකකින් Android App එකක් run කරන කොට මුලින්ම කරන දේ තමයි AndroidMainifest එක කියවලා, එම App සඳහා ඕනි කරන පරිසරය Android device එක තුල සකස් කරන එක.
 

මේ ප්‍රධාන දෙයට අමතරව, පහත කටයුතුද  AndroidMainifest එක මඟින් සිදුකරයි.
  • අපේ java code එකේ තියෙන packaging හඳුනා ගෙන ඒවා සඳහා unique identifier සදා ගැනීම.
  • App එකේ තියෙන components ගැන, activities ගැන,  services ගැන (ඔයාගෙ App එක Internet හෝ google වගේ දේවල් භාවිතා කරනවා නම්)
  • App එක සඳහා ඕනි කරන්නේ මොනවගේ processes එකක්ද යන්න ගැන තීරණය කිරීම.
  • App එක සඳහා අවශ්‍ය කරන permission level එක ගැන තීරණය කිරීම. (ඔයාගෙ App එක ක්‍රියා කිරීම සඳහා අවශ්‍ය වන්නේ user permissionද,  root permissionද, යන වග)
  • App එක සඳහා ඕනි කරන අවම Android version සටහන් කරගැනීම.

හරි. අපි මේත් එක්කම Android වල තවත් අලුත් කොටසක් කතා කරන්න බලාපොරොතු වෙනවා. ඒ තමයි, Android App ක් තුල database එකක් භාවිතා කරන්නේ කොහොමද කියන එක. අපි දැනට කරලා තියෙන දේවල් එක්ක ඕනිම විදියේ instant app එකක් හදන්න. ඒ කියන්නේ, තාවකාලික තොරතුරු සමඟ වැඩ කරන app එකක්. නමුත් අපේ app එකට තොරතුරු කල් තබාගෙන වැඩ කරන්න පුළුවන් නම් හොඳයි නේද? අපි ඒකත් කලින් වතාවෙ වගේම app එකක් හදන ගමන් ම කතා කරමු.

අපි හදමු තමන්ගේම වියදම් සටහන් කරන්, ඒවා පාලනය කරන්න පහසු කරනවන app එකක්. ඔයාලත් මාත් එක්ක එකතු වෙලා, ඉගෙන ගන්න ගමන්, තමන්ට වැදගත් වෙන app එකක් හදාගෙන භාවිතා කරන්න. 

එහෙනම් අපි මීළග ලිපියෙන් මුනගැසෙමු.



ඔයාලට මේ කරපු දේ ටික ගැන ප්‍රශ්න තියෙනව නම් comment කරන්න නැති නම් mail කරන්න kavi707@gmail.com

Read More