Skip to content

MaistoBankas - skaitliukas maisto banko surinktų produktų statistikos rinkimui

License

Notifications You must be signed in to change notification settings

gdgvilnius/MaistoBankas

Repository files navigation

MaistoBankas

MaistoBankas - skaitliukas maisto banko surinktų produktų statistikos rinkimui

Mokymų turinys / Užduotys

Sąrašiukas, kaip programėlė buvo tobulinama

Programavimo aplinkos įdiegimas

Tie kas atėjo pirmą kartą, reikėjo įsidiegti:

Susigeneruoti Android programėlę

Pasinaudoti Android Studio vedliu ir susigeneruoti programėlės struktūrą.

Pradėti File->New Project... ir sekti vedlio nurodymais.

Kas buvo pridėta ir komentarus galima pažiūrėti GitHub'o įrašuose: Pakeitimai

Layout komponentai pagrindiniame fragmente

Reikės pridėti:

  • Nustatymų mygtuką, atidarantį parduotuvės informacijos suvedimo fragmentą
  • Mygtuką "Skenuoti"
  • Sąrašą nuskenuotų prekių vaizdavimui (ListView)

Pakeitimai

Pridėti nustatymų fragmentą

Paprasta forma, kurioje keletas įvedimo laukelių:

  • Miestas
  • Adresas
  • Parduotuvės vardas
  • Savanorio vardas
  • ir mygtukas Išsaugoti

[Pasikeitimai] (https://github.com/gdgvilnius/MaistoBankas/commit/686d64d19c0bd3889f45cf3eeec488290153dbff)

Pridėti Barcode skenerį

Barkodų skenavimui integravome ZXing Skenavimą pasinaudojant Intent'ais. Žiūrėti instrukcijas, kaip integruoti čia

Pridėti Lifecycle loginimą (2014-02-08)

Nusprendėm geriau suprasti Activity ir Fragment gyvavimo ciklą (lifecycle).

Pažiūrėjome lifecycle diagramą čia Ir į BaseActivity įsidėsime Log.d() komandas šiuose metoduose:

  • OnCreate
  • OnStart
  • OnResume
  • OnPause
  • OnStop
  • OnDestroy

Pakeitimai

Fragmentų gyvavimo ciklo loginimas

Analogiškai kaip ir su Activity gyvavimo ciklo loginimu, pasidarome ir Fragment'ų gyvavimo ciklo loginimą. Apie [Android Fragment lifecycle galima pasiskaityti android.com svetainėje] (http://developer.android.com/guide/components/fragments.html)

Taigi reikės susikurti BaseFragment pagrindinę klasę, kurioje sudėsime loginimo metodus:

  • onAttach ...

Pasikeitimai

Integruoti duomenų bazę Barkodų saugojimui

Tam pasinaudosime ORM lite.

Susikurti duomenų modelį

Saugotina informacija

Prekė Item:

  • barcode - Barkodas
  • name - Prekės pavadinimas
  • price - Kaina
  • weight - Svoris
  • image_url - Nuotrauka

Nuskenuota prekė ScannedItem:

  • id - nuskenavimo id
  • barcode - prekės barkodas
  • time - Laikas
  • place - Vieta
  • volunteer - Savanoris

Pakeitimai

Išsaugoti naujai nuskenuojamas prekes į DB

Reikės sukurti naują ScannedItem objektą ir išsaugoti duomenų bazėje.

Apie tai, kaip susikurti ORM Lite duomenų bazės Helper klasę galima paskaityti/pažiūrėti štai čia:

Pasinaudojant Helper klase išsaugoti įrašą duomenų bazėje.

Pasikeitimai

Rodyti įrašus išsaugotus duomenų bazėje

Nuskenuotų prekių sąrašą vis atnaujinti įrašais duomenų bazėje

  • MainFragmente onResume metode iškviesti dbHelper.getScannedItemDao().queryForAll();
  • Sąrašo atvaizdavimui sukurti naują adapterį
  • Sąrašo eilutės vaizdavimui sukurti layout'ą (pradžiai tik su TextView barkodo atvaizdavimui)

Pasikeitimai

Rodyti informaciją apie nuskenuotą prekę

Dabar atrodo štai taip: 2014-03-29 14 37 12

About

MaistoBankas - skaitliukas maisto banko surinktų produktų statistikos rinkimui

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published