Ahoana ny famandrihana sy hamonjy ny data ao amin'ny Corona SDK

Ahoana ny fampiasana ny SQLite hamandrika data sy ny fanovana

Zavatra tsy ampy / fanononana X-SAMPA tsy ampy, tsy nisy teny manokana voalaza Na dia ny lalao tsotra indrindra aza dia afaka mampiasa SQLite mba hamonjena ny nomerao ny nomerao, izay azo ampiasaina mba hiantohana ny fahombiazany rehefa manamboatra fanavaozana, na ny fijerena tsotra toy ny manova ny feo amin'ny lalao na miala.

Raha tsy nanao asa be dia be tambazan'ny tahiry na nampiasa ireo singa database ao amin'ny Corona SDK ianao , aza manahy. Mazava ho azy fa dingana tsotra izao noho ny herin'ny LUA sy ny SQLite moto mampiasa angona ampiasaina ao amin'ny Corona SDK. Ity lesona ity dia mandeha amin'ny dingana amin'ny famoronana latabatra fanamoriana ary ny fametrahana sy ny fikarakarana ny vaovao avy amin'izany. Ahoana ny fampivoarana iPad apps.

Ataovy ao an-tsaina ihany koa fa ity teknika ity dia afaka mihoatra noho ny fametrahana ny votoatin'ny mpampiasa. Ohatra, raha toa ka manana lalao izay azo alaina amin'ny fampiasana fomba amam-panao samihafa toy ny fomba "tantara" sy "arcade". Ity latabatra fanalahidy ity dia azo ampiasaina hananganana ny fomba ankehitriny. Na ireo angona hafa izay tianao hijanonana hatrany, na dia miala amin'ny lalao aza ilay mpampiasa ary mampiato azy.

Dingana voalohany: Fomba fanaingoana ny angon-drakitra sy ny famoronana tabilao fanalahidy

Ny zavatra voalohany tokony hataontsika dia manambara ny tranokala SQLite ary milaza ny fampiharana izay ahitantsika ny rakitra ao anaty rakitra. Ny toerana tsara indrindra hametrahana ity kaody ity dia eo an-tampon'ilay tahiry mainaa miaraka amin'ny filazana hafa. Ny tahiry tahiry dia ho noforonina raha tsy misy hita, ary hametrahana azy ao amin'ny lahatahiry Documents mba hahafahantsika mamaky azy io ary manoratra izany.

mila "sqlite3"
local data_path = system.pathForFile ("data.db", system.documentsDirectory);
db = sqlite3.open (data_path);

Mariho hoe ahoana no tsy misy ny "db". Nataonay izany mba hahazoana antoka fa afaka miditra amin'ny antontan-kevitra izahay mandritra ny tetikasa. Azonao atao ihany koa ny mamorona tahiry .lua voafaritra ho an'ny asa rehetra momba ny database ary mitahiry ny tahiry azo alaina ao amin'io rakitra io.

Avy eo, ilaintsika ny mamorona ny latabatra daty ahafahana manangona ny safidintsika:

local sql = "MANAFIANA MISY TSY MISY TSY MISY ADY (anarana, tombony);"
db: exec (SQL);

Ity fanambarana ity dia mamorona ny latabatra fanomanana. Tsara ny mihazakazaka azy isaky ny mihodina ny app satria raha efa misy ny latabatra dia tsy hanao na inona na inona ilay fanambarana. Azonao atao ny mametraka ity fanambarana ity eo ambanin'ny toerana nanambarantsika ny antontan-kevitra na ny lahasa izay mametraka ny rindrambaiko handosirana. Ny fepetra fototra dia ny (1) hanatanterahana ireo fanambarana isaky ny manomboka ny fampiharana ary (2) manatanteraka izany alohan'ny hiantsoana ny famandrihana na famerenana ny fanovana.

Dingana faharoa: Mamonjy ny fanovana ao amin'ny daty

asa setSetting (anarana, sarobidy)
sql = "DELETE FROM FIZARANA WHERE name = '" .. name .. "'";
db: exec (sql)

sql = "MOMBA NY FIZARANA (anarana, value) VALUES ('" ..name .. "'," .. value .. ");";
db: exec (sql)
tapitra

function setSettingString (anarana, lanjany)
setSetting (anarana, " '" sarobidy .. .. "'");
tapitra

Ny fametrahana setSetting dia mamafa ireo fanovana efa napetraka teo amin'ny latabatra ary mametraka ny sanda vaovao. Izy io dia hiasa amin'ny roa ambiny sy ny tsipika, fa ny famahanana string dia mitaky ny teny tokana ho an'ny lanjany, noho izany dia nampiasa ny setSettingString mba hanaovana izany asa kely fanampiny ho antsika.

Dingana fahatelo: Mametraka ny fanovana avy amin'ny tahiry

Asa atao (name)

local sql = "SELECT * FROM FIZARANA WHERE name = '" .. name .. "'";
valiny eo an-toerana = -1;

ho an'ny laharana ao amin'ny db: nrows (sql)
sanda = row.value;
tapitra

return value;
tapitra

function getSettingString (anarana)
local sql = "SELECT * FROM FIZARANA WHERE name = '" .. name .. "'";
local value = '';

ho an'ny laharana ao amin'ny db: nrows (sql)
sanda = row.value;
tapitra

return value;
tapitra

Araka ny voalaza etsy ambony, dia tapahantsika ny fonosana ho dikan-teny roa: ny iray ho an'ny votoatiny ary ny iray ho an'ny tady. Ny antony lehibe indrindra nataonay dia ny mba hanombohana azy ireo miaraka amin'ny soatoavina voafaritra raha toa ka tsy misy famerana ao anaty daty. Ny function getSetting dia hamerina -1, izay hamela antsika hahafantatra fa tsy voavonjy ilay toerana. Ny getSettingString dia hamerina string blank.

Ny rafitra getSettingString dia tsy mety. Ny hany fahasamihafana misy eo aminy sy ny fiasan'ny getSetting dia ny hoe averina indray raha tsy misy zavatra hita ao anaty daty.

Dingana efatra: Mampiasa ny latabatra fanalahidy

Ankehitriny rehefa manana ny asa mafy atao isika dia afaka mameno mora sy mamonjy ny fanovana ao amin'ny tahiry iray ao an-toerana. Ohatra, afaka manakombona ny feo isika amin'ity fanambarana manaraka ity:

setSetting ( 'tsy misy kilema', diso);

Ary afaka mampiasa ny sehatra amin'ny sehatra iraisam-pirenena isika mba hilalao feo:

play play Sound (SoundID)
raha (getSetting ('feo'))
audio.play (soundID)
tapitra
tapitra

Mba hamerenana ny feo indray, dia mametraka tsotra izao ny fepetra tsara:

setSetting ( 'tsy misy kilema', tena);

Ny ampahany mahafinaritra momba ireo asany ireo dia azonao atao ny manavotra karatra na ony maromaro eo amin'ny latabatra fisafidianana ary hamerina azy mora foana. Izany dia ahafahanao manao na inona na inona tsy hamonjy ny anaran'ny mpilalao iray hamonjy ny isa avoany.

Corona SDK: Ahoana no hikirakirana ny sary, horonan-tsary manindry sy mampita sary