CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: con ben Thanks ricevuti nelle ultime 24 ore
Utente della settimana: bluemask con ben 8 Thanks ricevuti negli ultimi sette giorni
Utente del mese: bluemask con ben 23 Thanks ricevuti nell'ultimo mese

Pagina 1 di 2 12 ultimoultimo
Ultima pagina
Visualizzazione dei risultati da 1 a 10 su 19
Discussione:

Creazione database Sqlite per android...creazione e consigli

Se questa discussione ti è stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
  1. #1
    Androidiano


    Registrato dal
    Jul 2014
    Messaggi
    61

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Lightbulb

    Creazione database Sqlite per android...creazione e consigli

    salve, ho creato una applicazione per android..
    ma ho notato di aver bisogno del database sqlite.. per poter gestire al meglio dei dati..
    chi può aiutarmi a :
    creare e usare un database SQL
    Leggere i dati del nostro database
    Scrivere, modificare e cancellare i dati nel nostro database

    grazie in anticipo

  2.  
  3. #2
    Androidiani Power User L'avatar di Crotan


    Registrato dal
    Jul 2013
    Località
    Roma
    Messaggi
    1,265
    Smartphone
    Redmi Note 9 Pro

    Ringraziamenti
    401
    Ringraziato 1,445 volte in 626 Posts
    Predefinito

    Ciao, è molto semplice da fare. Ti allego le classi che utilizzo io per gestirlo.

     
    1
    2
    public class Database extends SQLiteOpenHelper {
    3
    4
        public final static String NOME_DATABASE = "nome_db.db";
    5
        public final static int VERSIONE_DATABASE = 1;
    6
    7
        String sql;
    8
        
    9
        public Database(Context context) {
    10
            super(context, NOME_DATABASE, null, VERSIONE_DATABASE);
    11
            // TODO Auto-generated constructor stub
    12
        }
    13
    14
        @Override
    15
        public void onCreate(SQLiteDatabase db) {
    16
            // TODO Auto-generated method stub
    17
            sql = "tua_query";
    18
           db.execSQL(sql);
    19
        }
    20
    21
        @Override
    22
        public void onUpgrade(SQLiteDatabase db, int arg1, int arg2) {
    23
            // TODO Auto-generated method stub
    24
        }
    25
    26
    }
    27


    Poi ti costruisci un'altra classe dove nel costruttore passi il Context e rendi scrivibile il database (getWritableDatabase()) e ci metti metodi come questi

    6
     
    1
        public void inserisciDati(String tabella, String nome, String valore) {
    2
            contentValues = new ContentValues();
    3
            contentValues.put(Database.NOME, nome);
    4
            contentValues.put(Database.VALORE, valore);
    5
            db.insert(tabella, null, contentValues);
    6
        }


    Dove il primo valore del metodo put è il nome del campo ed il secondo il valore.

    Per cancellare un elemento

    6
     
    1
    2
        public void cancellaDaNome(String nome) {
    3
            sql = "DELETE FROM Tabella WHERE Campo = '"+nome+"';";
    4
            db.execSQL(sql);
    5
        }
    6


    Per ritrovare i valori

    12
     
    1
    2
        public ArrayList<String> ritrovaValori() {
    3
            lista = new ArrayList<String>();
    4
            sql = "SELECT * FROM Tabella";
    5
            cursore = db.rawQuery(sql, null);
    6
            while(cursore.moveToNext()) {
    7
                lista.add(cursore.getString(cursore.getColumnIndex("NomeCampo")));
    8
            }
    9
            
    10
            return lista;
    11
        }
    12

  4. #3
    Androidiano


    Registrato dal
    Jul 2014
    Messaggi
    61

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Vorrei chiederti... Come posso fare ad esempio inserendo dei dati in varie textview e editbox... Cone fare ad inviare i dati tramite un bottone al db sqlite...

  5. #4
    Androidiani Power User L'avatar di Crotan


    Registrato dal
    Jul 2013
    Località
    Roma
    Messaggi
    1,265
    Smartphone
    Redmi Note 9 Pro

    Ringraziamenti
    401
    Ringraziato 1,445 volte in 626 Posts
    Predefinito

    Quote Originariamente inviato da xixietto Visualizza il messaggio
    Vorrei chiederti... Come posso fare ad esempio inserendo dei dati in varie textview e editbox... Cone fare ad inviare i dati tramite un bottone al db sqlite...
    Semplicissimo. Vuoi che cliccando su un bottone inserisca i dati nel Database? Se sì, ti basta mettere nel metodo onClick del Button

    1
     
    1
    new GestioneDatabase(context).inserisciDati("NomeTabella", "NomeCampo", valoreDaInserire);

  6. #5
    Androidiano


    Registrato dal
    Jul 2014
    Messaggi
    61

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Grazie mille sei gentilissimo! Pwr inserire delle date nel database.. Le variabili sono indicate come text nel db... Dovrei cambiare?

  7. #6
    Androidiani Power User L'avatar di Crotan


    Registrato dal
    Jul 2013
    Località
    Roma
    Messaggi
    1,265
    Smartphone
    Redmi Note 9 Pro

    Ringraziamenti
    401
    Ringraziato 1,445 volte in 626 Posts
    Predefinito

    Su questo non so ben dirti perchè non l'ho mai fatto. Su MySQL ho sempre usato Timestamp ma non so se c'è sull'SQLite. Anche in formato stringa comunque credo vada bene.

  8. #7
    Senior Droid


    Registrato dal
    Aug 2011
    Località
    Roma
    Messaggi
    406
    Smartphone
    Nexus 5

    Ringraziamenti
    6
    Ringraziato 32 volte in 29 Posts
    Predefinito

    Quote Originariamente inviato da xixietto Visualizza il messaggio
    Grazie mille sei gentilissimo! Pwr inserire delle date nel database.. Le variabili sono indicate come text nel db... Dovrei cambiare?
    su sqlite non c'è il tipo data, quindi dovrai salvarlo come un campo di testo (sqlite, in quanto lite, ha pochi tipi). Dovrai solo occuparti via codice di come saranno formattate le date nel momento della insert, per avere dati omogenei ed evitare problemi successivi in fase di un eventuale parsing.

    Per farla breve, formatta tutte le date come dd-MM-yyyy e vai tranquillo.

  9. #8
    Androidiano


    Registrato dal
    Jul 2014
    Messaggi
    61

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    scusami cosa intendi per...Poi ti costruisci un'altra classe dove nel costruttore passi il Context e rendi scrivibile il database (getWritableDatabase()) e ci metti metodi come questi

  10. #9
    Androidiani Power User L'avatar di Crotan


    Registrato dal
    Jul 2013
    Località
    Roma
    Messaggi
    1,265
    Smartphone
    Redmi Note 9 Pro

    Ringraziamenti
    401
    Ringraziato 1,445 volte in 626 Posts
    Predefinito

    Quote Originariamente inviato da xixietto Visualizza il messaggio
    scusami cosa intendi per...Poi ti costruisci un'altra classe dove nel costruttore passi il Context e rendi scrivibile il database (getWritableDatabase()) e ci metti metodi come questi
    La prima classe, ossia Database, gestisce la creazione e l'aggiornamento del Database. Poi dopo devi creare un'altra classe che ha un costruttore fatto così

    10
     
    1
    2
        SQLiteDatabase db;
    3
        Database database;
    4
    5
        public ClasseSeconda(Context context) {
    6
            this.context = context;
    7
            database = new Database(context);
    8
            db = database.getWritableDatabase();
    9
        }
    10

  11. #10
    Androidiano


    Registrato dal
    Jul 2014
    Messaggi
    61

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    ottengo questi errori... ho fatto copia/incolla del tuo codice Cattura.PNG

    import android.content.Context;
    import android.database.sqlite.SQLiteDatabase;

    public aggiornamentoDB(Context context){

    this.context = context;

    database = new Database(context);

    db = database.getWritableDatabase();

    }

    SQLiteDatabase db;

    Database database;

Pagina 1 di 2 12 ultimoultimo
Ultima pagina

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire risposte
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Torna su
Privacy Policy