amitk10

sqlite - tasks app

Feb 7th, 2017
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 8.73 KB | None | 0 0
  1. sqliteDb.java
  2. =========================================
  3. package comq.example.amitk.a1_2_sampleapp_home.databases;
  4.  
  5. import android.content.ContentValues;
  6. import android.content.Context;
  7. import android.database.Cursor;
  8. import android.database.SQLException;
  9. import android.database.sqlite.SQLiteDatabase;
  10. import android.database.sqlite.SQLiteOpenHelper;
  11. import android.util.Log;
  12.  
  13. import comq.example.amitk.a1_2_sampleapp_home.databases.models.taskDetalis;
  14. import comq.example.amitk.a1_2_sampleapp_home.databases.models.userDetails;
  15.  
  16.  
  17.  
  18. public class sqliteDb extends SQLiteOpenHelper {
  19.  
  20.  
  21. // Logcat tag
  22.     private static final String TAG= "sqliteDatabaseHelper";
  23.  
  24.     // Database Version
  25.     public static final int DATABASE_VERSION = 1;
  26.  
  27.     // Database Name
  28.     public static final String DATABASE_NAME = "taskApp.db";
  29.  
  30.     SQLiteDatabase db;
  31.     Context context;
  32.  
  33.     // Table Names
  34.     private static final String TABLE_USERS = "users";
  35.     private static final String TABLE_TASKS = "tasks";
  36.     private static final String TABLE_USER_TASK = "users_task";
  37.  
  38.     private static final String KEY_ID = "id";
  39.  
  40.     // Users Table - column names
  41.     private static final String USERNAME="UserName";
  42.     private static final String PASSWORD="password";
  43.     private static final String EMAIL="email";
  44.     private static final String NAME="name";
  45.     private static final String GENDER="gender";
  46.     private static final String COUNTRY="country";
  47.     private static final String PHOTO="photo";
  48.  
  49.  
  50.     // Task Table - column names
  51.  
  52.     private static final String TASKNAME = "task_name";
  53.     private static final String TASKDETALIS= "task_detalis";
  54.     private static final String TASKSTARTDATE="task_start_date";
  55.     private static final String TASKSTARTHOURE="task_start_hour";
  56.     private static final String TASKSESTIMATEDENDDATE="task_estimated_end_date";
  57.     private static final String TASKSESTIMATEDENDHOUR="task_estimated_end_hour";
  58.     private static final String TASKENDDATE="task_end_date";
  59.     private static final String TASKENDHOUR="task_end_hour";
  60.     private static final String ISTASKDONE="is_task_done";
  61.  
  62.     // user_task Table - column names
  63.     private static final String KEY_USER_ID = "user_id";
  64.     private static final String KEY_TASK_ID = "task_id";
  65.  
  66.     // Table users Create Statements
  67.     private static final String CREATE_TABLE_USERS = "CREATE TABLE IF NOT EXISTS "
  68.             + TABLE_USERS + "(" + KEY_ID + " INTEGER PRIMARY KEY," + USERNAME
  69.             + " TEXT," + PASSWORD + " TEXT," + EMAIL
  70.             + " TEXT," + NAME + " TEXT," + GENDER
  71.             + " TEXT," + COUNTRY + " TEXT," + PHOTO
  72.             + " BLOB"+ ")";
  73.  
  74.     // TASK table create statement
  75.  
  76.     private static final String CREATE_TABLE_TASKS = "CREATE TABLE IF NOT EXISTS " + TABLE_TASKS
  77.             + "(" + KEY_ID + " INTEGER PRIMARY KEY," + USERNAME + " TEXT,"+ TASKNAME + " TEXT,"
  78.             + TASKDETALIS + " TEXT," + TASKSTARTDATE + " DATETIME," + TASKSESTIMATEDENDDATE + " DATETIME,"
  79.              + TASKENDDATE + " DATETIME,"+ ISTASKDONE + " INTEGER" + ")";
  80.  
  81.  //constructor
  82. public sqliteDb(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
  83.         super(context, DATABASE_NAME, null, DATABASE_VERSION);
  84.         this.context=context;
  85.         this.db=getWritableDatabase();
  86.     }
  87.  
  88.  
  89.     @Override
  90.     public void onCreate(SQLiteDatabase db) {
  91.  
  92.         db.execSQL(CREATE_TABLE_USERS);
  93.         db.execSQL(CREATE_TABLE_TASKS);
  94.  
  95.         Log.e(TAG,"tables\n"+"users:"+CREATE_TABLE_USERS+"\ntasks:"+CREATE_TABLE_TASKS);
  96.     }
  97.  
  98.     @Override
  99.     public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
  100.  
  101.         db.execSQL("DROP TABLE IF EXISTS " + TABLE_USERS);
  102.         db.execSQL("DROP TABLE IF EXISTS " + TABLE_TASKS);
  103.  
  104.         // create new tables
  105.         onCreate(db);
  106.     }
  107.  
  108.     //*****************************************users*****************************************************************//
  109.  
  110.     //check if user exists
  111.     public boolean checkUser(String username) throws SQLException {
  112.         Cursor c = db.rawQuery("SELECT * FROM "+TABLE_USERS+" WHERE "+USERNAME+ "= '" + username + "'", null);
  113.         if (c.getCount() > 0) {
  114.             return true;
  115.         }
  116.         else{
  117.             return  false;
  118.         }
  119.     }
  120.  
  121.     //check if email already exists
  122.     public boolean checkEmail(String email) throws SQLException {
  123.         Cursor c = db.rawQuery("SELECT * FROM "+TABLE_USERS+" WHERE "+EMAIL+ " = '" + email + "'", null);
  124.         if (c.getCount() > 0) {
  125.             return true;
  126.         }
  127.         else{
  128.             return  false;
  129.         }
  130.     }
  131.  
  132.     //get password for given user
  133.     public String getPassword(String userName)
  134.     {
  135.         Cursor cursor=db.query(TABLE_USERS, null, " userName=?", new String[]{userName}, null, null, null);
  136.  
  137.         cursor.moveToFirst();
  138.         String password= cursor.getString(cursor.getColumnIndex(PASSWORD));
  139.         cursor.close();
  140.         return password;
  141.     }
  142.  
  143.     public void addUser(userDetails u)
  144.     {
  145.         try {
  146.  
  147.             ContentValues values = new ContentValues();
  148.             values.put(USERNAME,u.getUsername());
  149.             values.put(EMAIL,u.getMail());
  150.             values.put(PASSWORD,u.getPassword());
  151.  
  152.             db.insert(TABLE_USERS,null,values);
  153.  
  154.         } catch (Exception e) {
  155.             Log.e(TAG, e.getMessage().toString());
  156.         }
  157.  
  158.  
  159.     }
  160.  
  161.     //*****************************************tasks*****************************************************************//
  162.  
  163.     public boolean checkTaskName(String taskName) throws SQLException {
  164.         Cursor c = db.rawQuery("SELECT * FROM "+TABLE_TASKS+" WHERE "+TASKNAME+ "= '" + taskName + "'", null);
  165.         if (c.getCount() > 0) {
  166.             return true;
  167.         }
  168.         else{
  169.             return  false;
  170.         }
  171.     }
  172.       public void addTask(taskDetalis t)
  173.       {
  174.         try {
  175.             ContentValues values = new ContentValues();
  176.             values.put(USERNAME,t.getUserName());
  177.             values.put(TASKNAME,t.getTaskName());
  178.             values.put(TASKDETALIS,t.getTaskDetalis());
  179.             values.put(TASKSTARTDATE, String.valueOf(t.getStartDate()));
  180.             values.put(TASKSESTIMATEDENDDATE, String.valueOf(t.getEstimatedEndDate()));
  181.             values.put(TASKENDDATE, String.valueOf(t.getEndDate()));
  182.             values.put(ISTASKDONE, (t.isTaskDone())? 1 : 0);
  183.  
  184.             db.insert(TABLE_TASKS,null,values);
  185.  
  186.         } catch (Exception e) {
  187.             Log.e(TAG, e.getMessage().toString());
  188.         }
  189.     }
  190.  
  191. //    get all task for a given user
  192.     public Cursor getAllTasksForUser(String userName)
  193.     {
  194.         String query="SELECT * FROM "+TABLE_TASKS+" WHERE "+USERNAME+ "= '" + userName + "'";
  195.         Cursor cursor=db.rawQuery(query,null);
  196.         return cursor;
  197.     }
  198.  
  199.  
  200.     public Cursor getFinishedTasksForUser(String userName,int status)
  201.     {
  202.         String query="SELECT * FROM "+TABLE_TASKS+" WHERE "+USERNAME+ "= '" + userName + "'"+" AND "+ISTASKDONE+" = "+ status;
  203.         Cursor cursor=db.rawQuery(query,null);
  204.         return cursor;
  205.     }
  206.     //get current task
  207.     public Cursor getCurrentTasksForUser(String userName,int status)
  208.     {
  209.         String query="SELECT * FROM "+TABLE_TASKS+" WHERE "+USERNAME+ "= '" + userName + "'"+" AND "+ISTASKDONE+" = "+ status;
  210.         Cursor cursor=db.rawQuery(query,null);
  211.         return cursor;
  212.     }
  213.  
  214.     public Cursor getTasksByDate(String userName)
  215.     {
  216.         String query="SELECT * FROM "+TABLE_TASKS+" WHERE "+USERNAME+ "= '" + userName + "'"+" ORDER BY "+ TASKSTARTDATE +" ASC";
  217.         Cursor cursor=db.rawQuery(query,null);
  218.         return cursor;
  219.     }
  220.     public void updateTaskFinish(String taskName){
  221.         String query="UPDATE "+TABLE_TASKS+" SET "+ISTASKDONE+ " = "+ 1 +" WHERE "+TASKNAME+ "= '" + taskName + "'";
  222.         db.execSQL(query);
  223.         db.close();
  224.     }
  225.     public void updateTaskResume(String taskName){
  226.         String query="UPDATE "+TABLE_TASKS+" SET "+ISTASKDONE+ " = "+ 0 +" WHERE "+TASKNAME+ "= '" + taskName + "'";
  227.         db.execSQL(query);
  228.         db.close();
  229.     }
  230.  
  231.     public void updateTaskEndDate(String taskName, String  endDate){
  232.         String query="UPDATE "+TABLE_TASKS+" SET "+TASKENDDATE+ " = "+ endDate +" WHERE "+TASKNAME+ "= '" + taskName + "'";
  233.         db.execSQL(query);
  234.         db.close();
  235.     }
  236.  
  237.     public void deleteTask(String taskName) {
  238.         db.delete(TABLE_TASKS, TASKNAME + " = ?",
  239.                 new String[] { taskName});
  240.         db.close();
  241.     }
  242.     public void removeAllTasks(String userName)
  243.     {
  244.         String query = "delete from "+TABLE_TASKS+" WHERE "+USERNAME+ "= '" + userName + "'";
  245.         db.execSQL(query);
  246.         db.close();
  247.     }
  248.  
  249.  
  250. }
Add Comment
Please, Sign In to add comment