Autore Topic: Aggiornare la propria applicazione  (Letto 386 volte)

Offline jocker99

  • Nuovo arrivato
  • *
  • Post: 39
  • Respect: +2
    • Mostra profilo
  • Dispositivo Android:
    samsung galaxy mini 2
  • Sistema operativo:
    debian 6 - 64 bit
Aggiornare la propria applicazione
« il: 05 Novembre 2011, 18:52:21 CET »
0
Salve a tutti dato che sono alle prime armi volevo chiedervi queste informazioni
 io creo un applicazione la metto sul market con una sua version code presente nel manifest se dopo un po' genero un upgrade della mia applicazione la pubblico (variando il suo version code) la gestione dell'aggiornamento (per le persone che hanno installato la vecchia versione),
come viene fatta?
ho visto che quando si crea un DB c'e' la possibilità di gestire le eventuali versioni del DB, aggiungendo o eliminando campi e/o tabelle devo implementare qualcosa se devo aggiornare tutta la applicazione? 
per capirci meglio se tizio scarica la mia applicazione dopo due giorni esce l'aggiornamento vorrei che lui si scaricasse l'aggiornamento, installasse la nuova eliminando la vecchia versione e rimando intatto il suo DB
grazie mille 

Offline ROS

  • Utente normale
  • ***
  • Post: 196
  • Respect: +5
    • Mostra profilo
  • Sistema operativo:
    Ubuntu 10.04
Re:Aggiornare la propria applicazione
« Risposta #1 il: 05 Novembre 2011, 19:25:18 CET »
0
L'aggiornamento viene gia' effettuato preservando il db...o almeno io e' quello che ho notato nelle mie app, poi non so se cio' dipenda da qualche particolare configurazione.

Io implemento sempre un controllo al momento della creazione del DB: se il DB non esiste, lo crea prendendolo da assets, altrimenti usa quello presente.

In caso di aggiornamento di campi implemento un controllo che verifica la data di ultima modifica del db nel telefono dell'utente. Se e' precedente alla data dell'aggiornamento che comporta variazioni della struttura, modifico la struttura a suon di ALTER TABLE.

Offline jocker99

  • Nuovo arrivato
  • *
  • Post: 39
  • Respect: +2
    • Mostra profilo
  • Dispositivo Android:
    samsung galaxy mini 2
  • Sistema operativo:
    debian 6 - 64 bit
Re:Aggiornare la propria applicazione
« Risposta #2 il: 05 Novembre 2011, 20:01:29 CET »
0
scusami  ma come fai a fare il controllo  e a prendere un DB da assets, io, prendendo spunto da una esempio presente in questo sito,  se il db non c'e' lo crea altrimenti gestisco l'upgrade  con il comando "CREATE TABLE IF NOT EXISTS"
grazie per la risposta

Offline ROS

  • Utente normale
  • ***
  • Post: 196
  • Respect: +5
    • Mostra profilo
  • Sistema operativo:
    Ubuntu 10.04
Re:Aggiornare la propria applicazione
« Risposta #3 il: 06 Novembre 2011, 09:57:07 CET »
0
Per sapere se il DB esiste basta semplicemente a collegarsi. Se il puntatore restituito e' nullo allora non esiste.
Per copiarlo, invece:
Codice (Java): [Seleziona]
    public void copyDB() throws IOException
    {

        // Preleva dalla cartella assets il DB da caricare in memoria          
        try {
                InputStream DB_template = myContext.getAssets().open( DB_PATH_ASSETS  + DB_NAME + "." + DB_EXT_ASSETS );
               
                // Path del file da sovrascrivere
                OutputStream DB_overwrite               =       new FileOutputStream( this.DB_PATH + this.DB_NAME );
               
                byte[] buffer                   =       new byte[1024];
                int length;
                while ( ( length = DB_template.read( buffer ) ) > 0 )
                {
                        DB_overwrite.write(buffer, 0, length);
                }
               
                cl_config.logMsg( "(3): DB importato da Assets" );
               
                //Close the streams
                DB_overwrite.flush();
                DB_overwrite.close();
                DB_template.close();
        }
        catch ( IOException e )
        {
                cl_config.logMsg( "Impossibile importare il DB. Eccezione: " + e.getMessage() );
        }
}

Offline jocker99

  • Nuovo arrivato
  • *
  • Post: 39
  • Respect: +2
    • Mostra profilo
  • Dispositivo Android:
    samsung galaxy mini 2
  • Sistema operativo:
    debian 6 - 64 bit
Re:Aggiornare la propria applicazione
« Risposta #4 il: 06 Novembre 2011, 20:36:32 CET »
0
il tuo estratto di codice e' molto interessante ma cotesemente
protesti  postarmi qualche esempio completo o qualche HowTo da cui posso prendere spunto perche' cosi' posso "testarlo"  e vedere il suo funzionamento
grazie mille

Offline ROS

  • Utente normale
  • ***
  • Post: 196
  • Respect: +5
    • Mostra profilo
  • Sistema operativo:
    Ubuntu 10.04
Re:Aggiornare la propria applicazione
« Risposta #5 il: 07 Novembre 2011, 00:07:07 CET »
0
il tuo estratto di codice e' molto interessante ma cotesemente
protesti  postarmi qualche esempio completo o qualche HowTo da cui posso prendere spunto perche' cosi' posso "testarlo"  e vedere il suo funzionamento
grazie mille
C'e' un buon tutorial che spiega come collegarsi ad un DB qui sul forum :)

Offline jocker99

  • Nuovo arrivato
  • *
  • Post: 39
  • Respect: +2
    • Mostra profilo
  • Dispositivo Android:
    samsung galaxy mini 2
  • Sistema operativo:
    debian 6 - 64 bit
Re:Aggiornare la propria applicazione
« Risposta #6 il: 07 Novembre 2011, 09:31:16 CET »
0
credo che tu voglia indicare questo tutorial http://www.anddev.it/index.php/topic,495.0.html grazie mille gli daro' un occhiata