JavascriptProva

domenica 16 ottobre 2016

Presentazione dei risultati

Ma mi conviene davvero creare una ListView, per quattro caselle di testo?
Certo che no!
Sebbene abbia bisogno di ripassare le ListViews, meglio usare una soluzione più pratica.

Interrompo la pratica cervellotica del ripasso delle ListViews e vado a fare ciò che è più breve...

Ho disposto 4 TextView in colonna, soluzione decorosissima che mi consente anche di colorarle con maggiore facilità, anzi quasi quasi le coloro subito.
Fatto.


Ora veniamo alla parte più difficile.
Devo creare una query con dei limiti alla ricerca.
Questi limiti dovranno essere espressi come Long.
O convertiti in Long entro la funzione stessa.
Facciamo che vengono forniti come stringhe...

Funziona con questa funzione di Helper:
    public Cursor query(String minimum){
        SQLiteDatabase db=this.getWritableDatabase();
        SimpleDateFormat sdf=new SimpleDateFormat("dddd/MM/yyyy");
        Date d;
        Cursor crs;
        Long numero=0l;
        try{
            d=sdf.parse(minimum);
            numero=d.getTime();
        }catch(Exception e){}
        crs=db.rawQuery("select* from tabella where data >"+numero,null);
        crs.moveToFirst();
        return crs;
    }

Ora faccio una simulazione più aderente alla realtà, modifico il codice artificiale che mi simula l'uso dell'applicazione.
In Seconda:
                Record record;
                Date dat;
                Long n=0l;
                String[] str={"10/10/2016","10/10/2016","9/10/2016","8/10/2016","8/10/2016", "7/10/2016"};
                String[] tipi={"NUNI", "NUNI", "UNI", "UI", "UI", "NUI"};
                for(int i=0;i<4;i++) {
                    SimpleDateFormat sdf = new SimpleDateFormat("dddd/MM/yyyy");
                    try {
                        dat = sdf.parse(str[i]);
                        n = dat.getTime();
                    } catch (Exception e) {
                    }
                    record = new Record(tipi[i], n);
                    helper.save(record);
                }



Ecco il risultato finale:
public class DataReader extends AppCompatActivity {

    int NUNI,UNI,UI,NUI;
    Helper helper;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_data_reader);
        helper=new Helper(this);

        String minimum="8/10/2016";
        String maximum="10/10/2016";
        Cursor crs=helper.query("NUNI",minimum,maximum);
        crs.moveToFirst();
        NUNI=crs.getCount();
        System.out.println("NUNI "+NUNI);

        crs=helper.query("UNI",minimum,maximum);
        crs.moveToFirst();
        UNI=crs.getCount();
        System.out.println("UNI "+UNI);

        crs=helper.query("UI",minimum,maximum);
        crs.moveToFirst();
        UI=crs.getCount();
        System.out.println("UI "+UI);

        crs=helper.query("NUI",minimum,maximum);
        crs.moveToFirst();
        NUI=crs.getCount();
        System.out.println("NUI "+NUI);

    }


}
con il quale vengono contate le varie opzioni.

Nessun commento:

Posta un commento