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.