1. SQL table Database create
package abhiandroid.com.Sql;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import androidx.annotation.Nullable;
public class MyDb extends SQLiteOpenHelper {
public static final String Table= "ex";
public static final int version = 1;
public MyDb(@Nullable Context context) {
super(context, Table, null, version);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE " + Table + "("
+ "id INTEGER PRIMARY KEY," +
" name TEXT NOT NULL," + " gender NOT NULL" +")");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL( "DROP TABLE IF EXISTS " + Table);
onCreate(db);
}
}
2.SQLliteOpenHelper.class
package abhiandroid.com.Sqlite;
import static android.os.Build.ID;
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 androidx.appcompat.app.AppCompatActivity;
import java.util.ArrayList;
public class MyDb extends SQLiteOpenHelper {
public static final String Table= "ex";
public static final int version = 1;
public MyDb(@Nullable Context context) {
super(context, Table, null, version);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE " + Table + "("
+ "ID INTEGER PRIMARY KEY," +
" NAME TEXT NOT NULL," + " GENDER NOT NULL" +")");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL( "DROP TABLE IF EXISTS " + Table);
onCreate(db);
}
public void insert (int id , String name , String gender){
SQLiteDatabase db = getWritableDatabase();
ContentValues values = new ContentValues();
values.put("ID",id);
values.put("NAME",name);
values.put("GENDER",gender);
db.insert(Table,null,values);
db.close();
}
public ArrayList<Model>farr(){
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery("SELECT * FROM " + Table,null);
ArrayList<Model> arrf = new ArrayList<>();
while (cursor.moveToNext()) {
Model model = new Model();
model.id = String.valueOf(cursor.getInt(0));
model.name = cursor.getString(1);
model.gender = cursor.getString(2);
arrf.add(model);
}
return arrf;
}
public void update(String id, String name ){
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("name",name);
db.update(Table,values,"ID = ?",new String[]{String.valueOf(id)});
db.close();
}
public void Delete(String id){
SQLiteDatabase db = this.getWritableDatabase();
db.delete(Table,"ID = ?", new String[]{id});
db.close();
}
}
3. MainActivity
package abhiandroid.com.recyclerjava;
import androidx.appcompat.app.AppCompatActivity;
import android.annotation.SuppressLint;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import java.util.ArrayList;
public class MainActivity extends AppCompatActivity {
EditText idEdt , nameEdt, genderEdt;
Button button, button2;
@SuppressLint("NotifyDataSetChanged")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
idEdt = findViewById(R.id.id);
nameEdt = findViewById(R.id.name);
genderEdt = findViewById(R.id.gender);
button = findViewById(R.id.button);
button2 = findViewById(R.id.button2);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int id = Integer.parseInt(idEdt.getText().toString());
String name = nameEdt.getText().toString();
String gender = genderEdt.getText().toString();
MyDb myDb = new MyDb(MainActivity.this);
if ( name.isEmpty() && gender.isEmpty()){
Toast.makeText(MainActivity.this, "not", Toast.LENGTH_SHORT).show();
return;
}
myDb.insert(id,name,gender);
Toast.makeText(MainActivity.this, "inserted all", Toast.LENGTH_SHORT).show();
idEdt.setText("");
nameEdt.setText("");
genderEdt.setText("");
}
});
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this,MainActivity2.class);
startActivity(intent);
}
});
MyDb myDb = new MyDb(MainActivity.this);
ArrayList<Model> farr = myDb.farr();
for (int i = 0; i<farr.size();i++)
Log.d("App","name : "+ farr.get(i).name + ", gender :" + farr.get(i).gender );
}
}
.4.
package abhiandroid.com.recyclerjava;
public class Model {
String id, name, gender;
}
5. detrend method
package abhiandroid.com.recyclerjava;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import android.os.Bundle;
import android.widget.Toast;
import java.util.ArrayList;
public class MainActivity2 extends AppCompatActivity {
RecyclerView rcy;
ArrayList<Rmodle> arr = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
MyDb myDb = new MyDb(MainActivity2.this);
ArrayList<Model> farr = myDb.farr();
rcy = findViewById(R.id.rcy);
rcy.setLayoutManager(new LinearLayoutManager(this));
for (int i = 0; i< farr.size();i++) {
String id = farr.get(i).id;
String name = farr.get(i).name;
String gender = farr.get(i).gender;
Toast.makeText(this, "h"+ name, Toast.LENGTH_SHORT).show();
Rmodle rmodle = new Rmodle(id,name,gender);
arr.add(rmodle);
}
Adapter adapter = new Adapter(this,arr);
rcy.setAdapter(adapter);
}
}
6.
package abhiandroid.com.recyclerjava;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import android.os.Bundle;
import android.widget.Toast;
import java.util.ArrayList;
public class MainActivity2 extends AppCompatActivity {
RecyclerView rcy;
ArrayList<Rmodle> arr = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
MyDb myDb = new MyDb(MainActivity2.this);
ArrayList<Model> farr = myDb.farr();
rcy = findViewById(R.id.rcy);
rcy.setLayoutManager(new LinearLayoutManager(this));
Adapter adapter = new Adapter(this,farr);
rcy.setAdapter(adapter);
// re();
//
}
// refresh method
public void re( ) {
MyDb myDb = new MyDb(MainActivity2.this);
ArrayList<Model> farr = myDb.farr();
Adapter adapter = new Adapter(this,farr);
adapter.notifyDataSetChanged();
}
}
7.
package abhiandroid.com.recyclerjava;
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.Intent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.RecyclerView;
import java.util.ArrayList;
public class Adapter extends RecyclerView.Adapter<Adapter.MyHolder> {
Context context;
// ArrayList <Rmodle>arr;
ArrayList<Model>farr;
public Adapter(Context context, ArrayList<Model> farr) {
this.context = context;
this.farr = farr;
}
@NonNull
@Override
public MyHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(context).inflate(R.layout.item,null,false);
return new MyHolder(view);
}
@Override
public void onBindViewHolder(@NonNull MyHolder holder, int position) {
Model model = farr.get(position);
holder.textView.setText(model.name);
String all = "al5";
holder.button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
MyDb myDb = new MyDb(context.getApplicationContext());
myDb.update(model.id.toString(), all);
holder.textView.setText(all);
// myDb.Delete(model.id.toString());
// MainActivity2 mainActivity2 = new MainActivity2();
// mainActivity2.re();
// Adapter adapter = new Adapter(context.getApplicationContext(),farr);
// adapter.notifyDataSetChanged();
// MainActivity2 mainActivity2 = new MainActivity2();
// mainActivity2.finish();
// Intent refresh = new Intent(context, MainActivity2.class);
// context.startActivity(refresh);
// mainActivity2.finish();
// arr.remove(position);
//arr.notifyAll();
// notifyDataSetChanged();
//arr.remove(position);
// rcy.removeViewAt(position);
// notifyItemRemoved(model,position);
// notifyItemRangeChanged(position, arr.size());
}
});
}
@Override
public int getItemCount() {
return farr.size();
}
public class MyHolder extends RecyclerView.ViewHolder {
TextView textView;
Button button;
public MyHolder(@NonNull View itemView) {
super(itemView);
textView = itemView.findViewById(R.id.text);
button = itemView.findViewById(R.id.button);
}
}
}
8.
9.