android tutorial

Tutorial android studio dengan sqlite

Tutorial Android

Tutorial android studio dengan sqlite

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout 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"

tools:context=".MainActivity"

android:orientation="vertical">

<EditText

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:hint="Name"

android:id="@+id/nameEdit"

android:layout_margin="10dp"/>

<EditText

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:hint="Age"

android:id="@+id/ageEdit"

android:layout_margin="10dp"

android:inputType="number"/>

<EditText

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:hint="City"

android:id="@+id/cityEdit"

android:layout_margin="10dp"/>

<Button

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="center"

android:text="Submit"

android:id="@+id/submitBtn"/>

<ListView

android:layout_width="match_parent"

android:layout_height="match_parent"

android:id="@+id/listViewId"/>

</LinearLayout>

 

DBHelper.java

package com.example.sqliteexample;

import android.app.DownloadManager;

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;

import java.util.ArrayList;

import java.util.List;

public class DBHelper extends SQLiteOpenHelper {

private static final int DATABASE_VERSION = 1;

private static final String DATABASE_NAME = "schoolDetails";

private static final String TABLE_STUDENTS = "students";

private static final String ID = "id";

private static final String NAME = "name";

private static final String AGE = "age";

private static final String CITY = "class";

public DBHelper(@Nullable Context context) {

super(context, DATABASE_NAME, null, DATABASE_VERSION);

}

@Override

public void onCreate(SQLiteDatabase db) {

String CREATE_STUDENT_TABLE = " CREATE TABLE " + TABLE_STUDENTS + "(" + ID + " INTEGER PRIMARY KEY, "

+ NAME + " TEXT, " + AGE + " TEXT, " + CITY + " TEXT " + ")";

db.execSQL(CREATE_STUDENT_TABLE);

}

@Override

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

db.execSQL(" DROP TABLE IF EXISTS "+ TABLE_STUDENTS);

onCreate(db);

}

public void addContacts(Students students){

SQLiteDatabase db = this.getReadableDatabase();

ContentValues contentValues = new ContentValues();

contentValues.put(NAME,students.getName());

contentValues.put(AGE,students.getAge());

contentValues.put(CITY,students.getCity());

db.insert(TABLE_STUDENTS,null,contentValues);

db.close();

}

// code to get the single contact

public Students getStudents(int id){

SQLiteDatabase db = this.getReadableDatabase();

Cursor cursor = db.rawQuery("select * from " + TABLE_STUDENTS + " where id="+id+"", null);

if(cursor != null)

cursor.moveToFirst();

Students students = new Students(Integer.parseInt(cursor.getString(0)),

cursor.getString(1), Integer.parseInt(cursor.getString(2)),cursor.getString(3));

return students;

}

// code to get all contacts in a list view

public List getAllStudents(){

List studentsList = new ArrayList<>();

String selectQuery = "SELECT * FROM " + TABLE_STUDENTS;

SQLiteDatabase db = this.getReadableDatabase();

Cursor cursor = db.rawQuery(selectQuery,null);

if(cursor.moveToFirst()){

do{

Students students = new Students();

students.setId(Integer.parseInt(cursor.getString(0)));

students.setName(cursor.getString(1));

students.setAge(Integer.parseInt(cursor.getString(2)));

students.setCity(cursor.getString(3));

studentsList.add(students);

}while(cursor.moveToNext());

}

return studentsList;

}

// code to update the single contact

public boolean updateStudents(int id, String name, int age, String city){

SQLiteDatabase db = this.getWritableDatabase();

ContentValues contentValues = new ContentValues();

contentValues.put(NAME,name);

contentValues.put(AGE,age);

contentValues.put(CITY,city);

db.update(TABLE_STUDENTS, contentValues, ID + " = ? " ,

new String[]{String.valueOf(id)});

return true;

}

// Deleting single contact

public void deleteStudents(Students students){

SQLiteDatabase db = this.getWritableDatabase();

db.delete(TABLE_STUDENTS, ID + " = ? ",

new String[]{String.valueOf(students.getId())});

db.close();

}

// Getting contacts Count

public int getStudentsCount() {

int count=0;

String countQuery = "SELECT * FROM " + TABLE_STUDENTS;

SQLiteDatabase db = this.getReadableDatabase();

Cursor cursor = db.rawQuery(countQuery, null);

if(cursor != null && !cursor.isClosed()){

count = cursor.getCount();

cursor.close();

}

return count;

}

public int getLastStudentsId(){

int count = 0;

SQLiteDatabase db = this.getReadableDatabase();

String query = "SELECT * FROM " + TABLE_STUDENTS;

Cursor cursor = db.rawQuery(query,null);

if(cursor != null && !cursor.isClosed()){

cursor.moveToLast();

if(cursor.getCount() == 0) {

count = 1;

}else{

count = cursor.getInt(cursor.getColumnIndex(ID));

}

}

return count;

}

}

 

MainActivity.java

package com.example.sqliteexample;

import androidx.appcompat.app.AlertDialog;

import androidx.appcompat.app.AppCompatActivity;

import android.content.DialogInterface;

import android.os.Bundle;

import android.text.TextUtils;

import android.util.Log;

import android.view.View;

import android.widget.AdapterView;

import android.widget.ArrayAdapter;

import android.widget.Button;

import android.widget.EditText;

import android.widget.ListView;

import android.widget.Toast;

import java.util.ArrayList;

import java.util.List;

public class MainActivity extends AppCompatActivity{

private ListView listViewId;

private ArrayAdapter arrayAdapter;

private List studentLists = new ArrayList<>();

private ArrayList data = new ArrayList<>();

private EditText nameEdit, ageEdit, cityEdit;

private Button submitBtn;

private DBHelper dbHelper;

private Students student;

int count=0;

int currid = 0;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

listViewId = findViewById(R.id.listViewId);

nameEdit = findViewById(R.id.nameEdit);

ageEdit = findViewById(R.id.ageEdit);

cityEdit = findViewById(R.id.cityEdit);

submitBtn = findViewById(R.id.submitBtn);

dbHelper = new DBHelper(this);

showListData();

submitBtn.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

boolean checkName = TextUtils.isEmpty(nameEdit.getText().toString());

boolean checkAge = TextUtils.isEmpty(ageEdit.getText().toString());

boolean checkCity = TextUtils.isEmpty(cityEdit.getText().toString());

if(!checkName && !checkAge && !checkCity) {

Log.d("True", ((Button) v).getText().toString());

if (((Button) v).getText().toString().equals("Submit")) {

String name = nameEdit.getText().toString();

int age = Integer.parseInt(ageEdit.getText().toString());

String city = cityEdit.getText().toString();

count = dbHelper.getLastStudentsId();

Log.d("Count", String.valueOf(count));

// if(count == -1){

// count = 0;

// }

dbHelper.addContacts(new Students((count + 1), name, age, city));

showListData();

nameEdit.setText("");

ageEdit.setText("");

cityEdit.setText("");

} else {

String name = nameEdit.getText().toString();

int age = Integer.parseInt(ageEdit.getText().toString());

String city = cityEdit.getText().toString();

dbHelper.updateStudents(currid, name, age, city);

nameEdit.setText("");

ageEdit.setText("");

cityEdit.setText("");

submitBtn.setText("Submit");

showListData();

}

}else{

if(checkName == true){

nameEdit.setError("Please Enter a Name!");

}if(checkAge == true){

ageEdit.setError("Please enter the Age!");

}if(checkCity == true){

cityEdit.setError("Please Enter the City!");

}

}

}

});

}

public void showListData(){

studentLists.clear();

data.clear();

studentLists = dbHelper.getAllStudents();

// Toast.makeText(getApplicationContext(), String.valueOf(studentLists.size()),Toast.LENGTH_SHORT).show();

if(studentLists.size() != 0){

for(int i=0; i< studentLists.size(); i++){

data.add(studentLists.get(i).name+" , "+studentLists.get(i).age+" , "+studentLists.get(i).city);

}

}

arrayAdapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, data);

listViewId.setAdapter(arrayAdapter);

listViewId.setOnItemClickListener(new AdapterView.OnItemClickListener() {

@Override

public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

student = dbHelper.getStudents(position+1);

nameEdit.setText(student.getName());

ageEdit.setText(String.valueOf(student.getAge()));

cityEdit.setText(student.getCity());

submitBtn.setText("Update");

currid = position+1;

}

});

listViewId.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {

@Override

public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {

student = dbHelper.getStudents(position+1);

new AlertDialog.Builder(MainActivity.this)

.setMessage("Are you sure You want to delete the Data?")

.setPositiveButton("Yes", new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

dbHelper.deleteStudents(student);

showListData();

}

}).setNegativeButton("No",null).show();

return true;

}

});

}

}

 

Students.java

package com.example.sqliteexample;

public class Students {

int id;

String name;

int age;

String city;

public Students(){

}

public Students(int id, String name, int age, String city) {

this.id = id;

this.name = name;

this.age = age;

this.city = city;

}

public int getId() {

return id;

}

public void setId(int id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

public String getCity() {

return city;

}

public void setCity(String city) {

this.city = city;

}

}

 

 

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *