0

I am referred this post I done the add many users with their email.But my only requirement is I need to send the authentication message while adding the new user.

Below I am posted the codes what I tried so far:

DatabaseHandler.java:

public class DatabaseHandler extends SQLiteOpenHelper {

    // All Static variables
    // Database Version
    private static final int DATABASE_VERSION = 1;

    // Database Name
    private static final String DATABASE_NAME = "contactsManager";

    // Contacts table name
    private static final String TABLE_CONTACTS = "contacts";

    // Contacts Table Columns names
    private static final String KEY_ID = "id";
    private static final String KEY_NAME = "name";
    private static final String KEY_PH_NO = "phone_number";
    private static final String KEY_EMAIL = "email";
    private final ArrayList<Contact> contact_list = new ArrayList<Contact>();

    public DatabaseHandler(Context context) {
    super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }

    // Creating Tables
    @Override
    public void onCreate(SQLiteDatabase db) {
    String CREATE_CONTACTS_TABLE = "CREATE TABLE " + TABLE_CONTACTS + "("
        + KEY_ID + " INTEGER PRIMARY KEY," + KEY_NAME + " TEXT,"
        + KEY_PH_NO + " TEXT," + KEY_EMAIL + " TEXT" + ")";
    db.execSQL(CREATE_CONTACTS_TABLE);
    }

    // Upgrading database
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    // Drop older table if existed
    db.execSQL("DROP TABLE IF EXISTS " + TABLE_CONTACTS);

    // Create tables again
    onCreate(db);
    }

    /**
     * All CRUD(Create, Read, Update, Delete) Operations
     */

    // Adding new contact
    public void Add_Contact(Contact contact) {
    SQLiteDatabase db = this.getWritableDatabase();
    ContentValues values = new ContentValues();
    values.put(KEY_NAME, contact.getName()); // Contact Name
    values.put(KEY_PH_NO, contact.getPhoneNumber()); // Contact Phone
    values.put(KEY_EMAIL, contact.getEmail()); // Contact Email
    // Inserting Row
    db.insert(TABLE_CONTACTS, null, values);
    db.close(); // Closing database connection
    }

    // Getting single contact
    Contact Get_Contact(int id) {
    SQLiteDatabase db = this.getReadableDatabase();

    Cursor cursor = db.query(TABLE_CONTACTS, new String[] { KEY_ID,
        KEY_NAME, KEY_PH_NO, KEY_EMAIL }, KEY_ID + "=?",
        new String[] { String.valueOf(id) }, null, null, null, null);
    if (cursor != null)
        cursor.moveToFirst();

    Contact contact = new Contact(Integer.parseInt(cursor.getString(0)),
        cursor.getString(1), cursor.getString(2), cursor.getString(3));
    // return contact
    cursor.close();
    db.close();

    return contact;
    }

    // Getting All Contacts
    public ArrayList<Contact> Get_Contacts() {
    try {
        contact_list.clear();

        // Select All Query
        String selectQuery = "SELECT  * FROM " + TABLE_CONTACTS;

        SQLiteDatabase db = this.getWritableDatabase();
        Cursor cursor = db.rawQuery(selectQuery, null);

        // looping through all rows and adding to list
        if (cursor.moveToFirst()) {
        do {
            Contact contact = new Contact();
            contact.setID(Integer.parseInt(cursor.getString(0)));
            contact.setName(cursor.getString(1));
            contact.setPhoneNumber(cursor.getString(2));
            contact.setEmail(cursor.getString(3));
            // Adding contact to list
            contact_list.add(contact);
        } while (cursor.moveToNext());
        }

        // return contact list
        cursor.close();
        db.close();
        return contact_list;
    } catch (Exception e) {
        // TODO: handle exception
        Log.e("all_contact", "" + e);
    }

    return contact_list;
    }

    // Updating single contact
    public int Update_Contact(Contact contact) {
    SQLiteDatabase db = this.getWritableDatabase();

    ContentValues values = new ContentValues();
    values.put(KEY_NAME, contact.getName());
    values.put(KEY_PH_NO, contact.getPhoneNumber());
    values.put(KEY_EMAIL, contact.getEmail());

    // updating row
    return db.update(TABLE_CONTACTS, values, KEY_ID + " = ?",
        new String[] { String.valueOf(contact.getID()) });
    }

    // Deleting single contact
    public void Delete_Contact(int id) {
    SQLiteDatabase db = this.getWritableDatabase();
    db.delete(TABLE_CONTACTS, KEY_ID + " = ?",
        new String[] { String.valueOf(id) });
    db.close();
    }

    // Getting contacts Count
    public int Get_Total_Contacts() {
    String countQuery = "SELECT  * FROM " + TABLE_CONTACTS;
    SQLiteDatabase db = this.getReadableDatabase();
    Cursor cursor = db.rawQuery(countQuery, null);
    cursor.close();

    // return count
    return cursor.getCount();
    }

}

Add_Update_User.java:

public class Add_Update_User extends Activity {
    EditText add_name, add_mobile, add_email;
    Button add_save_btn, add_view_all, update_btn, update_view_all;
    LinearLayout add_view, update_view;
    String valid_mob_number = null, valid_email = null, valid_name = null,
        Toast_msg = null, valid_user_id = "";
    int USER_ID;
    DatabaseHandler dbHandler = new DatabaseHandler(this);

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.add_update_screen);

    // set screen
    Set_Add_Update_Screen();

    // set visibility of view as per calling activity
    String called_from = getIntent().getStringExtra("called");

    if (called_from != null && called_from.equalsIgnoreCase("add")) {  
        add_view.setVisibility(View.VISIBLE);
        update_view.setVisibility(View.GONE);
    } else {  

        update_view.setVisibility(View.VISIBLE);
        add_view.setVisibility(View.GONE);
        USER_ID = Integer.parseInt(getIntent().getStringExtra("USER_ID"));

        Contact c = dbHandler.Get_Contact(USER_ID);  

        add_name.setText(c.getName());
        add_mobile.setText(c.getPhoneNumber());
        add_email.setText(c.getEmail());
         dbHandler.close();
    }
    add_mobile.addTextChangedListener(new TextWatcher() {

        @Override
        public void onTextChanged(CharSequence s, int start, int before,
            int count) {
        // TODO Auto-generated method stub

        }

        @Override
        public void beforeTextChanged(CharSequence s, int start, int count,
            int after) {
        // TODO Auto-generated method stub

        }

        @Override
        public void afterTextChanged(Editable s) {
        // TODO Auto-generated method stub
        // min lenth 10 and max lenth 12 (2 extra for - as per phone
        // matcher format)
        Is_Valid_Sign_Number_Validation(12, 12, add_mobile);
        }
    });
    add_mobile
        .addTextChangedListener(new PhoneNumberFormattingTextWatcher());

    add_email.addTextChangedListener(new TextWatcher() {

        @Override
        public void onTextChanged(CharSequence s, int start, int before,
            int count) {
        // TODO Auto-generated method stub

        }

        @Override
        public void beforeTextChanged(CharSequence s, int start, int count,
            int after) {
        // TODO Auto-generated method stub

        }

        @Override
        public void afterTextChanged(Editable s) {
        // TODO Auto-generated method stub
        Is_Valid_Email(add_email);
        }
    });

    add_name.addTextChangedListener(new TextWatcher() {

        @Override
        public void onTextChanged(CharSequence s, int start, int before,
            int count) {
        // TODO Auto-generated method stub

        }

        @Override
        public void beforeTextChanged(CharSequence s, int start, int count,
            int after) {
        // TODO Auto-generated method stub

        }

        @Override
        public void afterTextChanged(Editable s) {
        // TODO Auto-generated method stub
        Is_Valid_Person_Name(add_name);
        }
    });

    add_save_btn.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
        // TODO Auto-generated method stub
        // check the value state is null or not
        if (valid_name != null && valid_mob_number != null
            && valid_email != null && valid_name.length() != 0
            && valid_mob_number.length() != 0
            && valid_email.length() != 0) {

            dbHandler.Add_Contact(new Contact(valid_name,
                valid_mob_number, valid_email));
            Toast_msg = "Data inserted successfully";
            Show_Toast(Toast_msg);
            Reset_Text();

        }

        }
    });

    update_btn.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
        // TODO Auto-generated method stub

        valid_name = add_name.getText().toString();
        valid_mob_number = add_mobile.getText().toString();
        valid_email = add_email.getText().toString();

        // check the value state is null or not
        if (valid_name != null && valid_mob_number != null
            && valid_email != null && valid_name.length() != 0
            && valid_mob_number.length() != 0
            && valid_email.length() != 0) {

            dbHandler.Update_Contact(new Contact(USER_ID, valid_name,
                valid_mob_number, valid_email));
            dbHandler.close();
            Toast_msg = "Data Update successfully";
            Show_Toast(Toast_msg);
            Reset_Text();
        } else {
            Toast_msg = "Sorry Some Fields are missing.\nPlease Fill up all.";
            Show_Toast(Toast_msg);
        }

        }
    });
    update_view_all.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
        // TODO Auto-generated method stub
        Intent view_user = new Intent(Add_Update_User.this,
            UserLoggedInPage.class);  
        view_user.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP
            | Intent.FLAG_ACTIVITY_NEW_TASK);
        startActivity(view_user);
        finish();
        }
    });

    add_view_all.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {  
        // TODO Auto-generated method stub
        Intent view_user = new Intent(Add_Update_User.this,
            Add_Update_User.class);
        view_user.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP
            | Intent.FLAG_ACTIVITY_NEW_TASK);
        startActivity(view_user);
        finish();
        }
    });

    }

    public void Set_Add_Update_Screen() {

    add_name = (EditText) findViewById(R.id.add_name);
    add_mobile = (EditText) findViewById(R.id.add_mobile);
    add_email = (EditText) findViewById(R.id.add_email);

    add_save_btn = (Button) findViewById(R.id.add_save_btn);
    update_btn = (Button) findViewById(R.id.update_btn);
    add_view_all = (Button) findViewById(R.id.add_view_all);
    update_view_all = (Button) findViewById(R.id.update_view_all);

    add_view = (LinearLayout) findViewById(R.id.add_view);
    update_view = (LinearLayout) findViewById(R.id.update_view);

    add_view.setVisibility(View.GONE);
    update_view.setVisibility(View.GONE);

    }

    public void Is_Valid_Sign_Number_Validation(int MinLen, int MaxLen,
        EditText edt) throws NumberFormatException {
    if (edt.getText().toString().length() <= 0) {
        edt.setError("Number Only");
        valid_mob_number = null;
    } else if (edt.getText().toString().length() < MinLen) {
        edt.setError("Minimum length " + MinLen);
        valid_mob_number = null;

    } else if (edt.getText().toString().length() > MaxLen) {
        edt.setError("Maximum length " + MaxLen);
        valid_mob_number = null;

    } else {
        valid_mob_number = edt.getText().toString();

    }

    } // END OF Edittext validation

    public void Is_Valid_Email(EditText edt) {
    if (edt.getText().toString() == null) {
        edt.setError("Invalid Email Address");
        valid_email = null;
    } else if (isEmailValid(edt.getText().toString()) == false) {
        edt.setError("Invalid Email Address");
        valid_email = null;
    } else {
        valid_email = edt.getText().toString();
    }
    }

    boolean isEmailValid(CharSequence email) {
    return android.util.Patterns.EMAIL_ADDRESS.matcher(email).matches();
    } // end of email matcher

    public void Is_Valid_Person_Name(EditText edt) throws NumberFormatException {
    if (edt.getText().toString().length() <= 0) {
        edt.setError("Accept Alphabets Only.");
        valid_name = null;
    } else if (!edt.getText().toString().matches("[a-zA-Z ]+")) {
        edt.setError("Accept Alphabets Only.");
        valid_name = null;
    } else {
        valid_name = edt.getText().toString();
    }

    }

    public void Show_Toast(String msg) {
    Toast.makeText(getApplicationContext(), msg, Toast.LENGTH_LONG).show();
    }

    public void Reset_Text() {

    add_name.getText().clear();
    add_mobile.getText().clear();
    add_email.getText().clear();

    }

}

My only need is, I need to send the authentication message while adding the new members using their email.Anybody can help me with this.Thank You.

Stephen
  • 9,899
  • 16
  • 90
  • 137

1 Answers1

0

For setting up email you can do it serverside using the JavaMail API. So when you add the new user in your server database you can send the email. However if you wish to do this using the client's device refer to this SO answer

Community
  • 1
  • 1
ashkhn
  • 1,642
  • 1
  • 13
  • 18