MaistoBankas - skaitliukas maisto banko surinktų produktų statistikos rinkimui
Sąrašiukas, kaip programėlė buvo tobulinama
Tie kas atėjo pirmą kartą, reikėjo įsidiegti:
- Naujausią Android Studio
- Gradle versiją 1.11
- Java JDK
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
Reikės pridėti:
- Nustatymų mygtuką, atidarantį parduotuvės informacijos suvedimo fragmentą
- Mygtuką "Skenuoti"
- Sąrašą nuskenuotų prekių vaizdavimui (ListView)
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)
Barkodų skenavimui integravome ZXing Skenavimą pasinaudojant Intent'ais. Žiūrėti instrukcijas, kaip integruoti čia
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
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 ...
Tam pasinaudosime ORM lite.
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
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.
Nuskenuotų prekių sąrašą vis atnaujinti įrašais duomenų bazėje
MainFragment
eonResume
metode iškviestidbHelper.getScannedItemDao().queryForAll();
- Sąrašo atvaizdavimui sukurti naują adapterį
- Sąrašo eilutės vaizdavimui sukurti layout'ą (pradžiai tik su
TextView
barkodo atvaizdavimui)
- Parsisiųsti prekės informaciją; Susikurti prekės informacijos duomenų modelį. Paskaitykit apie Retrofit'ą. Pasikeitimai
- Išsaugoti prekės informaciją į DB.
- Atvaizduoti prekės informaciją sąraše. Pasikeitimai
- Parodyti prekės paveiksliuką. Pasiskaitykite apie Picasso. Pasikeitimai
- Rodyti papildomą prekės informaciją. Pasikeitimai
- Perkelti
Nustatymai
mygtuką į meniu. Pasikeitimai - Perkelti
Skenuoti
mygtuką į centrą apačioje. Pasikeitimai - Naujausi nuskenuoti įrašai viršuje. Pasikeitimai
- Truputis animacijos. Pasikeitimai