Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class DbHelper extends SQLiteOpenHelper{
- // private static final String TAG = DbHelper.class.getSimpleName();
- //declaration of database version
- private static final int DATABASE_VERSION = 1;
- //declare databsse
- private static final String DATABASE_NAME = "salesPortal.db";
- //declare table name
- private static final String TABLE_NAME = "tbl_user";
- //declareing table columns
- private static final String COLUMN_USER_ID ="user_id";
- private static final String COLUMN_NAME_NAME = "user_name";
- private static final String COLUMN_NAME_PASSWORD = "user_password";
- private static final String COLUMN_NAME_EMAIL = "user_email";
- //===========login==================================
- //creating database tables
- private String CREATE_USER_TABLE = "CREATE TABLE " + TABLE_NAME + "("
- + COLUMN_USER_ID + " INTEGER PRIMARY KEY AUTOINCREMENT," + COLUMN_NAME_NAME + " TEXT,"
- + COLUMN_NAME_PASSWORD + " TEXT," + COLUMN_NAME_EMAIL + " TEXT" + ")";
- //if availabele drop the schema
- private String DROP_USER_TABLE = "DROP TABLE IF EXISTS " +TABLE_NAME;
- private Users users;
- /**
- *Constructor
- *
- *@param context
- */
- public DbHelper(Context context){
- super(context, DATABASE_NAME, null, DATABASE_VERSION);
- }
- @Override
- public void onCreate(SQLiteDatabase sqLiteDatabase) {
- //create tb execution method
- sqLiteDatabase.execSQL(CREATE_USER_TABLE);
- sqLiteDatabase.execSQL(CREATE_MILEAGE_TABLE);
- sqLiteDatabase.execSQL(CREATE_SHOPSLIST_TABLE);
- sqLiteDatabase.execSQL(CREATE_STOCK_TABLE);
- Log.e("DATABASE OPERATION","table created successfully");
- }
- @Override
- public void onUpgrade(SQLiteDatabase sqLiteDatabase, int oldVersion, int newVersion) {
- //drop table if availablr execution method
- sqLiteDatabase.execSQL(DROP_USER_TABLE);
- sqLiteDatabase.execSQL(DROP_MILEAGE_TABLE);
- sqLiteDatabase.execSQL(DROP_SALES_TABLE);
- String DROP_STOCK_TABLE = "DROP TABLE IF EXISTS " +tbName ;
- //drop table if available exercuion method
- sqLiteDatabase.execSQL(DROP_STOCK_TABLE);
- //calling on creating method
- onCreate(sqLiteDatabase);
- }
- /**
- * creating user records
- *
- * @param newUser
- */
- public void addUser(Users newUser){
- SQLiteDatabase db = this.getWritableDatabase();
- ContentValues values = new ContentValues();
- values.put(COLUMN_NAME_NAME,newUser.getName());
- values.put(COLUMN_NAME_PASSWORD,newUser.getPassword());
- values.put(COLUMN_NAME_EMAIL,newUser.getEmail());
- db.insert(TABLE_NAME,null,values);
- db.close();
- }
- /**
- * fletch as alist user records
- *
- * @return list
- */
- public List<Users> getUsers() {
- // array of columns to fetch
- String[] columns = {
- COLUMN_USER_ID,
- COLUMN_NAME_EMAIL,
- COLUMN_NAME_NAME,
- COLUMN_NAME_PASSWORD
- };
- // sorting orders
- String sortOrder =
- COLUMN_NAME_NAME + " ASC";
- List<Users> userList = new ArrayList<Users>();
- SQLiteDatabase db = this.getReadableDatabase();
- // query the user table
- /**
- * Here query function is used to fetch records from user table this function works like we use sql query.
- * SQL query equivalent to this query function is
- * SELECT user_id,user_name,user_email,user_password FROM user ORDER BY user_name;
- */
- Cursor cursor = db.query(TABLE_NAME, //Table to query
- columns, //columns to return
- null, //columns for the WHERE clause
- null, //The values for the WHERE clause
- null, //group the rows
- null, //filter by row groups
- sortOrder); //The sort order
- // Traversing through all rows and adding to list
- if (cursor.moveToFirst()) {
- do {
- Users user = new Users();
- user.setUserId(Integer.parseInt(cursor.getString(cursor.getColumnIndex(COLUMN_USER_ID))));
- user.setName(cursor.getString(cursor.getColumnIndex(COLUMN_NAME_NAME)));
- user.setEmail(cursor.getString(cursor.getColumnIndex(COLUMN_NAME_EMAIL)));
- user.setPassword(cursor.getString(cursor.getColumnIndex(COLUMN_NAME_PASSWORD)));
- // Adding user record to list
- userList.add(user);
- } while (cursor.moveToNext());
- }
- cursor.close();
- db.close();
- // return user list
- return userList;
- }
- /**
- * This method to update user record
- *
- * @param users
- */
- public void updateUser(Users users){
- SQLiteDatabase db = this.getWritableDatabase();
- ContentValues values = new ContentValues();
- values.put(COLUMN_NAME_NAME,users.getName());
- values.put(COLUMN_NAME_PASSWORD,users.getPassword());
- values.put(COLUMN_NAME_EMAIL,users.getEmail());
- db.update(TABLE_NAME,values,COLUMN_USER_ID + "=?"
- ,new String[]{String.valueOf(users.getUserId())});
- db.close();
- }
- /**
- * This method is to delete user record
- *
- * @param user
- */
- public boolean deleteUser(Users user){
- SQLiteDatabase db = this.getWritableDatabase();
- db.delete(TABLE_NAME,COLUMN_USER_ID + "=?",
- new String[]{String.valueOf(user.getUserId())});
- db.close();
- return true;
- }
- /**
- * This method to check user exist or not
- *
- * @param email
- * @param password
- * @return true/false
- */
- public Users checkUser(String email,String password){
- Users users =null;
- try {
- SQLiteDatabase db = getReadableDatabase();
- Cursor cursor = db.rawQuery("SELECT * FROM " + TABLE_NAME + " WHERE user_email = ? AND user_password = ?" ,new String[]{email,password} );
- if (cursor.moveToFirst()){
- users = new Users();
- users.setUserId(cursor.getInt(0));
- users.setName(cursor.getString(1));
- users.setPassword(cursor.getString(2));
- users.setEmail(cursor.getString(3));
- }
- }catch (Exception e){
- users=null;
- }
- return users;
- }
- public boolean checkUser(String email) {
- // array of columns to fetch
- String[] columns = {
- COLUMN_USER_ID
- };
- SQLiteDatabase db = this.getReadableDatabase();
- // selection criteria
- String selection = COLUMN_NAME_EMAIL + " = ?";
- // selection argument
- String[] selectionArgs = {email};
- // query user table with condition
- /**
- *
- */
- Cursor cursor = db.query(TABLE_NAME,columns,selection, selectionArgs,null,null,null);
- int cursorCount = cursor.getCount();
- cursor.close();
- db.close();
- if (cursorCount > 0) {
- return true;
- }
- return false;
- }
- public boolean checkWithOldPassword(String OldPassword) {
- // array of columns to fetch
- String[] columns = {
- COLUMN_USER_ID
- };
- SQLiteDatabase db = this.getReadableDatabase();
- // selection criteria
- String selection = COLUMN_NAME_PASSWORD + " = ?";
- // selection argument
- String[] selectionArgs = {OldPassword};
- // query user table with condition
- /**
- *
- */
- Cursor cursor = db.query(TABLE_NAME,columns,selection, selectionArgs,null,null,null);
- int cursorCount = cursor.getCount();
- cursor.close();
- db.close();
- if (cursorCount > 0) {
- return true;
- }
- return false;
- }
- public class LoginActivity extends AppCompatActivity implements
- View.OnClickListener{
- private final AppCompatActivity activity = LoginActivity.this;
- private RelativeLayout relativeLayout;
- private TextInputLayout textInputLayoutEmail;
- private TextInputLayout textInputLayoutPassword;
- private TextInputEditText textInputEditTextEmail;
- private TextInputEditText textInputEditTextPassword;
- private AppCompatButton appCompatButtonLogin;
- private AppCompatTextView textViewLinkRegister;
- private Validation validations;
- private DbHelper dbHelper;
- private Users users;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_login);
- initViews();
- initListeners();
- initObjects();
- }
- //intializing all objects that are used on application login
- private void initObjects() {
- dbHelper = new DbHelper(activity);
- validations = new Validation(activity);
- users = new Users();
- }
- //intializing all listerners
- private void initListeners() {
- appCompatButtonLogin.setOnClickListener(this);
- textViewLinkRegister.setOnClickListener(this);
- }
- //intializing all views on login
- private void initViews() {
- relativeLayout = findViewById(R.id.relativeLayout);
- textInputLayoutEmail = findViewById(R.id.textInputLayoutEmail);
- textInputLayoutPassword = findViewById(R.id.textInputLayoutPassword);
- textInputEditTextPassword = findViewById(R.id.textInputEditTextPassword);
- textInputEditTextEmail = findViewById(R.id.textInputEditTextEmail);
- appCompatButtonLogin = findViewById(R.id.appCompatButtonLogin);
- textViewLinkRegister = findViewById(R.id.textViewLinkRegister);
- }
- /**
- * implemetation of listerners of all views
- *
- * @param view
- */
- @Override
- public void onClick(View view) {
- switch (view.getId()){
- case R.id.appCompatButtonLogin : verifyFromSQLite();
- break;
- case R.id.textViewLinkRegister :Intent intentReg = new Intent(getApplicationContext(),RegisterActivity.class);
- startActivity(intentReg);
- break;
- }
- }
- /**
- * verify all input textfields and verify credentials
- */
- public Boolean verifyFromSQLite() {
- if(!validations.isInputEditTextFilled(textInputEditTextEmail,textInputLayoutEmail,getString(R.string.error_message_email))){
- return false;
- }
- if(!validations.isTextEmailEmpty(textInputEditTextEmail,textInputLayoutEmail,getString(R.string.error_message_email))){
- return false;
- }
- if ((!validations.isInputEditTextFilled(textInputEditTextPassword,textInputLayoutPassword,getString(R.string.error_message_password)))){
- return false;
- }
- Users users = dbHelper.checkUser(textInputEditTextEmail.getText().toString().trim(),textInputEditTextPassword.getText().toString().trim());
- // if (dbHelper.checkUser(textInputEditTextEmail.getText().toString().trim()
- //, textInputEditTextPassword.getText().toString().trim())) {
- if(users ==null){
- //snack bar to show success message that record is wrong
- Snackbar.make(relativeLayout,getString(R.string.error_valid_email_password),Snackbar.LENGTH_LONG).show();
- }
- else{
- Intent accintent = new Intent(activity,MainMenuActivity.class);
- accintent.putExtra("EMAIL",textInputEditTextEmail.getText().toString().trim());
- emptyInputTextFields();
- startActivity(accintent);
- finish();
- return true;
- }
- return true;
- }
- private void emptyInputTextFields() {
- textInputEditTextEmail.setText(null);
- textInputEditTextPassword.setText(null);
- }
- public class UserProfileActivity extends AppCompatActivity implements View.OnClickListener {
- private final AppCompatActivity activity = UserProfileActivity.this;
- private RelativeLayout relativeLayout;
- private TextInputLayout textInputLayoutNameP;
- private TextInputLayout textInputLayoutOldPass;
- private TextInputLayout textInputLayoutNewPasswordP;
- private TextInputLayout textInputLayoutConfirmPassword;
- private TextInputEditText textInputEditTextNameP;
- private TextInputEditText textInputEditTextOldPass;
- private TextInputEditText textInputEditTextNewPasswordP;
- private TextInputEditText textInputEditTextConfirmNewPassword;
- private Validation validation;
- private DbHelper dbHelper;
- private Users users;
- private AppCompatButton appCompatButtonUPDATE,appCompatButtonDELETE;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_user_profile);
- initViews();
- initListeners();
- initObjects();
- loadData();
- }
- private void initViews() {
- relativeLayout = findViewById(R.id.relativeLayout);
- textInputLayoutNameP = findViewById(R.id.textInputLayoutNameP);
- textInputLayoutOldPass = findViewById(R.id.textInputLayoutOldPass);
- textInputLayoutNewPasswordP = findViewById(R.id.textInputLayoutNewPasswordP);
- textInputLayoutConfirmPassword = findViewById(R.id.textInputLayoutConfirmPassword);
- textInputEditTextNameP = findViewById(R.id.textInputEditTextNameP);
- textInputEditTextNewPasswordP = findViewById(R.id.textInputEditTextNewPasswordP);
- textInputEditTextOldPass = findViewById(R.id.textInputEditTextOldPass);
- textInputEditTextConfirmNewPassword = findViewById(R.id.textInputEditTextConfirmPassword);
- appCompatButtonDELETE = findViewById(R.id.appCompatButtonDELETE);
- appCompatButtonUPDATE = findViewById(R.id.appCompatButtonUPDATE);
- }
- private void initListeners() {
- appCompatButtonDELETE.setOnClickListener(this);
- appCompatButtonUPDATE.setOnClickListener(this);
- }
- private void initObjects() {
- dbHelper = new DbHelper(activity);
- validation = new Validation(activity);
- users = new Users();
- }
- @Override
- public void onClick(View v) {
- switch (v.getId()){
- case R.id.appCompatButtonUPDATE : updateMethod();
- break;
- case R.id.appCompatButtonDELETE : deleteMethod();
- //Intent intent =new Intent(getApplicationContext(),LoginActivity.class);
- //startActivity(intent);
- // break;
- }
- }
- private void loadData(){
- Intent intent = getIntent();
- users = (Users) intent.getSerializableExtra("user");
- textInputEditTextNameP.setText(users.getName());
- }
- private boolean updateMethod(){
- if(!validation.isInputEditTextFilled(textInputEditTextNameP,textInputLayoutNameP,getString(R.string.error_message_email))){
- return false;
- }
- if(!validation.isTextFiledsMatches(textInputEditTextNewPasswordP,textInputEditTextConfirmNewPassword,textInputLayoutConfirmPassword,getString(R.string.error_password_match))){
- return false;
- }
- if(dbHelper.checkWithOldPassword(textInputEditTextOldPass.getText().toString().trim())){
- users.setName(textInputEditTextNameP.getText().toString().trim());
- //users.setEmail(textInputEditTextEmail.getText().toString().trim());
- users.setPassword(textInputEditTextNewPasswordP.getText().toString().trim());
- dbHelper.updateUser(users);
- Snackbar.make(relativeLayout, getString(R.string.profile_update), Snackbar.LENGTH_LONG).show();
- return true;
- }
- else
- {
- Snackbar.make(relativeLayout, getString(R.string.error_oldPassword), Snackbar.LENGTH_LONG).show();
- return false;
- }
- }
- private void deleteMethod() {
- dbHelper.deleteUser(users);
- Snackbar.make(relativeLayout,"USER DELETED", Snackbar.LENGTH_LONG).show();
- }
- public class Users implements Serializable {
- private static int userId;
- private static String name;
- private static String password;
- private static String email;
Add Comment
Please, Sign In to add comment