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 

5 comments:

  1. ඔබට පුළුවන්නම් SQL ගැන ටිකක් ලියන්නකෝ. මා මෘදුකාංග සම්බන්ධයෙන් හදාරා ඇතත් භාවිතය නොමැතිකමින් අමතක වී යනවා.

    ReplyDelete
  2. Ape blog ekee SQL ganath kathaa karanawa.
    Methanin balanna: http://codingsihalen.blogspot.com/search/label/SQL%20%E0%B7%83%E0%B7%92%E0%B6%82%E0%B7%84%E0%B6%BD%E0%B7%99%E0%B6%B1%E0%B7%8A

    Mema Android lipi wala kathaa karanne SQLite gana. meekath godak durata samanai. namuth sulu wenas kam kihipayak thiyenawa...

    ReplyDelete
  3. wow its great pleasure to get to know about you. You are a good community contributor !!! Good luck bro !!!

    ReplyDelete
    Replies
    1. Aaa, Thanx bro. Pleasure to meet u too bro. I ddn't kwn tht u r our blog follower. Elz... Digatama apith ekka radila inna...

      Delete