Android Open Source - AndroidLibraryProject User Info Db Helper






From Project

Back to project page AndroidLibraryProject.

License

The source code is released under:

Apache License

If you think the Android project AndroidLibraryProject listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

/*****************************************************************
 * Copyright (c) 2013 by CDAC Chennai /*  w w w. j  a v a  2s .  co  m*/
 * @File        UserInfoDbHelper
 * @Created:    06.06.2014
 * @author:     Prasenjit
 * Last Change: 06.06.2014 by Prasenjit
 ******************************************************************/
package com.contextawareframework.dbmanager;

import java.security.Principal;
import java.util.ArrayList;
import java.util.List;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.util.Log;

import com.contextawareframework.globalvariable.CAFConfig;
import com.contextawareframework.os.UserInfo;

/**
 * This is a database helper class for all CRUD operation on User information.
 */
public class  UserInfoDbHelper{

  // Database fields
  private SQLiteDatabase database;
  private ContextAwareSQLiteHelper dbHelper;
  private static UserInfoDbHelper userInfoDbHelper;
  private static boolean enableDebugging = CAFConfig.isEnableDebugging();
  private String TAG =  "UserInfoDbHelper" ;
  
  private String[] allColumns = { ContextAwareSQLiteHelper.COLUMN_USER_EMAIL,
      ContextAwareSQLiteHelper.COLUMN_USER_ID, ContextAwareSQLiteHelper.COLUMN_DEV_EMAIL, ContextAwareSQLiteHelper.COLUMN_DEVICE_ID, ContextAwareSQLiteHelper.COLUMN_APP_ID
  };
  
  /**
   * Default Constructor
   */
  private UserInfoDbHelper(Context context) {
    dbHelper = new ContextAwareSQLiteHelper(context);
  }

  public static synchronized UserInfoDbHelper getInstance(Context context)
  {
    if (userInfoDbHelper == null)
      userInfoDbHelper = new UserInfoDbHelper(context);

    return userInfoDbHelper;
  }
  /**
   * Method to enable debugging
   * @param boolean
   */
  public void setEnableDebugging(boolean value)
  {
    enableDebugging = value;
  }

  /**
   * Method to get the present value of enableDebugging
   * @return boolean
   */
  public boolean getEnableDebugging()
  {
    return enableDebugging;
  }

  /**
   * Method to open the database for writing
   */
  public void open() throws SQLException {
    database = dbHelper.getWritableDatabase();
  }
  /**
   * Method to open the database in read only mode 
   */
  public void openReadOnly()
  {
    try
    {
      database = dbHelper.getReadableDatabase();
    }
    catch(SQLException e)
    {
      e.printStackTrace();
    }
  }
  /**
   * Method to close the database connection
   */
  public void close() {
    dbHelper.close();
  }
  
  /**
   * Method to create insert a row of data into the database
   */
  public UserInfo createUserInfoRowData(String userEmail,String userId, String devEmail, String deviceId,String appId){
    ContentValues values = new ContentValues();
    UserInfo newRow = null;
    try
    {
      values.put(ContextAwareSQLiteHelper.COLUMN_USER_EMAIL, userEmail);
      values.put(ContextAwareSQLiteHelper.COLUMN_USER_ID,userId);
      values.put(ContextAwareSQLiteHelper.COLUMN_DEV_EMAIL, devEmail);
      values.put(ContextAwareSQLiteHelper.COLUMN_DEVICE_ID, deviceId);
      values.put(ContextAwareSQLiteHelper.COLUMN_APP_ID, appId);
      values.put(ContextAwareSQLiteHelper.COLUMN_USER_AUTH_STATUS, "false");
      long insertId = database.insert(ContextAwareSQLiteHelper.TABLE_USERINFO, null,
          values);
      Cursor cursor = database.query(ContextAwareSQLiteHelper.TABLE_USERINFO,
          allColumns, ContextAwareSQLiteHelper.COLUMN_USER_ID + " = " + insertId, null,
          null, null, null);
      cursor.moveToFirst();
      newRow = getUserDetails(cursor);
      cursor.close();
      if(enableDebugging)
      {
        Log.d(TAG,"createUserInfoRowData Method");
      }
    }
    catch(SQLException e)
    {
      e.printStackTrace();
    }
    catch(Exception e)
    {
      e.printStackTrace();
    }
    return newRow;
  }

  /**
   * Method to delete a row from database 
   */
  public void deleteUserInfoRowData(UserInfo userInfo) {
    try{
      String id = userInfo.getUserId();
      System.out.println("Comment deleted with id: " + id);
      database.delete(ContextAwareSQLiteHelper.TABLE_USERINFO, ContextAwareSQLiteHelper.COLUMN_USER_ID
          + " = " + id, null);
    }
    catch(SQLException e)
    {
      e.printStackTrace();
    }
    catch(Exception e)
    {
      e.printStackTrace();
    }
  }
  /**
   * Method to list all row of the UserInfo table
   */
  public List<UserInfo> getAllRows() {
    List<UserInfo> comments = new ArrayList<UserInfo>();
    try
    {
      Cursor cursor = database.query(ContextAwareSQLiteHelper.TABLE_USERINFO,
          allColumns, null, null, null, null, null);

      cursor.moveToFirst();
      while (!cursor.isAfterLast()) {
        UserInfo userinfo = getUserDetails(cursor);
        comments.add(userinfo);
        cursor.moveToNext();
      }
      // Make sure to close the cursor
      cursor.close();
    }
    catch(SQLException e)
    {
      e.printStackTrace();
    }
    catch(Exception e)
    {
      e.printStackTrace();      
    }
    return comments;
  }
  /**
   * Method to intialize a UserInfo POJO object
   */
  private UserInfo getUserDetails(Cursor cursor) {
    UserInfo userinfo = new UserInfo();
    try
    {
      userinfo.setUserEmailId(cursor.getString(0));
      userinfo.setDeveloperEmail(cursor.getString(1));
      userinfo.setDeviceId(cursor.getString(2));
      userinfo.setUserId(cursor.getString(3));
      userinfo.setAppId(cursor.getString(4));
      userinfo.setAuthenticatedUser(false);
    }
    catch(Exception e)
    {
      e.printStackTrace();
    }
    return userinfo;
  }
}




Java Source Code List

.BatteryDbHelper.java
.Bluetooth.java
.Camera.java
.Gravity.java
.Humidity.java
.Microphone.java
.NFC.java
.Orientation.java
.Pressure.java
.SDCard.java
.Telephony.java
.Temparature.java
.USB.java
.Wifi.java
com.contextawareframework.backgroundservices.AccelerometerDataListener.java
com.contextawareframework.backgroundservices.BatteryDataService.java
com.contextawareframework.backgroundservices.CAFService.java
com.contextawareframework.backgroundservices.GPSTracker.java
com.contextawareframework.backgroundservices.GyroscopeDataListener.java
com.contextawareframework.backgroundservices.LightDataListener.java
com.contextawareframework.backgroundservices.LocationDataListener.java
com.contextawareframework.backgroundservices.MagnetometerDataListener.java
com.contextawareframework.backgroundservices.ProximityDataListener.java
com.contextawareframework.backgroundservices.SoundRecorder.java
com.contextawareframework.backgroundservices.Text2Speech.java
com.contextawareframework.contextawarefunctions.ContextAwareFunction.java
com.contextawareframework.controller.BatteryController.java
com.contextawareframework.controller.SensorController.java
com.contextawareframework.dataanalysis.AccelerometerDataAnalysis.java
com.contextawareframework.dataanalysis.ApplicationDataAnalysis.java
com.contextawareframework.dataanalysis.LocationDataAnalysis.java
com.contextawareframework.dbmanager.AccelerometerDbHelper.java
com.contextawareframework.dbmanager.ContextAwareSQLiteHelper.java
com.contextawareframework.dbmanager.GyroscopeDbHelper.java
com.contextawareframework.dbmanager.LightDbHelper.java
com.contextawareframework.dbmanager.LocationDbHelper.java
com.contextawareframework.dbmanager.MagnetometerDbHelper.java
com.contextawareframework.dbmanager.ProximityDbHelper.java
com.contextawareframework.dbmanager.UserInfoDbHelper.java
com.contextawareframework.exceptions.AccelerometerSensorException.java
com.contextawareframework.exceptions.BatteryException.java
com.contextawareframework.exceptions.CAFException.java
com.contextawareframework.exceptions.GyrometerSensorException.java
com.contextawareframework.exceptions.LightSensorException.java
com.contextawareframework.exceptions.LocationServiceException.java
com.contextawareframework.exceptions.MagnetometerSensorException.java
com.contextawareframework.exceptions.ProximitySensorException.java
com.contextawareframework.exceptions.SDCardException.java
com.contextawareframework.exceptions.SQLiteQueryException.java
com.contextawareframework.exceptions.SensorException.java
com.contextawareframework.globalvariable.CAFConfig.java
com.contextawareframework.notificationservice.IssueNotification.java
com.contextawareframework.os.Battery.java
com.contextawareframework.os.CAFPowerManager.java
com.contextawareframework.os.UserInfo.java
com.contextawareframework.probe.Probe.java
com.contextawareframework.probe.WfiProbe.java
com.contextawareframework.querymodule.BaseQueryClass.java
com.contextawareframework.querymodule.DeveloperInfo.java
com.contextawareframework.querymodule.UserIdentification.java
com.contextawareframework.security.FileEncryptor.java
com.contextawareframework.security.JavaDESEncryption.java
com.contextawareframework.sensorlistener.BatteryListener.java
com.contextawareframework.sensorlistener.SensorListener.java
com.contextawareframework.sensors.environmentsensors.Light.java
com.contextawareframework.sensors.motionsensors.Accelerometer.java
com.contextawareframework.sensors.motionsensors.Gyrometer.java
com.contextawareframework.sensors.positionsensors.LocationPojo.java
com.contextawareframework.sensors.positionsensors.Magnetometer.java
com.contextawareframework.sensors.positionsensors.Proximity.java
com.contextawareframework.uploadmanager.BackupDb.java
com.contextawareframework.uploadmanager.UploadScheduler.java
com.contextawareframework.uploadmanager.UploadToServer.java
com.contextawareframework.utility.CsvFileWriter.java
com.example.frameworktestcase.FrameworkFunctionalTestActivity.java
com.example.frameworktestcase.MainActivity.java
com.example.frameworktestcase.SecondActivity.java
com.example.frameworktestcase.Singleton.java