Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.delaroystudios.sqlitelogin.activities;
- import android.os.Bundle;
- import android.support.v7.app.AppCompatActivity;
- import android.widget.TextView;
- import com.delaroystudios.sqlitelogin.R;
- public class UsersActivity extends AppCompatActivity {
- private TextView textViewName;
- @Override
- protected void onCreate(Bundle savedInstanceState){
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_users);
- textViewName = (TextView) findViewById(R.id.text1);
- String nameFromIntent = getIntent().getStringExtra("NAME");
- textViewName.setText("Welcome " + nameFromIntent);
- }
- }
- LoginActivity.java
- package com.delaroystudios.sqlitelogin.activities;
- import android.content.Intent;
- import android.support.design.widget.Snackbar;
- import android.support.design.widget.TextInputEditText;
- import android.support.design.widget.TextInputLayout;
- import android.support.v4.widget.NestedScrollView;
- import android.support.v7.app.AppCompatActivity;
- import android.os.Bundle;
- import android.support.v7.widget.AppCompatButton;
- import android.support.v7.widget.AppCompatTextView;
- import android.view.View;
- import com.delaroystudios.sqlitelogin.R;
- import com.delaroystudios.sqlitelogin.helper.InputValidation;
- import com.delaroystudios.sqlitelogin.sql.DatabaseHelper;
- public class LoginActivity extends AppCompatActivity implements View.OnClickListener {
- private final AppCompatActivity activity = LoginActivity.this;
- private NestedScrollView nestedScrollView;
- private TextInputLayout textInputLayoutEmail;
- private TextInputLayout textInputLayoutPassword;
- private TextInputEditText textInputEditTextEmail;
- private TextInputEditText textInputEditTextPassword;
- private AppCompatButton appCompatButtonLogin;
- private AppCompatTextView textViewLinkRegister;
- private InputValidation inputValidation;
- private DatabaseHelper databaseHelper;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_login);
- getSupportActionBar().hide();
- initViews();
- initListeners();
- initObjects();
- }
- private void initViews(){
- nestedScrollView = (NestedScrollView) findViewById(R.id.nestedScrollView);
- textInputLayoutEmail = (TextInputLayout) findViewById(R.id.textInputLayoutEmail);
- textInputLayoutPassword = (TextInputLayout) findViewById(R.id.textInputLayoutPassword);
- textInputEditTextEmail = (TextInputEditText) findViewById(R.id.textInputEditTextEmail);
- textInputEditTextPassword = (TextInputEditText) findViewById(R.id.textInputEditTextPassword);
- appCompatButtonLogin = (AppCompatButton) findViewById(R.id.appCompatButtonLogin);
- textViewLinkRegister = (AppCompatTextView) findViewById(R.id.textViewLinkRegister);
- }
- private void initListeners(){
- appCompatButtonLogin.setOnClickListener(this);
- textViewLinkRegister.setOnClickListener(this);
- }
- private void initObjects(){
- databaseHelper = new DatabaseHelper(activity);
- inputValidation = new InputValidation(activity);
- }
- @Override
- public void onClick(View v){
- switch (v.getId()){
- case R.id.appCompatButtonLogin:
- verifyFromSQLite();
- break;
- case R.id.textViewLinkRegister:
- Intent intentRegister = new Intent(getApplicationContext(), RegisterActivity.class);
- startActivity(intentRegister);
- break;
- }
- }
- private void verifyFromSQLite(){
- if (!inputValidation.isInputEditTextFilled(textInputEditTextEmail, textInputLayoutEmail, getString(R.string.error_message_email))) {
- return;
- }
- if (!inputValidation.isInputEditTextEmail(textInputEditTextEmail, textInputLayoutEmail, getString(R.string.error_message_email))) {
- return;
- }
- if (!inputValidation.isInputEditTextFilled(textInputEditTextPassword, textInputLayoutPassword, getString(R.string.error_message_email))) {
- return;
- }
- if (databaseHelper.checkUser(textInputEditTextEmail.getText().toString().trim()
- , textInputEditTextPassword.getText().toString().trim())) {
- Intent accountsIntent = new Intent(activity, UsersActivity.class);
- accountsIntent.putExtra("EMAIL", textInputEditTextEmail.getText().toString().trim());
- emptyInputEditText();
- startActivity(accountsIntent);
- }
- else {
- Snackbar.make(nestedScrollView, getString(R.string.error_valid_email_password), Snackbar.LENGTH_LONG).show();
- }
- }
- private void emptyInputEditText(){
- textInputEditTextEmail.setText(null);
- textInputEditTextPassword.setText(null);
- }
- }
- RegisterActivity.java
- package com.delaroystudios.sqlitelogin.activities;
- import android.os.Bundle;
- import android.support.design.widget.Snackbar;
- import android.support.design.widget.TextInputEditText;
- import android.support.design.widget.TextInputLayout;
- import android.support.v4.widget.NestedScrollView;
- import android.support.v7.app.AppCompatActivity;
- import android.support.v7.widget.AppCompatButton;
- import android.support.v7.widget.AppCompatTextView;
- import android.view.View;
- import com.delaroystudios.sqlitelogin.R;
- import com.delaroystudios.sqlitelogin.helper.InputValidation;
- import com.delaroystudios.sqlitelogin.model.User;
- import com.delaroystudios.sqlitelogin.sql.DatabaseHelper;
- public class RegisterActivity extends AppCompatActivity implements View.OnClickListener {
- private final AppCompatActivity activity = RegisterActivity.this;
- private NestedScrollView nestedScrollView;
- private TextInputLayout textInputLayoutName;
- private TextInputLayout textInputLayoutEmail;
- private TextInputLayout textInputLayoutPassword;
- private TextInputLayout textInputLayoutConfirmPassword;
- private TextInputEditText textInputEditTextName;
- private TextInputEditText textInputEditTextEmail;
- private TextInputEditText textInputEditTextPassword;
- private TextInputEditText textInputEditTextConfirmPassword;
- private AppCompatButton appCompatButtonRegister;
- private AppCompatTextView appCompatTextViewLoginLink;
- private InputValidation inputValidation;
- private DatabaseHelper databaseHelper;
- private User user;
- @Override
- protected void onCreate(Bundle savedInstanceState){
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_register);
- getSupportActionBar().hide();
- initViews();
- initListeners();
- initObjects();
- }
- private void initViews(){
- nestedScrollView = (NestedScrollView) findViewById(R.id.nestedScrollView);
- textInputLayoutName = (TextInputLayout) findViewById(R.id.textInputLayoutName);
- textInputLayoutEmail = (TextInputLayout) findViewById(R.id.textInputLayoutEmail);
- textInputLayoutPassword = (TextInputLayout) findViewById(R.id.textInputLayoutPassword);
- textInputLayoutConfirmPassword = (TextInputLayout) findViewById(R.id.textInputLayoutConfirmPassword);
- textInputEditTextName = (TextInputEditText) findViewById(R.id.textInputEditTextName);
- textInputEditTextEmail = (TextInputEditText) findViewById(R.id.textInputEditTextEmail);
- textInputEditTextPassword = (TextInputEditText) findViewById(R.id.textInputEditTextPassword);
- textInputEditTextConfirmPassword = (TextInputEditText) findViewById(R.id.textInputEditTextConfirmPassword);
- appCompatButtonRegister = (AppCompatButton) findViewById(R.id.appCompatButtonRegister);
- appCompatTextViewLoginLink = (AppCompatTextView) findViewById(R.id.appCompatTextViewLoginLink);
- }
- private void initListeners(){
- appCompatButtonRegister.setOnClickListener(this);
- appCompatTextViewLoginLink.setOnClickListener(this);
- }
- private void initObjects(){
- inputValidation = new InputValidation(activity);
- databaseHelper = new DatabaseHelper(activity);
- user = new User();
- }
- @Override
- public void onClick(View v){
- switch (v.getId()){
- case R.id.appCompatButtonRegister:
- postDataToSQLite();
- break;
- case R.id.appCompatTextViewLoginLink:
- finish();
- break;
- }
- }
- private void postDataToSQLite(){
- if (!inputValidation.isInputEditTextFilled(textInputEditTextName, textInputLayoutName, getString(R.string.error_message_name))) {
- return;
- }
- if (!inputValidation.isInputEditTextFilled(textInputEditTextEmail, textInputLayoutEmail, getString(R.string.error_message_email))) {
- return;
- }
- if (!inputValidation.isInputEditTextEmail(textInputEditTextEmail, textInputLayoutEmail, getString(R.string.error_message_email))) {
- return;
- }
- if (!inputValidation.isInputEditTextFilled(textInputEditTextPassword, textInputLayoutPassword, getString(R.string.error_message_password))) {
- return;
- }
- if (!inputValidation.isInputEditTextMatches(textInputEditTextPassword, textInputEditTextConfirmPassword,
- textInputLayoutConfirmPassword, getString(R.string.error_password_match))) {
- return;
- }
- if (!databaseHelper.checkUser(textInputEditTextEmail.getText().toString().trim())) {
- user.setName(textInputEditTextName.getText().toString().trim());
- user.setEmail(textInputEditTextEmail.getText().toString().trim());
- user.setPassword(textInputEditTextPassword.getText().toString().trim());
- databaseHelper.addUser(user);
- // Snack Bar to show success message that record saved successfully
- Snackbar.make(nestedScrollView, getString(R.string.success_message), Snackbar.LENGTH_LONG).show();
- emptyInputEditText();
- } else {
- // Snack Bar to show error message that record already exists
- Snackbar.make(nestedScrollView, getString(R.string.error_email_exists), Snackbar.LENGTH_LONG).show();
- }
- }
- private void emptyInputEditText(){
- textInputEditTextName.setText(null);
- textInputEditTextEmail.setText(null);
- textInputEditTextPassword.setText(null);
- textInputEditTextConfirmPassword.setText(null);
- }
- }
- InputValidation.java
- package com.delaroystudios.sqlitelogin.helper;
- import android.app.Activity;
- import android.content.Context;
- import android.support.design.widget.TextInputEditText;
- import android.support.design.widget.TextInputLayout;
- import android.util.Patterns;
- import android.view.View;
- import android.view.WindowManager;
- import android.view.inputmethod.InputMethodManager;
- public class InputValidation {
- private Context context;
- public InputValidation(Context context){
- this.context = context;
- }
- public boolean isInputEditTextFilled(TextInputEditText textInputEditText, TextInputLayout textInputLayout, String message){
- String value = textInputEditText.getText().toString().trim();
- if (value.isEmpty()){
- textInputLayout.setError(message);
- hideKeyboardFrom(textInputEditText);
- return false;
- } else {
- textInputLayout.setErrorEnabled(false);
- }
- return true;
- }
- public boolean isInputEditTextEmail(TextInputEditText textInputEditText, TextInputLayout textInputLayout, String message){
- String value = textInputEditText.getText().toString().trim();
- if (value.isEmpty() || !Patterns.EMAIL_ADDRESS.matcher(value).matches()){
- textInputLayout.setError(message);
- hideKeyboardFrom(textInputEditText);
- return false;
- }else {
- textInputLayout.setErrorEnabled(false);
- }
- return true;
- }
- public boolean isInputEditTextMatches(TextInputEditText textInputEditText1, TextInputEditText textInputEditText2, TextInputLayout textInputLayout, String message ){
- String value1 = textInputEditText1.getText().toString().trim();
- String value2 = textInputEditText2.getText().toString().trim();
- if (!value1.contentEquals(value2)){
- textInputLayout.setError(message);
- hideKeyboardFrom(textInputEditText2);
- return false;
- }else {
- textInputLayout.setErrorEnabled(false);
- }
- return true;
- }
- private void hideKeyboardFrom(View view){
- InputMethodManager imm = (InputMethodManager) context.getSystemService(Activity.INPUT_METHOD_SERVICE);
- imm.hideSoftInputFromWindow(view.getWindowToken(), WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
- }
- }
- User.java
- package com.delaroystudios.sqlitelogin.model;
- public class User {
- private int id;
- private String name;
- private String email;
- private String password;
- public int getId(){
- return id;
- }
- public void setId(int id){
- this.id = id;
- }
- public String getName(){
- return name;
- }
- public void setName(String name){
- this.name = name;
- }
- public String getEmail(){
- return email;
- }
- public void setEmail(String email){
- this.email = email;
- }
- public String getPassword(){
- return password;
- }
- public void setPassword(String password){
- this.password = password;
- }
- }
- Databasehelper.java
- package com.delaroystudios.sqlitelogin.sql;
- import android.content.ContentValues;
- import android.content.Context;
- import android.database.Cursor;
- import android.database.sqlite.SQLiteDatabase;
- import android.database.sqlite.SQLiteOpenHelper;
- import com.delaroystudios.sqlitelogin.model.User;
- public class DatabaseHelper extends SQLiteOpenHelper{
- private static final int DATABASE_VERSION = 1;
- private static final String DATABASE_NAME = "UserManager.db";
- private static final String TABLE_USER = "user";
- private static final String COLUMN_USER_ID = "user_id";
- private static final String COLUMN_USER_NAME = "user_name";
- private static final String COLUMN_USER_EMAIL = "user_email";
- private static final String COLUMN_USER_PASSWORD = "user_password";
- private String CREATE_USER_TABLE = "CREATE TABLE " + TABLE_USER + "("
- + COLUMN_USER_ID + " INTEGER PRIMARY KEY AUTOINCREMENT," + COLUMN_USER_NAME + " TEXT,"
- + COLUMN_USER_EMAIL + " TEXT," + COLUMN_USER_PASSWORD + " TEXT" + ")";
- private String DROP_USER_TABLE = "DROP TABLE IF EXISTS " + TABLE_USER;
- public DatabaseHelper(Context context){
- super(context, DATABASE_NAME, null, DATABASE_VERSION);
- }
- @Override
- public void onCreate(SQLiteDatabase db){
- db.execSQL(CREATE_USER_TABLE);
- }
- @Override
- public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion){
- db.execSQL(DROP_USER_TABLE);
- onCreate(db);
- }
- public void addUser(User user){
- SQLiteDatabase db = this.getWritableDatabase();
- ContentValues values = new ContentValues();
- values.put(COLUMN_USER_NAME, user.getName());
- values.put(COLUMN_USER_EMAIL, user.getEmail());
- values.put(COLUMN_USER_PASSWORD, user.getPassword());
- db.insert(TABLE_USER, null, values);
- db.close();
- }
- public boolean checkUser(String email){
- String[] columns = {
- COLUMN_USER_ID
- };
- SQLiteDatabase db = this.getWritableDatabase();
- String selection = COLUMN_USER_EMAIL + " = ?";
- String[] selectionArgs = { email };
- Cursor cursor = db.query(TABLE_USER,
- columns,
- selection,
- selectionArgs,
- null,
- null,
- null);
- int cursorCount = cursor.getCount();
- cursor.close();
- db.close();
- if (cursorCount > 0){
- return true;
- }
- return false;
- }
- public boolean checkUser(String email, String password){
- String[] columns = {
- COLUMN_USER_ID
- };
- SQLiteDatabase db = this.getWritableDatabase();
- String selection = COLUMN_USER_EMAIL + " = ?" + " AND " + COLUMN_USER_PASSWORD + " =?";
- String[] selectionArgs = { email, password };
- Cursor cursor = db.query(TABLE_USER,
- columns,
- selection,
- selectionArgs,
- null,
- null,
- null);
- int cursorCount = cursor.getCount();
- cursor.close();
- db.close();
- if (cursorCount > 0){
- return true;
- }
- return false;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement