Ho letto su molti forum, Phonegap forum stesso su tutti, che moltissima gente ha problemi a sottoporre ad Apple la propria app, e che spesso gli viene rifiutata perchè “non abbastanza app”.
Il motivo, in verità, è piuttosto semplice: se creo una app che è semplicemente una trasposizione mobile di un sito web, al 99% verrà rifiutata da Apple, che argomenterà il rifiuto con la frase “La vostra app non utilizza alcuno strumento tipico di uno smartphone (gps, database, rubrica), quindi spostate il vostro sviluppo verso una versione mobile del sito”. Grazie tante…
A parte la condicio sine qua non di fare una app che non faccia vomitare, è piuttosto semplice utilizzare uno degli strumenti che Phonegap mette a disposizione, uno su tutti lo Storage.
Per utilizzare il database che mette a disposizione Phonegap, è necessario richiamarlo con la seguente funzione:
function activateDB(){ var db = window.openDatabase("NOME_DB", "VERSIONE_DB", "DISPLAY_NAME_DB", 5*1024*1024); db.transaction(populateDB, errorCB, successCB); } function populateDB(tx) { tx.executeSql('CREATE TABLE IF NOT EXISTS tblPreferiti(id INTEGER PRIMARY KEY ASC, idarticoli INTEGER)'); } function errorCB(err) { console.log("!!! Error processing SQL: "+err.code + ' - ' + err.message ); } function successCB() { }
La funzione activateDB() mi carica nella variabile db il database NOME_DB, dopo di che mi lancia la funzione populateDB() che, a seconda del risultato positivo o negativo, mi richiama successDB() o errorDB(). Tutto chiaro, no?
Come vedete, è piuttosto semplice interfacciarsi con il DB e basta salvarvi qualcosa al suo interno per utilizzare uno degli strumenti messi a disposizione da Phonegap.
Nel mio caso, ho creato una APP ( non ancora disponibile su Apple Store, ma appena lo sarà posterò il link.. ) e ho utilizzato il db per salvarvi gli articoli preferiti.
In verità salvo esclusivamente l’ID degli articoli, che vengono poi caricati dal server remoto ogni volta. Un utilizzo minimo del DB, ma…sufficiente.