CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: complicazio con ben 2 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: 9mm con ben 10 Thanks ricevuti negli ultimi sette giorni
Utente del mese: 9mm con ben 34 Thanks ricevuti nell'ultimo mese

Pagina 2 di 2 primaprima 12
Visualizzazione dei risultati da 11 a 19 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. #11
    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

    Non hai copiato il mio codice visto che nel mio le variabili sono prima del costruttore e nel tuo invece stanno dopo.

  2.  
  3. #12
    Androidiano


    Registrato dal
    Jul 2014
    Messaggi
    61

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Ho provato a far cosi.. Visto che mi dava ugualmente errori

  4. #13
    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

    Per quello che vedo, apparte l'annotazione che ti ho fatto, non ci sono errori. Hai provato a fare un Clean? Il progetto te lo fa compilare? Puoi postare tutta la classe?

  5. #14
    Baby Droid


    Registrato dal
    Apr 2014
    Messaggi
    14

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    La classe che estende sqliteopenhelper ti serve per creare e aggiornare il tuo database, poi ne devi creare un altra che ti permetta in maniera semplice di eseguire le operazioni (come aggiungere o eliminare un record) sul tuo db.

    questo è un esempio della classe che devi creare che ho trovato su internet per un database di contatti:
    codice:
    import android.content.ContentResolver;
    import android.content.ContentValues;
    import android.content.Context;
    import android.database.Cursor;
    import android.database.SQLException;
    import android.database.sqlite.SQLiteDatabase;
    import android.provider.ContactsContract;
     
    public class DbAdapter {
    
             
      private Context context;
      private SQLiteDatabase database;
      private DatabaseHelper dbHelper;
     
      // Database fields
      private static final String DATABASE_TABLE      = "contact";
     
      public static final String KEY_CONTACTID = "_id";
      public static final String KEY_NAME = "name";
      public static final String KEY_SURNAME = "surname";
      public static final String KEY_SEX = "sex";
      public static final String KEY_BIRTH_DATE = "birth_date";
     
      public DbAdapter(Context context) {
        this.context = context;
      }
     
      public DbAdapter open() throws SQLException {
        dbHelper = new DatabaseHelper(context);
        database = dbHelper.getWritableDatabase();
        return this;
      }
     
      public void close() {
        dbHelper.close();
      }
     
      private ContentValues createContentValues(String name, String surname, String sex, String birth_date ) {
        ContentValues values = new ContentValues();
        values.put( KEY_NAME, date );
        values.put( KEY_SURNAME, flag_send_sms );
        values.put( KEY_SEX, text_send_sms );
        values.put( KEY_BIRTH_DATE, date_sent_sms );
         
       return values;
      }
             
      //create a contact
      public long createContact(String name, String surname, String sex, String birth_date ) {
        ContentValues initialValues = createContentValues(name, surname, sex, birth_date);
        return database.insertOrThrow(DATABASE_TABLE, null, initialValues);
      }
     
      //update a contact
      public boolean updateContact( long contactID, String name, String surname, String sex, String birth_date ) {
        ContentValues updateValues = createContentValues(name, surname, sex, birth_date);
        return database.update(DATABASE_TABLE, updateValues, KEY_ CONTACTID + "=" + contactID, null) > 0;
      }
                     
      //delete a contact     
      public boolean deleteContact(long contactID) {
        return database.delete(DATABASE_TABLE, KEY_ CONTACTID + "=" + contactID, null) > 0;
      }
     
      //fetch all contacts
      public Cursor fetchAllContacts() {
        return database.query(DATABASE_TABLE, new String[] { KEY_CONTACTID, KEY_NAME, KEY_SURNAME, KEY_SEX, KEY_BIRTH_DATE}, null, null, null, null, null);
      }
       
      //fetch contacts filter by a string
      public Cursor fetchContactsByFilter(String filter) {
        Cursor mCursor = database.query(true, DATABASE_TABLE, new String[] {
                                        KEY_CONTACTID, KEY_NAME, KEY_SURNAME, KEY_SEX, KEY_BIRTH_DATE },
                                        KEY_NAME + " like '%"+ filter + "%'", null, null, null, null, null);
             
        return mCursor;
      }
    Comunque io ti consiglio di utilizzare i content provider come ho fatto anche io per la mia applicazione anche se hai bisogno di un po' più di lavoro, così puoi consultare il db con un cursor loader (una specie di async task), comunque trovi tutto quello che ti serve in questa guida:
    http : / /www . anddev . it / index.php?topic=8538.0

    Riguardo al discorso sulla data, io ho salvato la data come fosse testo e per formattarla ho usato questa classe:
    codice:
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    
    public class FormattedDateTime {
        public static String getDateTime(){
            Calendar c = Calendar.getInstance();
            SimpleDateFormat sdf = new SimpleDateFormat("d/M/yy H:m:s");
            String dateTime = sdf.format(c.getTime());
            return dateTime;
        }
    }
    Ultima modifica di Caco85; 10-07-14 alle 22:09

  6. #15
    Androidiano


    Registrato dal
    Jul 2014
    Messaggi
    61

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Unhappy

    non ho capito questo:
    private ContentValues createContentValues(String data, String ora, String valorestella) {
    ContentValues values = new ContentValues();
    values.put( KEY_NAME, date );
    values.put( KEY_SURNAME, flag_send_sms );
    values.put( KEY_SEX, text_send_sms );
    values.put( KEY_BIRTH_DATE, date_sent_sms );

    ho preso spunto da questo link http ://www. html.it/articoli/la-gestione-dei-database-in-android-3/
    cosa sono date, flag_send_sms ect... mi chiede di inizilizzarle... ma dove?
    values.put?

    questo è il mio codice..
    Ultima modifica di xixietto; 11-07-14 alle 16:36

  7. #16
    Androidiano


    Registrato dal
    Jul 2014
    Messaggi
    61

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Question

    come faccio a leggere i valore presenti nel database?
    Ultima modifica di xixietto; 12-07-14 alle 23:36

  8. #17
    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
    come faccio a leggere i valore presenti nel database?
    Te lo avevo già detto qui come si fa. In altre parole fai una query che seleziona tutto dalla tabella e tramite un while prendi i valori uno ad uno e li inserisci in un ArrayList, nel mio caso di tipo String ma se devi recuperare molti valori devi usare un Oggetto.

  9. #18
    Androidiano


    Registrato dal
    Jul 2014
    Messaggi
    61

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Quote Originariamente inviato da Crotan Visualizza il messaggio
    Te lo avevo già detto qui come si fa. In altre parole fai una query che seleziona tutto dalla tabella e tramite un while prendi i valori uno ad uno e li inserisci in un ArrayList, nel mio caso di tipo String ma se devi recuperare molti valori devi usare un Oggetto.
    sapresti aiutarmi a modificare questo codice?
    e farlo diventare un arraylist....
    in principio questo codice mi mostra solo il numero di record presenti...
    ora vorrei che mi mostrasse i valori dei record...

    private void recuperaNumeroRecord() {
    //Chiediamo l'accesso al db
    SQLiteDatabase db = mMioDbHelper.getReadableDatabase();

    //Query per recuperare il numero di righe presenti nel db
    final String sql = "SELECT COUNT(*) FROM tabella";

    Cursor c = db.rawQuery(sql, null);

    if(c.moveToFirst()) {
    tView.setText(c.getString(0));
    }
    }

  10. #19
    Androidiano


    Registrato dal
    Jul 2014
    Messaggi
    61

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    sapete come si può inviare al database sqlite di android...
    i valori presi da un metodo?
    io ho provato così.. ma è errato
    ...........
    contentValues.put("data", data().getText().toString());
    ...........

Pagina 2 di 2 primaprima 12

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