Practical 26
Practical 26
Exercise
1. Write a program to insert data in SQLite database using AsyncTask
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="20dp"
tools:context=".MainActivity">
<EditText
android:layout_marginTop="90dp"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:id="@+id/username"
android:hint="Username"
android:layout_gravity="center"/>
<EditText
android:layout_marginTop="50dp"
android:hint="Password"
android:inputType="textPassword"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:id="@+id/password"
android:layout_gravity="center"/>
<EditText
android:layout_marginTop="50dp"
android:hint="Re Password"
android:inputType="textPassword"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:id="@+id/rpassword"
android:layout_gravity="center"/>
<Button
android:id="@+id/btn"
android:layout_marginTop="50dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Sig-up"
android:layout_gravity="center"/>
<Button
android:id="@+id/btn2"
android:layout_marginTop="50dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Login"
android:layout_gravity="center"/>
</LinearLayout>
MainActivity.java
package com.example.pr26;
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;
Button login,sigup;
EditText username,password,repassword;
DBHelper DB;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
login = (Button) findViewById(R.id.btn);
sigup = (Button) findViewById(R.id.btn2);
username = (EditText) findViewById(R.id.username);
password = (EditText) findViewById(R.id.password);
repassword = (EditText) findViewById(R.id.rpassword);
DB = new DBHelper(this);
login.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();
}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();
}
} }
});
sigup.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new
Intent(MainActivity.this,MainActivity2.class);
startActivity(intent);
}
});
}
}
DBHelper.java
package com.example.pr26;
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;
@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");
}
activity_main2.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="20dp"
tools:context=".MainActivity">
<EditText
android:layout_marginTop="90dp"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:id="@+id/username1"
android:hint="Username"
android:layout_gravity="center"/>
<EditText
android:layout_marginTop="50dp"
android:hint="Password"
android:inputType="textPassword"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:id="@+id/password1"
android:layout_gravity="center"/>
<Button
android:id="@+id/btnsignin1"
android:layout_marginTop="50dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Login"
android:layout_gravity="center"/>
</LinearLayout>
MainActivity2.java
package com.example.pr26;
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;
btnlogin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(user.equals("")||pass.equals(""))
Toast.makeText(MainActivity2.this, "Please enter all
the fields", Toast.LENGTH_SHORT).show();
else{
Boolean checkuserpass = DB.checkusernamepassword(user,
pass);
if(checkuserpass==true){
Toast.makeText(MainActivity2.this, "Sign in
successfull", Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(MainActivity2.this, "Invalid
Credentials", Toast.LENGTH_SHORT).show();
}
}
}
});
}
}
Output: