Autore Topic: Errore ritorno metodo DB  (Letto 225 volte)

Offline llc

  • Nuovo arrivato
  • *
  • Post: 7
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    GS2 Plus
  • Play Store ID:
    llc
  • Sistema operativo:
    Windows 7
Errore ritorno metodo DB
« il: 05 Settembre 2014, 18:08:12 CEST »
0
Salve ragazzi come potete bene intuire dal titolo ho un problema con il ritorno dei dati da un metodo in un database; mi spiego meglio sto creando una semplice agenda ed ho creato dei picker dialog per la data e per l'orario, che inseriscono i dati nel database,questi funzionano.. vi faccio un esempio premo il tasto sullo schermo e seleziono la data poi seleziono l'ora e poi premo su un altro tasto per visualizzare i dati attraverso gli appositi metodi, ma mi stampa come dato solo l'ultimo valore inserito(quello precedente mi da 0)
ora vi posto il codice:
Classe "Add":
Codice: [Seleziona]
public class Add extends FragmentActivity{
EditText event,textAvv;
Button DataInizio,DataFine,OraInizio,OraFine,Avanti;
Database_A car,db;
Spinner spin;
TextView viewT;
        public void onCreate(Bundle savedInstanceState){
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_add);
                car=new Database_A(this);
                db=new Database_A(this);
                ActionBar actionBar = getActionBar();
                spin=(Spinner)findViewById(R.id.spinner1);
                event=(EditText)findViewById(R.id.evento);
                Avanti=(Button)findViewById(R.id.avanti);
                viewT=(TextView)findViewById(R.id.Testoavviso);
                DataInizio=(Button)findViewById(R.id.dataInizio);
                DataFine=(Button)findViewById(R.id.dataFine);
                OraInizio=(Button)findViewById(R.id.oraInizio);
                OraFine=(Button)findViewById(R.id.oraFine);
                Calendar cal=Calendar.getInstance();
                textAvv=(EditText)findViewById(R.id.textAvv);
                DataInizio.setText(""+cal.get(Calendar.DAY_OF_MONTH)+"/"+cal.get(Calendar.MONTH)+"/"+cal.get(Calendar.YEAR));
                DataFine.setText(""+cal.get(Calendar.DAY_OF_MONTH)+"/"+cal.get(Calendar.MONTH)+"/"+cal.get(Calendar.YEAR));
                OraInizio.setText(""+cal.get(Calendar.HOUR_OF_DAY)+":"+cal.get(Calendar.MINUTE));
                OraFine.setText(""+cal.get(Calendar.HOUR_OF_DAY)+":"+cal.get(Calendar.MINUTE));
                String tipo[]={"Notifica","Musica","Testo parlato"};
                ArrayAdapter<String> adp=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,tipo);
                adp.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
                spin.setAdapter(adp);
        spin.setOnItemSelectedListener(new OnItemSelectedListener(){

                @Override
                public void onItemSelected(AdapterView<?> parent, View view,
                                int position, long id) {
                switch(position){
                case 0:
                Toast.makeText(getApplicationContext(), "Notifica", Toast.LENGTH_SHORT).show();
                textAvv.setVisibility(android.view.View.INVISIBLE);
                viewT.setVisibility(android.view.View.INVISIBLE);
                break;
                case 1:
                        Toast.makeText(getApplicationContext(), "Musica", Toast.LENGTH_SHORT).show();
                        textAvv.setVisibility(android.view.View.INVISIBLE);
                        viewT.setVisibility(android.view.View.INVISIBLE);
                        break;
                case 2:
                         Toast.makeText(getApplicationContext(), "Testo parlato", Toast.LENGTH_SHORT).show();
                         textAvv.setVisibility(android.view.View.VISIBLE);
                         viewT.setVisibility(android.view.View.VISIBLE);
                }
                }

                @Override
                public void onNothingSelected(AdapterView<?> parent) {
               
                       
                }
               
        });
       
        }
        public long getData(){
        car.open();
        final long data=car.leggi_dataI();
        car.close();
Log.i("DataI", "DATA:"+data);
        return data;
        }
       
       
public void getTime(){
        car.open();
final        long tempo=car.leggi_oraI();
        car.close();
Log.i("DataI", "Tempo:"+tempo);       
        }

public void getDataF(){
       
}

public void getTimeF(){
       
}

        public void aggiungiDataI(View view){
            DialogFragment datal = new DataPickerI();
                datal.show(getSupportFragmentManager(), "dataIPicker");
               
        }
       
        public void aggiungiDataF(View view){
            DialogFragment datak = new DataPickerF();
                datak.show(getSupportFragmentManager(), "dataFPicker");
        }
       
        public void aggiungiOraI(View view){
            DialogFragment timei = new TimePickerI();
                timei.show(getSupportFragmentManager(), "timeIPicker");
        }
       
        public void aggiungiOraF(View view){
            DialogFragment datai = new TimePickerF();
                datai.show(getSupportFragmentManager(), "timeFPicker");
        }
       
        public boolean onCreateOptionsMenu(Menu menu) {
               
                getMenuInflater().inflate(R.menu.main_add_activity, menu);
                return true;
        }

        @Override
        public boolean onOptionsItemSelected(MenuItem item) {
               
                int id = item.getItemId();
                if (id == R.id.action_settings) {
                        return true;
                }else if(id==R.id.action_OK){
                        car.open();
                       
                        long ll=car.leggi_dataI();
                        long llc=car.leggi_oraI();
                car.close();
                        Log.i("TAG", ""+ll+"/"+llc);
               
                }
                return super.onOptionsItemSelected(item);
        }
        public static class DataPickerI extends DialogFragment implements DatePickerDialog.OnDateSetListener{
Database_A db;
                Context cont;
                public Dialog onCreateDialog(Bundle savedInstanceState){
                       
                        Calendar c= Calendar.getInstance();
                        int anno=c.get(Calendar.YEAR);
                        int mese=c.get(Calendar.MONTH);
                        int giorno=c.get(Calendar.DAY_OF_MONTH);
                        return new DatePickerDialog(getActivity(),this,anno,mese,giorno);
                }
                public void onDateSet(DatePicker view, int year, int monthOfYear,
                                int dayOfMonth) {
                        cont=view.getContext();
                        db=new Database_A(cont);
                        db.open();
                        Calendar cal= Calendar.getInstance();
                        cal.set(year, monthOfYear, dayOfMonth);

               
                        db.inserisci_dataI(cal.getTimeInMillis());
                        db.close();
                }
               
        }
        public static class DataPickerF extends DialogFragment implements DatePickerDialog.OnDateSetListener{
                Database_A db;
                                Context cont;
                                public Dialog onCreateDialog(Bundle savedInstanceState){
                                       
                                        Calendar c= Calendar.getInstance();
                                        int anno=c.get(Calendar.YEAR);
                                        int mese=c.get(Calendar.MONTH);
                                        int giorno=c.get(Calendar.DAY_OF_MONTH);
                                       
                                       
                                        return new DatePickerDialog(getActivity(),this,anno,mese,giorno);
                                }
                                public void onDateSet(DatePicker view, int year, int monthOfYear,
                                                int dayOfMonth) {
                                        cont=view.getContext();
                                        db=new Database_A(cont);
                                        db.open();
                                        Calendar cal= Calendar.getInstance();
                                        cal.set(year, monthOfYear, dayOfMonth);
                                       
                                        db.inserisci_dataF(cal.getTimeInMillis());        db.close();
                                }
                               
                        }
        public static class TimePickerI extends DialogFragment implements TimePickerDialog.OnTimeSetListener{
                Database_A dB;
                Context cont;
                public Dialog onCreateDialog(Bundle savedInstanceState){
                        Calendar c=Calendar.getInstance();
                        int ora=c.get(Calendar.HOUR_OF_DAY);
                        int minuti=c.get(Calendar.MINUTE);
                        return new TimePickerDialog(getActivity(),this,ora,minuti,DateFormat.is24HourFormat(getActivity()));
                }
               
               
                public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
                        cont=view.getContext();
                        dB=new Database_A(cont);
                        dB.open();
                        Calendar cal=Calendar.getInstance();
                cal.set(Calendar.HOUR_OF_DAY, hourOfDay);
                cal.set(Calendar.MINUTE, minute);
                Log.i("TAG", ""+cal.getTimeInMillis());
                dB.inserisci_orarioI(cal.getTimeInMillis());
                dB.close();
                }
               
               
        }
        public static class TimePickerF extends DialogFragment implements TimePickerDialog.OnTimeSetListener{
                Database_A db;
                Context cont;
                public Dialog onCreateDialog(Bundle savedInstanceState){
                        Calendar c=Calendar.getInstance();
                        int ora=c.get(Calendar.HOUR_OF_DAY);
                        int minuti=c.get(Calendar.MINUTE);
                        return new TimePickerDialog(getActivity(),this,ora,minuti,DateFormat.is24HourFormat(getActivity()));
                }
               
               
                public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
        cont=view.getContext();
        db=new Database_A(cont);
        db.open();
        Calendar cal=Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY, hourOfDay);
cal.set(Calendar.MINUTE, minute);
Log.i("TAG", ""+cal.getTimeInMillis());
db.inserisci_orarioF(cal.getTimeInMillis());
Log.i("TAG", ""+cal.get(Calendar.HOUR_OF_DAY)+" "+cal.get(Calendar.MINUTE));
       
db.close();       
                }
               
               
        }
       
}
codice DataBase:
Codice: [Seleziona]
public class Database_A {
        String sql="CREATE TABLE ev("+"evento TEXT,"+"dataI INTEGER,"+"dataF INTEGER,"+"avviso TEXT,"+"timeI INTEGER,"+"timeF INTEGER"+");";
        Context context;
static  long data;
static long ora;
long dataArray[];
        DBHelper dbH;
        String NameDB="DBapp";
        int versione=1;
        String tab="ev";
        SQLiteDatabase sqlDB;
        ContentValues v;
        String avv=new String();
        String even=new String();
        String dataI="dataI";
        String dataF="dataF";
        String timeI="timeI";
        String timeF="timeF";
        String evento="evento";
        String Avviso="avviso";
public Database_A(Context cont){
        v=new ContentValues();
        context=cont;
        data=0;
        ora=0;
        dbH=new DBHelper(context,NameDB,null,versione);
}
public void open(){
        sqlDB=dbH.getWritableDatabase();
}
public void close(){
        dbH.close();
}
public void inserisci_dataI(long data){
        v.put(dataI, data);
        Log.i("Prova", ""+data);
sqlDB.insert(tab, null, v);

Log.i("Prova", ""+v.get(dataI));
}
public void inserisci_dataF(long data){
        v.put(dataI, data);
        sqlDB.insert(tab, null, v);
}
public void inserisci_orarioI(long orario){
        v.put(timeI, orario);
       
        sqlDB.insert(tab, null, v);
       
}

public void inserisci_orarioF(long orario){
        v.put(timeF, orario);
       
        sqlDB.insert(tab, null, v);
       
}

public void inserisci_evento(String event){
        v.put(evento, event);
        sqlDB.insert(tab, null, v);
}

public void inserisci_avviso(String avviso){
        v.put(Avviso, avviso);
        sqlDB.insert(tab, null, v);
}

public long leggi_dataI(){
        Cursor cur=sqlDB.query(tab, null, null, null, null, null, null);
       
 while(cur.moveToNext()==true){
                data=cur.getLong(cur.getColumnIndex(dataI));
               
               
        }
       
        return data;
}

public long leggi_dataF(){
       
        Cursor cur=sqlDB.query(tab, null, null, null, null, null, null);
       
        while(cur.moveToNext()){
                data=cur.getLong(cur.getColumnIndex(dataF));
               
        }
        return data;
}


public long leggi_oraI(){
        Cursor cur=sqlDB.query(tab, null, null, null, null, null, null);
       
        while(cur.moveToNext()==true){
                ora=cur.getLong(cur.getColumnIndex(timeI));
                Log.i("Visione", ""+ora);
               
                }
        return ora;
}


public long leggi_oraF(){
        Cursor cur=sqlDB.query(tab, null, null, null, null, null, null);
        while(cur.moveToNext()){
                ora=cur.getLong(cur.getColumnIndex(timeF));
               
        }
        return ora;
}


public String leggi_avviso(){
        Cursor cur=sqlDB.query(tab, null, null, null, null, null, null);
        while(cur.moveToNext()){
                avv=cur.getString(cur.getColumnIndex(Avviso));
                Log.i("Prova", "Avviso:"+avv);
        }
        return avv;
}


public String leggi_evento(){
        Cursor cur=sqlDB.query(tab, null, null, null, null, null, null);
        while(cur.moveToNext()){
                even=cur.getString(cur.getColumnIndex(evento));
                Log.i("Prova", "even:"+even);
        }
        return even;
}       


private class DBHelper extends SQLiteOpenHelper{

               
                public DBHelper(Context context, String name, CursorFactory factory,
                                int version) {
                        super(context, name, factory, version);
                       
                }

                @Override
                public void onCreate(SQLiteDatabase db) {
                        db.execSQL(sql);
                       
                }

                @Override
                public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {


                       
                }
               
        }
}
Grazie in anticipo
Qualsiasi tecnologia sufficientemente avanzata è indistinguibile dalla magia