Develop an android application to insert data in SQLite database and show the added records
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.sqlitedbapp">
<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=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
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"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:padding="20dp"
android:orientation="vertical">
<EditText android:id="@+id/etRN"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter roll no" />
<EditText android:id="@+id/etName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter name" />
<Button android:id="@+id/btnAddStudent"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Add Student"
android:onClick="addNewStudent"/>
<TextView android:id="@+id/tvInfo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="22sp"
android:padding="10dp"/>
</LinearLayout>
MainActivity.java
package com.example.sqlitedbapp;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import java.util.List;
public class MainActivity extends AppCompatActivity {
DatabaseHelper databaseHelper;
EditText etRN, etName;
TextView tvInfo;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
etRN = findViewById(R.id.etRN);
etName = findViewById(R.id.etName);
tvInfo = findViewById(R.id.tvInfo);
databaseHelper = new DatabaseHelper(MainActivity.this);
}
public void addNewStudent(View view) {
int rn = Integer.parseInt(etRN.getText().toString());
String name = etName.getText().toString();
databaseHelper.addStudent(rn, name);
displayAllStudents();
}
private void displayAllStudents() {
List<Student> studentList = databaseHelper.allStudents();
String data = "";
for(Student s : studentList) {
data += s.getRollno() + ", " + s.getName() + "\n";
}
tvInfo.setText(data);
}
}
DatabaseHelper.java
package com.example.sqlitedbapp;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
public class DatabaseHelper extends SQLiteOpenHelper {
private static final int DATABASE_VERSION=1;
private static final String DATABASE_NAME = "mydb.db";
private static final String TABLE_NAME = "StudentData";
private static final String COLUMN_ID = "_id";
private static final String COLUMN_ROLL_NO = "RollNo";
private static final String COLUMN_NAME = "Name";
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
String query = "CREATE TABLE " + TABLE_NAME + "( " + COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + COLUMN_ROLL_NO + " TEXT"+", " + COLUMN_NAME + ");";
try {
db.execSQL(query);
}
catch(Exception e) {
e.printStackTrace();
}
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
onCreate(db);
}
public void addStudent(int rollno, String name) {
ContentValues values = new ContentValues();
SQLiteDatabase db = getWritableDatabase();
values.put(COLUMN_ROLL_NO, rollno);
values.put(COLUMN_NAME, name);
db.insert(TABLE_NAME, null, values);
db.close();
}
public List allStudents() {
List<Student> list = new ArrayList<Student>();
String query = "SELECT DISTINCT " + COLUMN_ROLL_NO + "," + COLUMN_NAME + " FROM " + TABLE_NAME + " ORDER BY "+ COLUMN_ID;
SQLiteDatabase db = getWritableDatabase();
Cursor c = db.rawQuery(query, null);
int rn;
String n;
while (c.moveToNext()) {
rn = c.getInt(c.getColumnIndex(COLUMN_ROLL_NO));
n = c.getString(c.getColumnIndex(COLUMN_NAME));
list.add(new Student(rn, n));
}
db.close();
return list;
}
public void delete(int rollno) {
SQLiteDatabase db = getWritableDatabase();
db.execSQL("DELETE FROM " + TABLE_NAME + " WHERE " + COLUMN_ROLL_NO + "=" + rollno);
}
}
Student.java
package com.example.sqlitedbapp;
public class Student {
int rollno;
String name;
public Student(int rollno, String name) {
this.rollno = rollno;
this.name = name;
}
public int getRollno() {
return rollno;
}
public void setRollno(int rollno) {
this.rollno = rollno;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
OUTPUT