0% found this document useful (0 votes)
43 views

List View: Activity

This document contains code for an Android application that manages student data using SQLite database. It includes: 1) A MainActivity class that controls the user interface and allows adding, editing and deleting student records from a ListView. 2) A Database class that defines methods for interacting with the SQLite database, including adding, updating and removing student records. 3) A SinhVienAdapter class that extends ArrayAdapter to display student data in the ListView. 4) SinhVien model class to represent individual student objects. The application allows viewing a list of students, clicking to edit an existing record, adding new records, and long pressing to delete records from both the database and ListView.

Uploaded by

Thảo
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
43 views

List View: Activity

This document contains code for an Android application that manages student data using SQLite database. It includes: 1) A MainActivity class that controls the user interface and allows adding, editing and deleting student records from a ListView. 2) A Database class that defines methods for interacting with the SQLite database, including adding, updating and removing student records. 3) A SinhVienAdapter class that extends ArrayAdapter to display student data in the ListView. 4) SinhVien model class to represent individual student objects. The application allows viewing a list of students, clicking to edit an existing record, adding new records, and long pressing to delete records from both the database and ListView.

Uploaded by

Thảo
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 12

LIST VIEW

Activity
public class MainActivity extends AppCompatActivity {

EditText edit1,edit2;
Button btn1,btn2,btn3,btn4;
ArrayList<sinhvien> sinhvienArrayList;
Apdater_sinhvien apdater_sinhvien;
ListView listView;
int vitri=-1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate( savedInstanceState );
setContentView( R.layout.activity_main );
Anhxa();
sinhvienArrayList= new ArrayList<sinhvien>( );
apdater_sinhvien= new Apdater_sinhvien(
MainActivity.this,R.layout.test_main,sinhvienArrayList );
listView.setAdapter( apdater_sinhvien );

btn1.setOnClickListener( new View.OnClickListener() {


@Override
public void onClick(View v) {
sinhvienArrayList.add( new sinhvien(
edit1.getText().toString(),edit2.getText().toString() ) );
apdater_sinhvien.notifyDataSetChanged();
}
} );

listView.setOnItemClickListener( new AdapterView.OnItemClickListener() {


@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
sinhvien sv=sinhvienArrayList.get( position );
edit1.setText( sv.getHoten() );
edit2.setText( sv.getLop() );
vitri=position;
}
} );
btn2.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View v) {
sinhvienArrayList.remove( vitri );
apdater_sinhvien.notifyDataSetChanged();
}
} );
btn3.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View v) {
edit1.getText().clear();
edit2.setText( "" );
apdater_sinhvien.notifyDataSetChanged();
}
} );
btn4.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View v) {
sinhvienArrayList.set( vitri,new sinhvien(
edit1.getText().toString(),edit2.getText().toString() ) );
apdater_sinhvien.notifyDataSetChanged();
}
} );
}
private void Anhxa()
{
edit1=(EditText)findViewById( R.id.editText1 );
edit2=(EditText)findViewById( R.id.editText2 );
btn1=(Button)findViewById( R.id.button1 );
btn2=(Button)findViewById( R.id.button2);
btn3=(Button)findViewById( R.id.btnreset );
btn4=(Button)findViewById( R.id.button3 );
listView=(ListView)findViewById( R.id.listview );

Adapter
public class Apdater_sinhvien extends BaseAdapter {

private Context context;


private int layout;
private ArrayList<sinhvien> sinhvienArrayList;

public Apdater_sinhvien(Context context, int layout, ArrayList<sinhvien>


sinhvienArrayList) {
this.context = context;
this.layout = layout;
this.sinhvienArrayList = sinhvienArrayList;
}

@Override
public int getCount() {
return sinhvienArrayList.size();
}

@Override
public Object getItem(int position) {
return null;
}

@Override
public long getItemId(int position) {
return 0;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {

LayoutInflater inflater= (LayoutInflater)context.getSystemService(


context.LAYOUT_INFLATER_SERVICE );
convertView=inflater.inflate( layout,null );
TextView textView=(TextView)convertView.findViewById( R.id.textView );
TextView textView1=(TextView)convertView.findViewById( R.id.textView2 );
@SuppressLint("ResourceType") ImageView
imageView=(ImageView)convertView.findViewById( R.drawable.ic_launcher_background );

sinhvien sv=sinhvienArrayList.get( position );


textView.setText( sv.getHoten() );
textView1.setText( sv.getLop() );
return convertView;
}
DATABASE
Database
public class Database extends SQLiteOpenHelper {

private static final String csdl = "QuanLySinhVien";


private static final String tenbang = "SinhVien";
private static final String ma = "Ma";
private static final String ten = "Ten";
private static final String diachi = "Diachi";
private static final String sdt = "Sdt";

private String TaoBang = "Create Table "+tenbang+"("+


ma+" integer primary key, "+
ten+" text, "+
diachi+" text, "+
sdt+" text)";

public Database(Context context) {


super(context, csdl, null, 1);
}

@Override
public void onCreate(SQLiteDatabase db) {
//Nơi khởi tạo bảng dữ liệu
//Chỉ được gọi khi chưa tạo bảng
db.execSQL(TaoBang);

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
//Chỉ được gọi khi thay đổi version
}
public void ThemSV(SinhVien sv){
SQLiteDatabase database = this.getWritableDatabase();
ContentValues value = new ContentValues();
value.put(ten,sv.getTen());
value.put(diachi,sv.getDiachi());
value.put(sdt,sv.getSdt());

database.insert(tenbang,null,value);
database.close();
}
public List<SinhVien> getAllSinhVien(){
List<SinhVien> dsSinhVien = new ArrayList<>();
String selectQuery = "Select * From "+tenbang;
SQLiteDatabase dtbase = this.getWritableDatabase();
Cursor cursor = dtbase.rawQuery(selectQuery,null);
while (cursor.moveToNext()){
SinhVien sinhVien = new SinhVien();
sinhVien.setId(cursor.getInt(0));
sinhVien.setTen(cursor.getString(1));
sinhVien.setDiachi(cursor.getString(2));
sinhVien.setSdt(cursor.getString(3));

dsSinhVien.add(sinhVien);
}
dtbase.close();
return dsSinhVien;
}
public int CapNhatsv(SinhVien sv){

SQLiteDatabase database = this.getWritableDatabase();


ContentValues value = new ContentValues();

value.put(ten,sv.getTen());
value.put(diachi,sv.getDiachi());
value.put(sdt,sv.getSdt());
return database.update(tenbang,value,ma+"="+sv.getId(),null);
}
public int Xoasv(int id){

SQLiteDatabase database = this.getWritableDatabase();


return database.delete(tenbang,ma+"="+id,null);

}
}

Adapter
public class SinhVienAdapter extends ArrayAdapter<SinhVien> {
private Context context;
private int layout;
private List<SinhVien> sinhVienList;

public SinhVienAdapter(Context context, int layout, List<SinhVien> sinhVienList) {


super(context,layout,sinhVienList);
this.context = context;
this.layout = layout;
this.sinhVienList = sinhVienList;
}

@Override
public int getCount() {
return sinhVienList.size();
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater)
context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(layout,null);
//Ánh xạ
TextView txtMa = (TextView)convertView.findViewById(R.id.textViewmasv);
TextView txtTen = (TextView)convertView.findViewById(R.id.textViewtensv);
TextView txtDiaChi =
(TextView)convertView.findViewById(R.id.textViewdiachisv);
TextView txtDT = (TextView)convertView.findViewById(R.id.textViewsdtsv);

SinhVien sinhVien = sinhVienList.get(position);


txtMa.setText(sinhVien.getId()+"");
txtTen.setText(sinhVien.getTen());
txtDiaChi.setText(sinhVien.getDiachi());
txtDT.setText(sinhVien.getSdt());

return convertView;
}
}
Activity
public class MainActivity extends AppCompatActivity {

EditText edtTen, edtDiaChi, edtSDT,edtMa;


Button btnNhap,btnSua;
ListView lvSinhVien;
Database dtbase;
List<SinhVien> sinhVienList;
SinhVienAdapter adapter;
int ViTri=-1;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
dtbase = new Database(this);
AnhXa();
sinhVienList = dtbase.getAllSinhVien();
setAdapte();

btnNhap.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SinhVien sv = CreateSV();
dtbase.ThemSV(sv);
sinhVienList.clear();
sinhVienList.addAll(dtbase.getAllSinhVien());
setAdapte();
}
});
lvSinhVien.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
SinhVien sv = sinhVienList.get(position);
edtMa.setText(sv.getId()+"");
edtTen.setText(sv.getTen());
edtDiaChi.setText(sv.getDiachi());
edtSDT.setText(sv.getSdt());
btnNhap.setEnabled(false);
btnSua.setEnabled(true);

}
});
lvSinhVien.setOnItemLongClickListener(new
AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view, int
position, long id) {

SinhVien sv = sinhVienList.get(position);
dtbase.Xoasv(sv.getId());
sinhVienList.clear();
sinhVienList.addAll(dtbase.getAllSinhVien());
setAdapte();
//adapter.notifyDataSetChanged();
return false;
}
});

btnSua.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SinhVien sv = new SinhVien();
sv.setId(Integer.parseInt(edtMa.getText().toString()));
sv.setTen(edtTen.getText().toString());
sv.setDiachi(edtDiaChi.getText().toString());
sv.setSdt(edtSDT.getText().toString());
int kqua=dtbase.CapNhatsv(sv);
if (kqua>0){
btnNhap.setEnabled(true);
btnSua.setEnabled(false);
sinhVienList.clear();
sinhVienList.addAll(dtbase.getAllSinhVien());
adapter.notifyDataSetChanged();
edtMa.setText("");
edtTen.setText("");
edtDiaChi.setText("");
edtSDT.setText("");
}else {
btnNhap.setEnabled(false);
btnSua.setEnabled(true);
}
}
});
}

private void setAdapte() {


if (adapter == null) {
adapter = new SinhVienAdapter(MainActivity.this, R.layout.dongsinhvien,
sinhVienList);
lvSinhVien.setAdapter(adapter);
}else {
adapter.notifyDataSetChanged();
lvSinhVien.setSelection(adapter.getCount()-1);
}
}
private void AnhXa() {
edtTen = (EditText)findViewById(R.id.editTextTen);
edtDiaChi = (EditText)findViewById(R.id.editTextDiaChi);
edtSDT = (EditText)findViewById(R.id.editTextsdt);
edtMa = (EditText)findViewById(R.id.editTextID) ;
btnNhap =(Button)findViewById(R.id.buttonLuu);
btnSua = (Button)findViewById(R.id.buttonSua) ;
lvSinhVien = (ListView) findViewById(R.id.lvSinhVien);
}
private SinhVien CreateSV(){
String tensv = edtTen.getText().toString();
String diachisv = edtDiaChi.getText().toString();
String sodt = edtSDT.getText().toString();

SinhVien sinhvien = new SinhVien(tensv,diachisv,sodt);


return sinhvien;
}

}
CHECK BOX
public class detail extends AppCompatActivity {
MonAn current;
Button save;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_detail);
Intent i = getIntent();
current = (MonAn) i.getSerializableExtra("data");
save = findViewById(R.id.button);
EditText tenmon = findViewById(R.id.editText2);
CheckBox tuongot = findViewById(R.id.checkBox);
CheckBox thit = findViewById(R.id.checkBox2);
CheckBox rau = findViewById(R.id.checkBox3);
tenmon.setText(current.getTen()+"");
tuongot.setChecked(current.getTuongOt());
thit.setChecked(current.getThit());
rau.setChecked(current.getRau());
save.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
EditText tenmon = findViewById(R.id.editText2);
CheckBox tuongot = findViewById(R.id.checkBox);
CheckBox thit = findViewById(R.id.checkBox2);
CheckBox rau = findViewById(R.id.checkBox3);

MonAn result = new MonAn(tenmon.getText()+"", tuongot.isChecked(),


thit.isChecked(), rau.isChecked());
Intent intent = new Intent();
intent.putExtra("result", result);
setResult(2,intent);
finish();
}
});
}
}
MonAnAdapter
public class MonAnAdapter extends ArrayAdapter<MonAn> {
private Context context;
private int layout;
private ArrayList<MonAn> listMonAn;

public MonAnAdapter(Context context, int resource, ArrayList<MonAn> listMonAn) {


super(context, resource, listMonAn);
this.context = context;
this.layout = resource;
this.listMonAn = listMonAn;
}

@Override
public View getView(int position, View convertview, ViewGroup viewGroup) {
LayoutInflater inflater = (LayoutInflater)
context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertview = inflater.inflate(layout, null);
TextView txtTen = convertview.findViewById(R.id.textView);
TextView txtMota = convertview.findViewById(R.id.textView2);

MonAn monan = listMonAn.get(position);


txtTen.setText(monan.getTen());
txtMota.setText(monan.getMota());
return convertview;
}
}

MonAn
public class MonAn implements Serializable {
private String Ten;
private Boolean TuongOt;
private Boolean Thit;
private Boolean Rau;

public MonAn(String ten, Boolean tuongOt, Boolean thit, Boolean rau) {


Ten = ten;
TuongOt = tuongOt;
Thit = thit;
Rau = rau;
}

public String getTen() {


return Ten;
}

public void setTen(String ten) {


Ten = ten;
}

public Boolean getTuongOt() {


return TuongOt;
}

public void setTuongOt(Boolean tuongOt) {


TuongOt = tuongOt;
}

public Boolean getThit() {


return Thit;
}

public void setThit(Boolean thit) {


Thit = thit;
}

public Boolean getRau() {


return Rau;
}

public void setRau(Boolean rau) {


Rau = rau;
}

public String getMota(){


return (TuongOt ? "Tương ớt / " : "") + ( Thit ? "Thịt / " : "" )+ ( Rau ?
"Rau" : "" );
}

}
ACTIVYTI
public class MainActivity extends AppCompatActivity {
ListView ListMonAn ;
ArrayList<MonAn> MonAnArraylist;
MonAnAdapter adapter;

EditText txtten;
CheckBox tuongot;
CheckBox thit;
CheckBox rau;
int vitri = -1;
Button btn ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
txtten = findViewById(R.id.editText5);
tuongot = findViewById(R.id.checkBox12);
thit = findViewById(R.id.checkBox13);
rau = findViewById(R.id.checkBox14);
btn = findViewById(R.id.button2);
ListMonAn = (ListView)findViewById(R.id.listview);

MonAnArraylist = new ArrayList<MonAn>();

adapter = new MonAnAdapter(MainActivity.this, R.layout.test_main,


MonAnArraylist);

ListMonAn.setAdapter(adapter);

btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
MonAnArraylist.add(new MonAn(txtten.getText() + "",
tuongot.isChecked(), thit.isChecked(), rau.isChecked()));
adapter.notifyDataSetChanged();
}
});

ListMonAn.setOnItemClickListener(new AdapterView
.OnItemClickListener() {
@Override
public void onItemClick(
AdapterView<?> arg0,View arg1,
int arg2,long arg3) {
vitri = arg2;
MonAn current = MonAnArraylist.get(arg2);
Intent i = new Intent(getApplicationContext(), detail.class);
i.putExtra("data", current);
startActivityForResult(i, 2);
}

});

ListMonAn.setOnItemLongClickListener(new AdapterView
.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> arg0, View arg1,
final int arg2, long arg3) {

AlertDialog.Builder alertDialogBuilder = new


AlertDialog.Builder(MainActivity.this);
alertDialogBuilder.setMessage("Bán có muốn xóa sản phẩm này!");
alertDialogBuilder.setPositiveButton("Có", new
DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int which)
{
MonAnArraylist.remove(arg2);//xóa phần tử thứ arg2
adapter.notifyDataSetChanged();
}
});
alertDialogBuilder.setNegativeButton("Không", new
DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
alertDialogBuilder.show();
return true;
}
});
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == 2)
{
MonAn result = (MonAn) data.getSerializableExtra("result");
MonAnArraylist.set(vitri, result);
adapter.notifyDataSetChanged();
}
}
}
public class MainActivity extends AppCompatActivity {
EditText editHangsx,editMamay,editSoluong;
Button bntNhap,bntClear;
RadioGroup group1,group2;
DataBase dtbase;
// List<Banhang> banhangList;
String bhang, kvuc;

RadioButton radio;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate( savedInstanceState );
setContentView( R.layout.activity_main );

dtbase= new DataBase( this );


Anhxa();

bntNhap.setOnClickListener( new View.OnClickListener() {


@Override
public void onClick(View v) {
Banhang bh= CreateBanhang();
dtbase.Themsp( bh );
}
} );
bntClear.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View v) {
editHangsx.getText().clear();
editMamay.getText().clear();
editSoluong.getText().clear();
}
} );
}

private void Anhxa()


{
editHangsx=(EditText)findViewById( R.id.editText5 );
bntNhap=(Button)findViewById(R.id.button);
bntClear=(Button)findViewById(R.id.button2);
editMamay=(EditText)findViewById( R.id.editText6 );
editSoluong=(EditText)findViewById( R.id.editText7 );
group1=(RadioGroup)findViewById( R.id.radio1 );
group2=(RadioGroup)findViewById( R.id.radio2 );
radio=(RadioButton)findViewById( R.id.radioButton4 );

group1.setOnCheckedChangeListener( new RadioGroup.OnCheckedChangeListener() {


@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
switch (checkedId)
{
case R.id.radioButton4:
bhang="tien mat";
break;
case R.id.radioButton3:
bhang="chuyenkhoan";
break;
case R.id.radioButton5:
bhang="the tin dung";
break;
}
}
} );
group2.setOnCheckedChangeListener( new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
switch (checkedId)
{
case R.id.radioButton6:
kvuc="tien mat";
break;
case R.id.radioButton7:
kvuc="chuyenkhoan";
break;
}
}
} );

}
private Banhang CreateBanhang()
{
String hangsx= editHangsx.getText().toString();
String mamay= editMamay.getText().toString();
String soluong= editSoluong.getText().toString();
String thanhtoan= bhang.toString();
String giaohang= kvuc.toString();

Banhang banhang= new Banhang( hangsx,mamay,soluong,thanhtoan,giaohang );


return banhang;
}

You might also like