- Get link
- X
- Other Apps
The SQlite database as its name suggests, is a lightweight database which is used to store the data locally in your Android mobile devices. One can create a simple login and register app using SQlite which can also work as test bench or platform for launching the app for web servers.
Let us first create a Database helper class which extends the properties of SQliteOpenHelperClass.
The code snippet for DB Helper class "DBHelper.class" is as follows:
package com.learnandroid.loginsqlite; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import androidx.annotation.Nullable; public class DBHelper extends SQLiteOpenHelper { public static final String DBNAME = "Login.db"; public DBHelper(Context context) { super(context, "Login.db", null, 1); } @Override public void onCreate(SQLiteDatabase MyDB) { MyDB.execSQL("create Table users(username TEXT primary key, password TEXT)"); } @Override public void onUpgrade(SQLiteDatabase MyDB, int i, int i1) { MyDB.execSQL("drop Table if exists users"); } public Boolean insertData(String username, String password){ SQLiteDatabase MyDB = this.getWritableDatabase(); ContentValues contentValues= new ContentValues(); contentValues.put("username", username); contentValues.put("password", password); long result = MyDB.insert("users", null, contentValues); if(result==-1) return false; else return true; } public Boolean checkusername(String username) { SQLiteDatabase MyDB = this.getWritableDatabase(); Cursor cursor = MyDB.rawQuery("Select * from users where username = ?", new String[]{username}); if (cursor.getCount() > 0) return true; else return false; } public Boolean checkusernamepassword(String username, String password){ SQLiteDatabase MyDB = this.getWritableDatabase(); Cursor cursor = MyDB.rawQuery("Select * from users where username = ? and password = ?", new String[] {username,password}); if(cursor.getCount()>0) return true; else return false; } }
Let us first create main_activity.xml which serves as the register page. This page will have three edit text boxes, username, password and retype password. The code snippet for main_activity.xml is as follows.
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:padding="10dp" tools:context=".MainActivity"> <EditText android:id="@+id/username" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="User Name" android:layout_marginTop="50dp"/> <EditText android:id="@+id/password" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Password" android:layout_marginTop="50dp" android:layout_below="@+id/username"/> <EditText android:id="@+id/repassword" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Retype Password" android:layout_marginTop="50dp" android:layout_below="@+id/password"/> <Button android:id="@+id/btnsignup" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Register" android:layout_marginTop="50dp" android:layout_below="@+id/repassword"/> <Button android:id="@+id/btnsignin" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Existing user! Go to Sign in page" android:layout_marginTop="50dp" android:layout_below="@+id/btnsignup"/> </RelativeLayout>
The code snippet for MainActivity.java is as follows.
package com.learnandroid.loginsqlite; import androidx.appcompat.app.AppCompatActivity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class MainActivity extends AppCompatActivity { EditText username, password, repassword; Button signup, signin; DBHelper DB; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); username = (EditText) findViewById(R.id.username); password = (EditText) findViewById(R.id.password); repassword = (EditText) findViewById(R.id.repassword); signup = (Button) findViewById(R.id.btnsignup); signin = (Button) findViewById(R.id.btnsignin); DB = new DBHelper(this); signup.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { String user = username.getText().toString(); String pass = password.getText().toString(); String repass = repassword.getText().toString(); if(user.equals("")||pass.equals("")||repass.equals("")) Toast.makeText(MainActivity.this, "Please enter all the fields", Toast.LENGTH_SHORT).show(); else{ if(pass.equals(repass)){ Boolean checkuser = DB.checkusername(user); if(checkuser==false){ Boolean insert = DB.insertData(user, pass); if(insert==true){ Toast.makeText(MainActivity.this, "Registered successfully", Toast.LENGTH_SHORT).show(); Intent intent = new Intent(getApplicationContext(),HomeActivity.class); startActivity(intent); }else{ Toast.makeText(MainActivity.this, "Registration failed", Toast.LENGTH_SHORT).show(); } } else{ Toast.makeText(MainActivity.this, "User already exists! please sign in", Toast.LENGTH_SHORT).show(); } }else{ Toast.makeText(MainActivity.this, "Passwords not matching", Toast.LENGTH_SHORT).show(); } } } }); signin.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent = new Intent(getApplicationContext(), LoginActivity.class); startActivity(intent); } }); } }
Now create another activity for Login. The code snippet for activity_login.xml is as follows.
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:padding="10dp" tools:context=".LoginActivity"> <EditText android:id="@+id/username1" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="User Name" android:layout_marginTop="50dp"/> <EditText android:id="@+id/password1" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Password" android:layout_marginTop="50dp" android:layout_below="@+id/username1"/> <Button android:id="@+id/btnsignin1" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Sign in" android:layout_marginTop="50dp" android:layout_below="@+id/password1"/> </RelativeLayout>
The code snippet for LoginActivity.java is as follows:
package com.learnandroid.loginsqlite; import androidx.appcompat.app.AppCompatActivity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class LoginActivity extends AppCompatActivity { EditText username, password; Button btnlogin; DBHelper DB; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_login); username = (EditText) findViewById(R.id.username1); password = (EditText) findViewById(R.id.password1); btnlogin = (Button) findViewById(R.id.btnsignin1); DB = new DBHelper(this); btnlogin.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { String user = username.getText().toString(); String pass = password.getText().toString(); if(user.equals("")||pass.equals("")) Toast.makeText(LoginActivity.this, "Please enter all the fields", Toast.LENGTH_SHORT).show(); else{ Boolean checkuserpass = DB.checkusernamepassword(user, pass); if(checkuserpass==true){ Toast.makeText(LoginActivity.this, "Sign in successfull", Toast.LENGTH_SHORT).show(); Intent intent = new Intent(getApplicationContext(), HomeActivity.class); startActivity(intent); }else{ Toast.makeText(LoginActivity.this, "Invalid Credentials", Toast.LENGTH_SHORT).show(); } } } }); } }
Create and emprty activity HomeActivity.java and run the program.
Visit youtube video on this tutorials:
To subscribe out youtube channel Click
Whenever I press go to sign inn page it says mobile application keeps stopping pleaseeee help asap
ReplyDeleteCheck your logcat to look for errors!
Deletesame isue please helpme
Deleteas i click register activity stops or kill
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteYou are sharing a particularly decent article here. It is a significant and factual article for us. after reading this article i have clearly understand about the android technology used in Downtime Tracking system. Thankful to you for sharing an article like this.
ReplyDeleteddd
ReplyDeleteThank you Sir.,,
ReplyDeleteThank you Sir.
ReplyDelete