1 package com.example.furt.myapplication;
3 import android.content.ContentValues;
4 import android.content.Context;
5 import android.database.Cursor;
6 import android.database.sqlite.SQLiteDatabase;
7 import android.database.sqlite.SQLiteOpenHelper;
8 import android.util.Log;
10 import java.sql.Timestamp;
11 import java.util.ArrayList;
12 import java.util.List;
14 import static com.example.furt.myapplication.personalTrackerContract.DATABASE_NAME;
15 import static com.example.furt.myapplication.personalTrackerContract.DATABASE_VERSION;
16 import static com.example.furt.myapplication.personalTrackerContract.esercizi;
17 import static com.example.furt.myapplication.personalTrackerContract.esercizi.COLUMN_CHECK;
18 import static com.example.furt.myapplication.personalTrackerContract.esercizi.COLUMN_CLICK;
19 import static com.example.furt.myapplication.personalTrackerContract.esercizi.COLUMN_ESERCIZIO;
20 import static com.example.furt.myapplication.personalTrackerContract.esercizi.COLUMN_MD5;
21 import static com.example.furt.myapplication.personalTrackerContract.esercizi.COLUMN_TIME;
22 import static com.example.furt.myapplication.personalTrackerContract.esercizi.COLUMN_UTENTE;
23 import static com.example.furt.myapplication.personalTrackerContract.esercizi.SQL_CREATE_ENTRIES;
24 import static com.example.furt.myapplication.personalTrackerContract.esercizi.TABLE_NAME;
28 public class personalDBHelper extends SQLiteOpenHelper{
29 public personalDBHelper(Context context) {
30 super(context, DATABASE_NAME, null, DATABASE_VERSION);
33 public void onCreate(SQLiteDatabase db) {
35 db.execSQL(SQL_CREATE_ENTRIES);
36 Log.e("dphelper", SQL_CREATE_ENTRIES);
39 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
40 // This database is only a cache for online data, so its upgrade policy is
41 // to simply to discard the data and start over
42 db.execSQL(SQL_CREATE_ENTRIES);
46 public void onDowngrade(SQLiteDatabase db, int oldVersion, int newVersion) {
47 onUpgrade(db, oldVersion, newVersion);
50 public void add(String utente, String esercizio, String md5, Double time, int ckick, int check)
52 SQLiteDatabase db=this.getWritableDatabase();
53 ContentValues values=new ContentValues();
54 values.put(COLUMN_MD5,md5);
56 values.put(COLUMN_TIME,(double)time());
58 values.put(COLUMN_TIME,(time));
59 values.put(COLUMN_CHECK,check);
60 values.put(COLUMN_UTENTE,utente);
61 values.put(COLUMN_ESERCIZIO,esercizio);
62 values.put(COLUMN_CLICK, ckick);
63 db.insert(TABLE_NAME, null, values);
67 public void remove(String user, double time)
69 SQLiteDatabase db = this.getWritableDatabase();
70 String request=COLUMN_MD5 + "=? AND " + COLUMN_TIME + "=? AND " + COLUMN_UTENTE + "=?";
71 String[] condition=new String[]{
75 db.delete(TABLE_NAME,request,condition);
79 public static Long time()
81 java.util.Date date= new java.util.Date();
82 Timestamp now=new Timestamp(date.getTime());
86 public void removeAll(){
87 SQLiteDatabase db=this.getWritableDatabase();
88 String request="TRUNCATE "+TABLE_NAME;
91 public List<listElem> getElem(String user)
93 List<listElem> elem=null;
94 SQLiteDatabase db=this.getReadableDatabase();
95 String[] tableColums={
98 esercizi.COLUMN_CLICK,
99 esercizi.COLUMN_ESERCIZIO
101 String whereClause= COLUMN_UTENTE +"=? AND " + COLUMN_CHECK +"=?";
102 String[] whereArgs=new String[]{
103 String.valueOf(user),
106 Cursor cursor=db.query(TABLE_NAME,tableColums,whereClause,whereArgs,null,null,null);
107 if(cursor.moveToFirst()) {
108 elem = new ArrayList<listElem>();
109 listElem el=new listElem();
111 el.setMd5 (cursor.getString(0));
112 el.setTime(cursor.getDouble(1));
113 el.setClick(cursor.getInt(2));
114 el.setEsercizio(cursor.getString(3));
116 }while(cursor.moveToNext());
121 public List<listElem> getElemForName(String user, String esName)
123 List<listElem> elem=null;
124 SQLiteDatabase db=this.getReadableDatabase();
125 String[] tableColums={
127 esercizi.COLUMN_TIME,
128 esercizi.COLUMN_CLICK,
129 esercizi.COLUMN_CHECK
131 String whereClause= COLUMN_UTENTE +"=? AND " + COLUMN_ESERCIZIO +"=? ORDER BY "+COLUMN_CLICK;
132 String[] whereArgs=new String[]{
133 String.valueOf(user),
134 String.valueOf(esName)
136 Cursor cursor=db.query(TABLE_NAME,tableColums,whereClause,whereArgs,null,null,null);
137 if(cursor.moveToFirst()) {
138 elem = new ArrayList<listElem>();
139 listElem el=new listElem();
141 el.setMd5 (cursor.getString(0));
142 el.setTime(cursor.getDouble(1));
143 el.setClick(cursor.getInt(2));
144 el.setCheck(cursor.getInt(3));
146 }while(cursor.moveToNext());
151 public List<listElem> getAllElem(String user)
153 List<listElem> elem=null;
154 SQLiteDatabase db=this.getReadableDatabase();
155 String[] tableColums={
157 esercizi.COLUMN_TIME,
158 esercizi.COLUMN_CLICK,
159 esercizi.COLUMN_ESERCIZIO,
160 esercizi.COLUMN_CHECK
162 String whereClause= COLUMN_UTENTE +"=?";
163 String[] whereArgs=new String[]{
166 Cursor cursor=db.query(TABLE_NAME,tableColums,whereClause,whereArgs,null,null,null);
167 if(cursor.moveToFirst()) {
168 elem = new ArrayList<listElem>();
169 listElem el=new listElem();
171 el.setMd5 (cursor.getString(0));
172 el.setTime(cursor.getDouble(1));
173 el.setClick(cursor.getInt(2));
174 el.setEsercizio(cursor.getString(3));
175 el.setCheck(cursor.getInt(4));
177 }while(cursor.moveToNext());
182 public void updateElem(String md5, String user, double time)
184 SQLiteDatabase db=this.getWritableDatabase();
185 String request="UPDATE "+TABLE_NAME+" set "+COLUMN_CHECK+"=1 WHERE "+COLUMN_UTENTE+"='"+user+"' AND "+COLUMN_MD5+"='"+md5+"' AND "+COLUMN_TIME+"="+time;