



krishan app world is the best android application and source code provide company
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="colorPrimary">#3b5998</color>
<color name="colorPrimaryDark">#3b5998</color>
<color name="colorAccent">#3b5998</color>
<color name="lavender">#3b5998</color>
<color name="white">#FFFFFF</color>
<color name="login_button">#D81B60</color>
</resources>
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Login</string>
<string name="email">Email</string>
<string name="login">Login</string>
<string name="name">Name</string>
<string name="password">Password</string>
<string name="phone">Phone number</string>
<string name="register">Register</string>
<string name="user_login">User Login</string>
<string name="please_enter_name">please enter name</string>
<string name="please_enter_email">please enter email</string>
<string name="please_enter_password">please enter password</string>
<string name="please_enter_phone">please enter phone number</string>
<string name="loading">Loading....</string>
<string name="ok">OK</string>
<string name="register_success">Register success fully</string>
<string name="email_id_use">Email id already use</string>
<string name="fail">Login Fail</string>
<string name="update">Update</string>
<string name="logout">Logout</string>
<string name="update_user">Update User</string>
</resources>
<resources>
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
</resources>
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<stroke android:width="1dp" android:color="@color/white" />
<corners android:radius="20dp" />
</shape>
</item>
</selector>
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<solid android:color="@color/white" />
<corners android:radius="40dp" />
</shape>
</item>
</selector>
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/lavender"
android:fillViewport="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/lavender"
android:gravity="center"
android:orientation="vertical"
tools:context=".Activity.Login">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="@string/login"
android:textColor="@color/white"
android:textSize="32sp"
android:textStyle="bold" />
<EditText
android:id="@+id/editText_email_login"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginStart="20dp"
android:layout_marginTop="40dp"
android:layout_marginEnd="20dp"
android:background="@drawable/edittext_bg"
android:hint="@string/email"
android:inputType="textEmailAddress"
android:paddingStart="10dp"
android:paddingEnd="10dp"
android:singleLine="true"
android:textColor="@color/white"
android:textColorHint="@color/white"
android:textCursorDrawable="@null" />
<EditText
android:id="@+id/editText_password_login"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginStart="20dp"
android:layout_marginTop="20dp"
android:layout_marginEnd="20dp"
android:background="@drawable/edittext_bg"
android:hint="@string/password"
android:inputType="textPassword"
android:paddingStart="10dp"
android:paddingEnd="10dp"
android:singleLine="true"
android:textColor="@color/white"
android:textColorHint="@color/white"
android:textCursorDrawable="@null" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:orientation="horizontal">
<Button
android:id="@+id/button_login"
android:layout_width="120dp"
android:layout_height="40dp"
android:layout_marginTop="20dp"
android:background="@drawable/login_button_bg"
android:text="@string/login"
android:textColor="@color/login_button"
android:textStyle="bold" />
<Button
android:id="@+id/button_reg_login"
android:layout_width="120dp"
android:layout_height="40dp"
android:layout_marginStart="20dp"
android:layout_marginTop="20dp"
android:background="@drawable/login_button_bg"
android:text="@string/register"
android:textColor="@color/login_button"
android:textStyle="bold" />
</LinearLayout>
</LinearLayout>
</ScrollView>
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center_vertical"
android:orientation="vertical"
tools:context=".Activity.MainActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_marginTop="40dp"
android:layout_marginEnd="10dp"
android:orientation="vertical">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/name"
android:textSize="18sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_marginEnd="10dp"
android:text=":-"
android:textSize="18sp" />
<TextView
android:id="@+id/textView_name_main"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/name"
android:textSize="18sp" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/email"
android:textSize="18sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_marginEnd="10dp"
android:text=":-"
android:textSize="18sp" />
<TextView
android:id="@+id/textView_email_main"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/name"
android:textSize="18sp" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/phone"
android:textSize="18sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_marginEnd="10dp"
android:text=":-"
android:textSize="18sp" />
<TextView
android:id="@+id/textView_phone_main"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/name"
android:textSize="18sp" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="20dp"
android:orientation="horizontal">
<Button
android:id="@+id/button_update_main"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/update" />
<Button
android:id="@+id/button_logout_main"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:text="@string/logout" />
</LinearLayout>
</LinearLayout>
</RelativeLayout>
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/lavender"
android:fillViewport="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical"
tools:context=".Activity.Register">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="@string/register"
android:textColor="@color/white"
android:textSize="32sp"
android:textStyle="bold" />
<EditText
android:id="@+id/editText_name_reg"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginStart="20dp"
android:layout_marginTop="50dp"
android:layout_marginEnd="20dp"
android:background="@drawable/edittext_bg"
android:hint="@string/name"
android:inputType="text"
android:paddingStart="10dp"
android:paddingEnd="10dp"
android:singleLine="true"
android:textColor="@color/white"
android:textColorHint="@color/white"
android:textCursorDrawable="@null" />
<EditText
android:id="@+id/editText_email_reg"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginStart="20dp"
android:layout_marginTop="20dp"
android:layout_marginEnd="20dp"
android:background="@drawable/edittext_bg"
android:hint="@string/email"
android:inputType="textEmailAddress"
android:paddingStart="10dp"
android:paddingEnd="10dp"
android:singleLine="true"
android:textColor="@color/white"
android:textColorHint="@color/white"
android:textCursorDrawable="@null" />
<EditText
android:id="@+id/editText_password_reg"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginStart="20dp"
android:layout_marginTop="20dp"
android:layout_marginEnd="20dp"
android:background="@drawable/edittext_bg"
android:hint="@string/password"
android:inputType="textPassword"
android:paddingStart="10dp"
android:paddingEnd="10dp"
android:singleLine="true"
android:textColor="@color/white"
android:textColorHint="@color/white"
android:textCursorDrawable="@null" />
<EditText
android:id="@+id/editText_phone_reg"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginStart="20dp"
android:layout_marginTop="20dp"
android:layout_marginEnd="20dp"
android:background="@drawable/edittext_bg"
android:hint="@string/phone"
android:inputType="phone"
android:paddingStart="10dp"
android:paddingEnd="10dp"
android:singleLine="true"
android:textColor="@color/white"
android:textColorHint="@color/white"
android:textCursorDrawable="@null" />
<Button
android:id="@+id/button_reg"
android:layout_width="120dp"
android:layout_height="40dp"
android:layout_gravity="center"
android:layout_marginTop="40dp"
android:layout_marginBottom="40dp"
android:background="@drawable/login_button_bg"
android:text="@string/register"
android:textColor="@color/login_button"
android:textStyle="bold" />
</LinearLayout>
</ScrollView>
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/lavender"
android:fillViewport="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical"
tools:context=".Activity.UpdateUser">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="@string/update_user"
android:textColor="@color/white"
android:textSize="32sp"
android:textStyle="bold" />
<EditText
android:id="@+id/editText_name_update"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginStart="20dp"
android:layout_marginTop="50dp"
android:layout_marginEnd="20dp"
android:background="@drawable/edittext_bg"
android:hint="@string/name"
android:inputType="text"
android:paddingStart="10dp"
android:paddingEnd="10dp"
android:singleLine="true"
android:textColor="@color/white"
android:textColorHint="@color/white"
android:textCursorDrawable="@null" />
<EditText
android:id="@+id/editText_email_update"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginStart="20dp"
android:layout_marginTop="20dp"
android:layout_marginEnd="20dp"
android:background="@drawable/edittext_bg"
android:hint="@string/email"
android:inputType="textEmailAddress"
android:paddingStart="10dp"
android:paddingEnd="10dp"
android:singleLine="true"
android:textColor="@color/white"
android:textColorHint="@color/white"
android:textCursorDrawable="@null" />
<EditText
android:id="@+id/editText_password_update"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginStart="20dp"
android:layout_marginTop="20dp"
android:layout_marginEnd="20dp"
android:background="@drawable/edittext_bg"
android:hint="@string/password"
android:inputType="textPassword"
android:paddingStart="10dp"
android:paddingEnd="10dp"
android:singleLine="true"
android:textColor="@color/white"
android:textColorHint="@color/white"
android:textCursorDrawable="@null" />
<EditText
android:id="@+id/editText_phone_update"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginStart="20dp"
android:layout_marginTop="20dp"
android:layout_marginEnd="20dp"
android:background="@drawable/edittext_bg"
android:hint="@string/phone"
android:inputType="phone"
android:paddingStart="10dp"
android:paddingEnd="10dp"
android:singleLine="true"
android:textColor="@color/white"
android:textColorHint="@color/white"
android:textCursorDrawable="@null" />
<Button
android:id="@+id/button_update"
android:layout_width="120dp"
android:layout_height="40dp"
android:layout_gravity="center"
android:layout_marginTop="40dp"
android:layout_marginBottom="40dp"
android:background="@drawable/login_button_bg"
android:text="@string/update"
android:textColor="@color/login_button"
android:textStyle="bold" />
</LinearLayout>
</ScrollView>
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.app.databaseloginregister">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".Activity.Login">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".Activity.Register" />
<activity android:name=".Activity.UpdateUser" />
<activity android:name=".Activity.MainActivity" />
</application>
</manifest>
package com.app.databaseloginregister.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.view.WindowManager;
import android.view.inputmethod.InputMethodManager;
import android.widget.Button;
import android.widget.EditText;
import com.app.databaseloginregister.DataBase.DatabaseHandler;
import com.app.databaseloginregister.R;
import com.app.databaseloginregister.Util.Method;
public class Login extends AppCompatActivity {
private Method method;
private DatabaseHandler db;
private String email, password;
private EditText editText_email, editText_password;
private Button button_reg, button_login;
private InputMethodManager imm;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
method = new Method(Login.this);
db = new DatabaseHandler(Login.this);
imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
if (method.pref.getBoolean(method.pref_login, false)) {
String id = method.pref.getString(method.profileId, null);
startActivity(new Intent(Login.this, MainActivity.class)
.putExtra("id", id));
finishAffinity();
}
editText_email = findViewById(R.id.editText_email_login);
editText_password = findViewById(R.id.editText_password_login);
button_login = findViewById(R.id.button_login);
button_reg = findViewById(R.id.button_reg_login);
button_login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
email = editText_email.getText().toString();
password = editText_password.getText().toString();
editText_email.clearFocus();
editText_password.clearFocus();
imm.hideSoftInputFromWindow(editText_email.getWindowToken(), 0);
imm.hideSoftInputFromWindow(editText_password.getWindowToken(), 0);
login();
}
});
button_reg.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(Login.this, Register.class));
}
});
}
private void login() {
editText_email.setError(null);
editText_password.setError(null);
if (!isValidMail(email) || email.isEmpty()) {
editText_email.requestFocus();
editText_email.setError(getResources().getString(R.string.please_enter_email));
} else if (password.isEmpty()) {
editText_password.requestFocus();
editText_password.setError(getResources().getString(R.string.please_enter_password));
} else {
if (!db.checkLogin(email, password)) {
String id = db.getUserId(email);
if (id != null) {
startActivity(new Intent(Login.this, MainActivity.class)
.putExtra("id", id));
finishAffinity();
method.editor.putBoolean(method.pref_login, true);
method.editor.putString(method.profileId, id);
method.editor.commit();
}
} else {
method.alertBox(getResources().getString(R.string.fail));
}
}
}
private boolean isValidMail(String email) {
return android.util.Patterns.EMAIL_ADDRESS.matcher(email).matches();
}
}
package com.app.databaseloginregister.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import com.app.databaseloginregister.DataBase.DatabaseHandler;
import com.app.databaseloginregister.Item.UserList;
import com.app.databaseloginregister.R;
import com.app.databaseloginregister.Util.Method;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
private String id;
private Method method;
private DatabaseHandler db;
private List userLists;
private Button button_update, button_logout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
id = getIntent().getStringExtra("id");
method = new Method(MainActivity.this);
userLists = new ArrayList<>();
db = new DatabaseHandler(MainActivity.this);
userLists = db.getUser(id);
TextView textView_name = findViewById(R.id.textView_name_main);
TextView textView_email = findViewById(R.id.textView_email_main);
TextView textView_phoneNo = findViewById(R.id.textView_phone_main);
button_update = findViewById(R.id.button_update_main);
button_logout = findViewById(R.id.button_logout_main);
if (userLists.size() != 0) {
textView_name.setText(userLists.get(0).getName());
textView_email.setText(userLists.get(0).getEmail());
textView_phoneNo.setText(userLists.get(0).getPhone());
}
button_update.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(MainActivity.this, UpdateUser.class)
.putExtra("id", id)
.putExtra("name", userLists.get(0).getName())
.putExtra("email", userLists.get(0).getEmail())
.putExtra("phone", userLists.get(0).getPhone()));
}
});
button_logout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
method.editor.putBoolean(method.pref_login, false);
method.editor.commit();
startActivity(new Intent(MainActivity.this, Login.class));
finishAffinity();
}
});
}
}
package com.app.databaseloginregister.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.view.WindowManager;
import android.view.inputmethod.InputMethodManager;
import android.widget.Button;
import android.widget.EditText;
import com.app.databaseloginregister.DataBase.DatabaseHandler;
import com.app.databaseloginregister.R;
import com.app.databaseloginregister.Util.Method;
public class Register extends AppCompatActivity {
private Method method;
private DatabaseHandler db;
private Button button_register;
private InputMethodManager imm;
private String name, email, password, phoneNo;
private EditText editText_name, editText_email, editText_password, editText_phoneNo;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_register);
method = new Method(Register.this);
db = new DatabaseHandler(Register.this);
imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
editText_name = findViewById(R.id.editText_name_reg);
editText_email = findViewById(R.id.editText_email_reg);
editText_password = findViewById(R.id.editText_password_reg);
editText_phoneNo = findViewById(R.id.editText_phone_reg);
button_register = findViewById(R.id.button_reg);
button_register.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
name = editText_name.getText().toString();
email = editText_email.getText().toString();
password = editText_password.getText().toString();
phoneNo = editText_phoneNo.getText().toString();
editText_name.clearFocus();
editText_email.clearFocus();
editText_password.clearFocus();
editText_phoneNo.clearFocus();
imm.hideSoftInputFromWindow(editText_name.getWindowToken(), 0);
imm.hideSoftInputFromWindow(editText_email.getWindowToken(), 0);
imm.hideSoftInputFromWindow(editText_password.getWindowToken(), 0);
imm.hideSoftInputFromWindow(editText_phoneNo.getWindowToken(), 0);
form();
}
});
}
private boolean isValidMail(String email) {
return android.util.Patterns.EMAIL_ADDRESS.matcher(email).matches();
}
private void form() {
editText_name.setError(null);
editText_email.setError(null);
editText_password.setError(null);
editText_phoneNo.setError(null);
if (name.equals("") || name.isEmpty()) {
editText_name.requestFocus();
editText_name.setError(getResources().getString(R.string.please_enter_name));
} else if (!isValidMail(email) || email.isEmpty()) {
editText_email.requestFocus();
editText_email.setError(getResources().getString(R.string.please_enter_email));
} else if (password.equals("") || password.isEmpty()) {
editText_password.requestFocus();
editText_password.setError(getResources().getString(R.string.please_enter_password));
} else if (phoneNo.equals("") || phoneNo.isEmpty()) {
editText_phoneNo.requestFocus();
editText_phoneNo.setError(getResources().getString(R.string.please_enter_phone));
} else {
if (db.checkEmail(email)) {
db.addUser(name, email, password, phoneNo);
editText_name.setText("");
editText_email.setText("");
editText_password.setText("");
editText_phoneNo.setText("");
method.alertBox(getResources().getString(R.string.register_success));
startActivity(new Intent(Register.this, Login.class));
} else {
method.alertBox(getResources().getString(R.string.email_id_use));
}
}
}
@Override
public void onBackPressed() {
super.onBackPressed();
}
}
package com.app.databaseloginregister.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.view.WindowManager;
import android.view.inputmethod.InputMethodManager;
import android.widget.Button;
import android.widget.EditText;
import com.app.databaseloginregister.DataBase.DatabaseHandler;
import com.app.databaseloginregister.R;
import com.app.databaseloginregister.Util.Method;
public class UpdateUser extends AppCompatActivity {
private Method method;
private DatabaseHandler db;
private Button button_update;
private InputMethodManager imm;
private String id, name, email, password, phoneNo;
private EditText editText_name, editText_email, editText_password, editText_phoneNo;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_update_user);
method = new Method(UpdateUser.this);
db = new DatabaseHandler(UpdateUser.this);
id = getIntent().getStringExtra("id");
name = getIntent().getStringExtra("name");
email = getIntent().getStringExtra("email");
phoneNo = getIntent().getStringExtra("phone");
imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
editText_name = findViewById(R.id.editText_name_update);
editText_email = findViewById(R.id.editText_email_update);
editText_password = findViewById(R.id.editText_password_update);
editText_phoneNo = findViewById(R.id.editText_phone_update);
button_update = findViewById(R.id.button_update);
editText_name.setText(name);
editText_email.setText(email);
editText_phoneNo.setText(phoneNo);
button_update.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
name = editText_name.getText().toString();
email = editText_email.getText().toString();
password = editText_password.getText().toString();
phoneNo = editText_phoneNo.getText().toString();
editText_name.clearFocus();
editText_email.clearFocus();
editText_password.clearFocus();
editText_phoneNo.clearFocus();
imm.hideSoftInputFromWindow(editText_name.getWindowToken(), 0);
imm.hideSoftInputFromWindow(editText_email.getWindowToken(), 0);
imm.hideSoftInputFromWindow(editText_password.getWindowToken(), 0);
imm.hideSoftInputFromWindow(editText_phoneNo.getWindowToken(), 0);
form();
}
});
}
private boolean isValidMail(String email) {
return android.util.Patterns.EMAIL_ADDRESS.matcher(email).matches();
}
private void form() {
editText_name.setError(null);
editText_email.setError(null);
editText_password.setError(null);
editText_phoneNo.setError(null);
if (name.equals("") || name.isEmpty()) {
editText_name.requestFocus();
editText_name.setError(getResources().getString(R.string.please_enter_name));
} else if (!isValidMail(email) || email.isEmpty()) {
editText_email.requestFocus();
editText_email.setError(getResources().getString(R.string.please_enter_email));
} else if (phoneNo.equals("") || phoneNo.isEmpty()) {
editText_phoneNo.requestFocus();
editText_phoneNo.setError(getResources().getString(R.string.please_enter_phone));
} else {
db.updateUser(id, name, email, password, phoneNo);
startActivity(new Intent(UpdateUser.this, MainActivity.class)
.putExtra("id", id));
finishAffinity();
}
}
@Override
public void onBackPressed() {
super.onBackPressed();
}
}
package com.app.databaseloginregister.DataBase;
import android.annotation.SuppressLint;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
import com.app.databaseloginregister.Item.UserList;
import java.util.ArrayList;
import java.util.List;
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 = "demo_login";
// Table name
private static final String TABLE_NAME = "user";
// Table Columns names
private static final String KEY_ID = "id";
private static final String KEY_NAME = "name";
private static final String KEY_EMAIL = "user_email";
private static final String KEY_PHONE_NUMBER = "phone_number";
private static final String KEY_PASSWORD = "password";
public DatabaseHandler(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
//create table
String CREATE_TABLE = "CREATE TABLE " + TABLE_NAME + "("
+ KEY_ID + " INTEGER PRIMARY KEY AUTOINCREMENT ," + KEY_NAME + " TEXT,"
+ KEY_EMAIL + " TEXT," + KEY_PHONE_NUMBER + " TEXT,"
+ KEY_PASSWORD + " TEXT"
+ ")";
db.execSQL(CREATE_TABLE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
}
//add user in database
public void addUser(String name, String email, String password, String phone) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(KEY_NAME, name);
values.put(KEY_EMAIL, email);
values.put(KEY_PHONE_NUMBER, phone);
values.put(KEY_PASSWORD, password);
db.insert(TABLE_NAME, null, values);
db.close();//close database connection
}
//get user detail
public List getUser(String id) {
List userLists = new ArrayList<>();
String selectQuery = "SELECT * FROM " + TABLE_NAME + " WHERE " + KEY_ID + " = " + id;
Log.d("Query_database_user", selectQuery);
SQLiteDatabase db = this.getWritableDatabase();
@SuppressLint("Recycle")
Cursor cursor = db.rawQuery(selectQuery, null);
if (cursor.moveToFirst()) {
do {
UserList list = new UserList();
list.setName(cursor.getString(1));
list.setEmail(cursor.getString(2));
list.setPhone(cursor.getString(3));
list.setPassword(cursor.getString(4));
userLists.add(list);
} while (cursor.moveToNext());
}
// return user list
return userLists;
}
//update user detail
public void updateUser(String id, String name, String email, String password, String phoneNumber) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(KEY_NAME, name);
values.put(KEY_EMAIL, email);
if (!password.equals("")) {
values.put(KEY_PASSWORD, password);
}
if (!phoneNumber.equals("")) {
values.put(KEY_PHONE_NUMBER, phoneNumber);
}
db.update(TABLE_NAME, values, KEY_ID + "=" + id, null);
}
//check user login or not
public boolean checkLogin(String userEmail, String userPassword) {
String selectQuery = "SELECT " + KEY_ID + " FROM " + TABLE_NAME + " WHERE " + KEY_EMAIL + " =" + " " + "\'" + userEmail + "\'" + " AND " + KEY_PASSWORD + " = " + "\'" + userPassword + "\'";
Log.d("Query_database", selectQuery);
SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
if (cursor.getCount() == 0) {
return true;
} else {
return false;
}
}
//check email id exit or not
public boolean checkEmail(String userEmail) {
String selectQuery = "SELECT * FROM " + TABLE_NAME + " WHERE " + KEY_EMAIL + " =?";
Log.d("Query_database", selectQuery);
SQLiteDatabase db = this.getWritableDatabase();
@SuppressLint("Recycle") Cursor cursor = db.rawQuery(selectQuery, new String[]{userEmail});
if (cursor.getCount() == 0) {
return true;
} else {
return false;
}
}
//get current user login id
public String getUserId(String userEmail) {
String selectQuery = "SELECT * FROM " + TABLE_NAME + " WHERE " + KEY_EMAIL + " = " + "\'" + userEmail + "\'";
Log.d("Query_database", selectQuery);
SQLiteDatabase db = this.getWritableDatabase();
@SuppressLint("Recycle")
Cursor cursor = db.rawQuery(selectQuery, null);
if (cursor.moveToFirst()) {
String userId = cursor.getString(0);
Log.d("user_id", String.valueOf(userId));
return userId;
} else {
return null;
}
}
}
package com.app.databaseloginregister.Item;
import java.io.Serializable;
public class UserList implements Serializable {
private String name, email, phone, password;
public UserList() {
}
public UserList(String name, String email, String phone, String password) {
this.name = name;
this.email = email;
this.phone = phone;
this.password = password;
}
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 getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
package com.app.databaseloginregister.Util;
import android.app.Activity;
import android.content.DialogInterface;
import android.content.SharedPreferences;
import android.support.v7.app.AlertDialog;
import com.app.databaseloginregister.R;
public class Method {
private Activity activity;
public SharedPreferences pref;
public SharedPreferences.Editor editor;
private final String myPreference = "login";
public String pref_login = "pref_login";
public String profileId = "profileId";
public Method(Activity activity) {
this.activity = activity;
pref = activity.getSharedPreferences(myPreference, 0); // 0 - for private mode
editor = pref.edit();
}
//show dialog box
public void alertBox(String message) {
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(activity);
alertDialogBuilder.setCancelable(false);
alertDialogBuilder.setMessage(message);
alertDialogBuilder.setPositiveButton(activity.getResources().getString(R.string.ok),
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
}
});
AlertDialog alertDialog = alertDialogBuilder.create();
alertDialog.show();
}
}
public List imageArray = new ArrayList<>();
private String root = Environment.getExternalStorageDirectory() +"/WhatsApp/Media/.Statuses";
File file = new File(root);
imageArray=getListFiles(file)
private List getListFiles(File parentDir) {
List inFiles = new ArrayList<>();
try {
Queue files = new LinkedList<>();
files.addAll(Arrays.asList(parentDir.listFiles()));
while (!files.isEmpty()) {
File file = files.remove();
if (file.isDirectory()) {
files.addAll(Arrays.asList(file.listFiles()));
} else if (file.getName().endsWith(".jpg") || file.getName().endsWith(".gif")||
file.getName().endsWith(".mp4")) {
inFiles.add(file);
}
}
} catch (Exception e) {
Log.d("error", e.toString());
}
return inFiles;
}