Báo cáo tuần 4- Xây dựng các class liên quan khách hàng, cơ hội, database
1. BÁO CÁO THỰC TẬP TUẦN 4
ĐỀ TÀI:
PHÁT TRIỂN PHẦN MỀM QUẢ LÍ KHÁCH HÀNG
TRÊN ANDROID TRÊN ĐIỆN THOẠI SỬ DỤNG
ANDROID
Xây Dựng các class liên quan khách
hàng, cơ hội, database
GVHD : Thầy Võ Đỗ Thắng
SVTH : Trương Duy Linh
MSSV : 51101863
3. Trong cấu trúc trên có 3 pakage: com.example.demoqlkh, donhang, sanphamco.
- Class MainActivity
public class MainActivity extends ActionBarActivity {
//Định nghĩa các requestCode, resultCode truyền đi
//trong Intent
public static final int MO_ACTIVITY_THEM_KHACH_HANG=1;
public static final int MO_ACTIVITY_SUA_KHACH_HANG=2;
public static final int THEM_KHACH_HANG_THANHCONG=3;
public static final int SUA_KHACH_HANG_THANHCONG=4;
public static final int XEM_DS_KHACH_HANG=5;
public static final int CAPNHAT_DS_KHACH_HANG_THANHCONG=6;
public static final int MO_ACTIVITY_CHUYEN_LEVEL=9;
public static final int CHUYEN_LEVEL_THANHCONG=10;
public static final int MO_ACTIVITY_THEM_DON_HANG=11;
public static final int THEM_DON_HANG_THANHCONG=12;
public static final int MO_ACTIVITY_SUA_DON_HANG=13;
public static final int SUA_DON_HANG_THANHCONG=14;
public static final int MO_ACTIVITY_DANHSACH_DON_HANG=15;
public static final int MO_ACTIVITY_DANHSACH_SAN_PHAM=20;
public static final int CAPNHAT_DS_SAN_PHAM_THANHCONG=6;
public static final int MO_ACTIVITY_SUA_SAN_PHAM=16;
public static final int SUA_SAN_PHAM_THANHCONG=17;
public static final int MO_ACTIVITY_THEM_SAN_PHAM=18;
public static final int THEM_SAN_PHAM_THANHCONG=19;
public static final int CAPNHAT_DS_DON_HANG_THANHCONG=16;
public static final int MO_DS_COHOI=20;
public static final int CAP_NHAT_DS_CO_HOI_THANHCONG=21;
//lvallkh hiển thị danh sách tất cả các khách hàng
ListView lvallkh;
EditText search;
ArrayList<KhachHang>custo;
ArrayAdapter<KhachHang> adaptercusto;
private static ArrayList<LevelKhachHang>arrlvkh=new ArrayList<LevelKhachHang>();
private int pos=-1;
private Button btnchonlevel;
DatabaseHandler db;
private KhachHang khach;
int posi=-1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lvallkh=(ListView)findViewById(R.id.lvallkh);
search=(EditText)findViewById(R.id.txtsearch);
custo=new ArrayList<KhachHang>();
4. //tạo truy vấn database
db=new DatabaseHandler(this);
btnchonlevel=(Button)findViewById(R.id.btnxoatt);
KhachHang custom=null;
//khởi tạo 3 level
LevelKhachHang l1=new LevelKhachHang("VIP");
LevelKhachHang l2=new LevelKhachHang("THUONG");
LevelKhachHang l3=new LevelKhachHang("TIMNANG");
//-------------------------------------------------------------
//kiểm tra xam dữ liệu có khách hàng nào hay chưa
//nếu chưa thì thêm vào
// nếu có thì đọc ra từ CSDL
if(db.getKhachHangCount()==0){
Log.d("12345", "6789");
custom=new KhachHang("1","Nam","1","1.@gmail.com","VIP","0",true);
l1.Themkh(custom);
db.addKhachHang(custom);
arrlvkh.add(l1);
custo.add(custom);
//-----------------
custom=new KhachHang("2","Tien","2","2.@gmail.com","TIMNANG","0",true);
l2.Themkh(custom);
db.addKhachHang(custom);
arrlvkh.add(l2);
custo.add(custom);
//-----------------
custom=new KhachHang("3","An","3","3.@gmail.com","THUONG","0",true);
l3.Themkh(custom);
db.addKhachHang(custom);
arrlvkh.add(l3);
custo.add(custom);
}
else{
for(KhachHang kh:db.getAllKhachHang()){
if(kh.getlevel().equals("VIP")){
l1.Themkh(kh);
custo.add(kh);
Log.d("LEVEL1", kh.getlevel());
}
else if(kh.getlevel().equals("THUONG")){
l2.Themkh(kh);
custo.add(kh);
Log.d("LEVEL2", kh.getlevel());
}
else {
l3.Themkh(kh);
custo.add(kh);
Log.d("LEVEL3", kh.getlevel());
}
}
arrlvkh.add(l1);
5. arrlvkh.add(l2);
arrlvkh.add(l3);
}
them_don_hang_va_tinh_gia();
adaptercusto=new
ArrayAdapter<KhachHang>(this,android.R.layout.simple_list_item_1,custo);
lvallkh.setAdapter(adaptercusto);
adaptercusto.notifyDataSetChanged();
//Đăng kí contextmenu
registerForContextMenu(btnchonlevel);
//Xử lí sự kiện khi gõ từ vào thanh search
search.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
// TODO Auto-generated method stub
adaptercusto.notifyDataSetChanged();
MainActivity.this.adaptercusto.getFilter().filter(s);
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
}
});
//xử lí sự kiên click vào item của ListView
//lấy vi trí của khách hàng gọi hiển thị danh sách đơn hàng
lvallkh.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub
khach=custo.get(position);
posi=position;
Intent inte=new Intent(MainActivity.this,DanhSachDonHang.class);
Bundle bundle=new Bundle();
bundle.putSerializable("KHACHHANG", khach);
inte.putExtra("DATA", bundle);
startActivityForResult(inte,MainActivity.MO_ACTIVITY_DANHSACH_DON_HANG);
}
});
}
6. //truy xuất CSDL thêm đơn hàng tương ứng với mỗi khách hàng
// tính coins cho khách hàng dựa trên các đơn hàng
public void them_don_hang_va_tinh_gia(){
for(KhachHang kha:custo){
int gia=0;
for(DonHang don:db.getdsdh_ofkh(Integer.parseInt(kha.getma()))){
kha.Themdh(don);
gia+=Integer.parseInt(don.getsmoney());
}
kha.setcoins(String.valueOf(gia));
db.updateKhachHang(kha);
}
}
//dăng kí contextmenu
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
// TODO Auto-generated method stub
super.onCreateContextMenu(menu, v, menuInfo);
getMenuInflater().inflate(R.menu.context_menu_level, menu);
}
//xử lí sự kiên click vào item menu gồm:
// xem danh sách khác hàng của level VIP, THUONG, TIMNANG
@Override
public boolean onContextItemSelected(MenuItem item){
switch(item.getItemId()){
case R.id.mnuvip:
pos=0;
doDanhSachKhachHang();
break;
case R.id.mnunormal:
pos=1;
doDanhSachKhachHang();
break;
case R.id.mnukhtimnang:
pos=2;
doDanhSachKhachHang();
break;
}
return super.onContextItemSelected(item);
}
//Intent goi Activity DanhSachKhachHang
public void doDanhSachKhachHang()
{
Intent i=new Intent(this, DanhSachKhachHang.class);
Bundle bundle=new Bundle();
bundle.putSerializable("LEVEL", arrlvkh.get(pos));
i.putExtra("DATA", bundle);
startActivityForResult(i,MainActivity.XEM_DS_KHACH_HANG);
}
//Nhận result trả về từ cập nhật danh sách khách hàng,
//cập nhật danh sách đơn hàng thành công
7. //có 2 cập nhật trên mảng arrlvkh và custo
@Override
public void onActivityResult(int requestCode,int resultCode,Intent data){
super.onActivityResult(requestCode, resultCode, data);
if(resultCode==MainActivity.CAPNHAT_DS_KHACH_HANG_THANHCONG){
Bundle bundle=data.getBundleExtra("DATA");
LevelKhachHang lvk=(LevelKhachHang)bundle.getSerializable("LEVEL");
arrlvkh.get(pos).getListKH().clear();
arrlvkh.get(pos).getListKH().addAll(lvk.getListKH());
custo.clear();
for(KhachHang k:db.getAllKhachHang()){
custo.add(k);
Log.d("KhachHang",k.getten());
}
them_don_hang_va_tinh_gia();
adaptercusto.notifyDataSetChanged();
}
else if(resultCode==MainActivity.CAPNHAT_DS_DON_HANG_THANHCONG){
Bundle bundle=data.getBundleExtra("DATA");
KhachHang k=(KhachHang)bundle.getSerializable("KHACHHANG");
custo.get(posi).getListDH().clear();
custo.get(posi).getListDH().addAll(k.getListDH());
int p=0;
for(DonHang d:custo.get(posi).getListDH()){
p+=Integer.parseInt(d.getsmoney());
}
custo.get(posi).setcoins(String.valueOf(p));
db.updateKhachHang(custo.get(posi));
adaptercusto.notifyDataSetChanged();
}
}
//hàm trả về danh sách khách hàng của mỗi level
public static ArrayList<LevelKhachHang> getListLevel(){
return arrlvkh;
}
}
- Class LevelKhachHang
public class LevelKhachHang implements Serializable {
private static final long serialVersionUID = 1L;
//mãng danh sách khách hàng
private ArrayList<KhachHang> arrkh =new ArrayList<KhachHang>();
//tên level
private String ten;
//hàm tạo với tham số tên
8. public LevelKhachHang(String ten) {
this.ten=ten;
}
//phương thức get,set tên của level
public String getTenlv(){
return this.ten;
}
public void setTenlv(String ten){
this.ten=ten;
}
//hàm tạo không tham số
public LevelKhachHang() {
super();
}
//hàm thêm khách hàng của mỗi level
public void Themkh(KhachHang kh){
int i=0;
for(;i<arrkh.size();i++){
KhachHang old=arrkh.get(i);
if(old.getma().trim().equalsIgnoreCase(kh.getma().trim())){
break;
}
}
if(i<arrkh.size()){
arrkh.set(i, kh);
}
else{
arrkh.add(kh);
}
}
//get khách hàng tại vị trí index của level
public KhachHang get(int index){
return arrkh.get(index);
}
//lấy số lượng khách hàng của level đó
public int size(){
return arrkh.size();
}
//lấy danh sách khách hàng của level đó
public ArrayList<KhachHang> getListKH(){
return this.arrkh;
}
}
9. - Class KhachHang chứa các thuộc tính liên quan khách hàng(mã khách hàng, tên, giới
tính, số điện thoại, email, số coins), và các tác vụ get,set.
public class KhachHang implements Serializable{
private static final long serialVersionUID = 1L;
private String ma;
private String ten;
private String sdt;
private String email;
private String level;
private String coins;
private boolean sex;
private ArrayList<DonHang> arrdh= new ArrayList<DonHang>();
//Hàm tạo không tham số
public KhachHang(){
}
//hàm tạo với các tham số mã, tên, sdt, email, level, coins
public KhachHang(String ma,String ten,String sdt,String email,String level,String coins,boolean
sex){
this.ma=ma;
this.ten=ten;
this.sdt=sdt;
this.email=email;
this.sex=sex;
this.coins=coins;
this.level=level;
}
//phương thức get,set cho tên
public String getten(){return ten;}
public void setten(String ten){this.ten=ten;}
//phương thức get,set cho mã
public String getma(){return ma;}
public void setma(String ma){this.ma=ma;}
//phương thức get,set cho sdt
public String getsdt(){return sdt;}
public void setsdt(String sdt){this.sdt=sdt;}
//phương thức get,set cho emial
public String getemail(){return email;}
public void setemail(String email){this.email=email;}
//phương thức get,set cho level
public String getlevel(){return level;}
public void setlevel(String level){this.level=level;}
//phương thức get,set cho coins
public String getcoins(){return coins;}
public void setcoins(String coin){this.coins=coin;}
//phương thức get,set cho sex
public boolean getsex(){return sex;}
10. public void setsex(boolean sex){this.sex=sex;}
//phương thức thêm đơn hàng của mỗi khách hàng
public void Themdh(DonHang dh){
int i=0;
for(;i<arrdh.size();i++){
DonHang old=arrdh.get(i);
if(old.getmaDH().trim().equalsIgnoreCase(dh.getmaDH().trim())){
break;
}
}
if(i<arrdh.size()){
arrdh.set(i, dh);
}
else{
arrdh.add(dh);
}
}
//phương thức lấy đơn hàng tại index
public DonHang get(int index){
return arrdh.get(index);
}
//lấy số lượng đơn hàng của khách hàng
public int size(){
return arrdh.size();
}
//lấy danh sách đơn hàng của khách hàng
public ArrayList<DonHang> getListDH(){
return this.arrdh;
}
//--------------------------------------------
//viết lại hàm chuyển thành chuổi toString
@Override
public String toString()
{
return this.ma+"---"+"Ten: " +this.ten +"n"
+"Level: "+this.level+"---"+"Coins: "+this.coins;
}
}
- Class DanhSachKhachHang
//Class Danh sách khách hàng hiển thị danh sách khách hàng
//Thiết lập hàm goi các tác vụ thêm,sửa, xóa khách hàng
//chuyển level khách hàng, xem danh sách cơ hội
public class DanhSachKhachHang extends Activity {
ImageButton imgback;
ListView lv;
11. TextView txtshowlv;
Button btnthemkh;
ArrayList<KhachHang>arrkh =null;
AdapterKhachHang adapter=null;
LevelKhachHang lvkh=null;
private KhachHang cus=null;
int position =-1;
DatabaseHandler db;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_dskh);
db=new DatabaseHandler(this);
txtshowlv=(TextView)findViewById(R.id.txtlevel);
imgback=(ImageButton)findViewById(R.id.imgback);
btnthemkh=(Button)findViewById(R.id.btnthemkhachhang);
lv=(ListView)findViewById(R.id.lvkhachhang);
getdata();
Event();
registerForContextMenu(lv);
}
//lấy danh sách khách hàng của mỗi level truyền từ class MainActivity
public void getdata(){
Intent i=getIntent();
Bundle b=i.getBundleExtra("DATA");
lvkh=(LevelKhachHang)b.getSerializable("LEVEL");
arrkh=lvkh.getListKH();
them_don_hang_va_tinh_gia();
adapter=new AdapterKhachHang(this,R.layout.item_layout_custom,arrkh);
lv.setAdapter(adapter);
txtshowlv.setText(lvkh.getTenlv());
}
//Xử lí các sự kiện
public void Event(){
//quay lại layout trước đó, truyền gói LEVEL qua MainActivity
imgback.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent i=getIntent();
Bundle b=new Bundle();
b.putSerializable("LEVEL", lvkh);
i.putExtra("DATA", b);
setResult(MainActivity.CAPNHAT_DS_KHACH_HANG_THANHCONG,i);
finish();
}
});
//bắt sự kiện click vào mỗi item
lv.setOnItemLongClickListener(new OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view,
int arg, long id) {
cus=arrkh.get(arg);
position=arg;
12. return false;
}
});
//Lấy sư kiện click button thêm khách hàng
btnthemkh.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
doThemKhachHang();
}
});
}
//Đăng kí menu context_menu_kh khi click vào mỗi khách hàng
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
// TODO Auto-generated method stub
super.onCreateContextMenu(menu, v, menuInfo);
getMenuInflater().inflate(R.menu.context_menu_kh, menu);
}
//Bắt sự kiện click các item khi click các memu.
@Override
public boolean onContextItemSelected(MenuItem item){
switch(item.getItemId()){
case R.id.mnuchuyenkh:doChuyenKhachHang();break;
case R.id.mnusuakh:doSuaKhachHang();break;
case R.id.mnuxoakh:doXoaKhachHang();break;
case R.id.mnucohoi:doDanhSachCoHoi();break;
case R.id.mnudsdh:doDanhSachDonHang();break;
}
return super.onContextItemSelected(item);
}
//Intent gọi Activity DanhSachCoHoi
public void doDanhSachCoHoi(){
Intent i=new Intent(this, DanhSachCoHoi.class);
Bundle bundle=new Bundle();
bundle.putSerializable("KHACHHANG", cus);
i.putExtra("DATA", bundle);
startActivityForResult(i,MainActivity.MO_DS_COHOI);
}
//Intent gọi Activity DanhSachDonHang
public void doDanhSachDonHang(){
//for(DonHang don:db.getdsdh_ofkh(Integer.parseInt(cus.getma()))){
// cus.Themdh(don);
//}
Intent i=new Intent(this, DanhSachDonHang.class);
Bundle bundle=new Bundle();
bundle.putSerializable("KHACHHANG", cus);
i.putExtra("DATA", bundle);
startActivityForResult(i,MainActivity.MO_ACTIVITY_DANHSACH_DON_HANG);
}
13. //Truy xuất vào cơ sở dữ liệu the tính coins của mỗi khách hàng
// dựa trên giá của các đơn hàng của khách hàng đó bằng cách truy suất
//dữ liêu trong cơ sở dữ liệu
public void them_don_hang_va_tinh_gia(){
for(KhachHang kha:arrkh){
int gia=0;
for(DonHang don:db.getdsdh_ofkh(Integer.parseInt(kha.getma()))){
kha.Themdh(don);
gia+=Integer.parseInt(don.getsmoney());
}
kha.setcoins(String.valueOf(gia));
db.updateKhachHang(kha);
}
}
//Xóa khách hàng dùng AlertDialog hiển thị form hỏi xóa
public void doXoaKhachHang() {
AlertDialog.Builder builder=new AlertDialog.Builder(this);
builder.setTitle("XOA");
builder.setMessage("Bạn có chắc muốn xóa");
builder.setIcon(R.drawable.ic_launcher);
builder.setNegativeButton("Không", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
builder.setPositiveButton("Có",new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface dialog, int which) {
arrkh.remove(cus);
db.delete_quanhe_KHDH_tu_KH(cus);
db.deleteKhachHang(cus);
for(DonHang do1:cus.getListDH()){
db.delete_quanhe_DH_SP_tu_DH(do1);
db.deleteDonHang(do1);
}
adapter.notifyDataSetChanged();
}
});
builder.show();
}
//Intent gọi Activity Activity_SuaKhachHang
public void doSuaKhachHang() {
Intent i=new Intent(this,Activity_SuaKhachHang.class);
Bundle b=new Bundle();
cus.setlevel(lvkh.getTenlv());
b.putSerializable("KHACHHANG", cus);
i.putExtra("DATA", b);
startActivityForResult(i,MainActivity.MO_ACTIVITY_SUA_KHACH_HANG);
14. }
//Intent gọi Activity Activity_ChuyenKhachHang
public void doChuyenKhachHang() {
Intent i=new Intent(this,Activity_ChuyenKhachHang.class);
Bundle b=new Bundle();
b.putSerializable("KHACHHANG", cus);
i.putExtra("DATA", b);
startActivityForResult(i,MainActivity.MO_ACTIVITY_CHUYEN_LEVEL);
}
//Intent goi Activity Activity_ThemKhachHang
public void doThemKhachHang(){
Intent i=new Intent(this, Activity_ThemKhachHang.class);
Bundle b=new Bundle();
b.putSerializable("KHACHHANG", cus);
i.putExtra("DATA", b);
startActivityForResult(i, MainActivity.MO_ACTIVITY_THEM_KHACH_HANG);
}
//Nhận các result từ viêc thêm,sửa,xóa khách hàng, xem danh sách đơn hàng
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if(resultCode==MainActivity.SUA_KHACH_HANG_THANHCONG){
Bundle b=data.getBundleExtra("DATA");
KhachHang k=(KhachHang)b.getSerializable("KHACHHANG");
arrkh.set(position, k);
db.updateKhachHang(k);
adapter.notifyDataSetChanged();
}
else if(resultCode==MainActivity.THEM_KHACH_HANG_THANHCONG){
Bundle b=data.getBundleExtra("DATA");
KhachHang k=(KhachHang)b.getSerializable("KHACHHANG");
k.setlevel(lvkh.getTenlv());
arrkh.add(k);
db.addKhachHang(k);
adapter.notifyDataSetChanged();
}
else if(resultCode==MainActivity.CHUYEN_LEVEL_THANHCONG){
arrkh.remove(cus);
adapter.notifyDataSetChanged();
}
else if(resultCode==MainActivity.CAPNHAT_DS_DON_HANG_THANHCONG){
Bundle bundle=data.getBundleExtra("DATA");
KhachHang k=(KhachHang)bundle.getSerializable("KHACHHANG");
arrkh.get(position).getListDH().clear();
arrkh.get(position).getListDH().addAll(k.getListDH());
int p=0;
for(DonHang d:arrkh.get(position).getListDH()){
p+=Integer.parseInt(d.getsmoney());
}
arrkh.get(position).setcoins(String.valueOf(p));
db.updateKhachHang(arrkh.get(position));
adapter.notifyDataSetChanged();
15. }
}
}
- Class Activity_ChuyenKhachHang
public class Activity_ChuyenKhachHang extends Activity {
//mảng level
private static ArrayList<LevelKhachHang> arrlv=null;
//lvlevel hiển thị các lựa chọn để chuyển level
ListView lvlevel;
ImageButton imgapply;
//adapter chuyển dữ liệu từ ArratList arrlv thành dữ liệu trên ListView lvlevel
ArrayAdapter<LevelKhachHang>adapter;
KhachHang kh=null;
DatabaseHandler db;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_chuyen_level);
db=new DatabaseHandler(this);
lvlevel=(ListView)findViewById(R.id.lvlevel);
imgapply=(ImageButton)findViewById(R.id.imgapply);
//Intent lấy gói dữ liệu được truyền đi từ danh sách khách hàng
//do đó láy được khách hàng được truyền tới
Intent i=getIntent();
Bundle b=i.getBundleExtra("DATA");
kh=(KhachHang)b.getSerializable("KHACHHANG");
arrlv=MainActivity.getListLevel();
//khai báo adapter với layout danh sách single choose, lấy dữ liệu từ mảng arrlv
adapter=new
ArrayAdapter<LevelKhachHang>(this,android.R.layout.simple_list_item_single_choice,arrlv);
lvlevel.setAdapter(adapter);
//Lấy vị trí sự kiện click trên ListView, nếu CheckView được tick
// thì lấy vị trí level được tick tại position thêm vào level đó
// và thêm khách hàng vào cơ sở dữ liệu
lvlevel.setOnItemClickListener(new OnItemClickListener() {
Boolean somethingChecked=false;
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub
if(somethingChecked){
CheckedTextView cv=(CheckedTextView)view;
cv.setChecked(false);
}
CheckedTextView cv=(CheckedTextView)view;
if(!cv.isChecked()){
cv.setChecked(true);
arrlv.get(position).Themkh(kh);
db.chuyenKhachHang(kh,position);
}
somethingChecked=true;
}
16. });
//Bắt sự kiện khi nhấn button apply,
//thiết lập result thông báo thành công
imgapply.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
setResult(MainActivity.CHUYEN_LEVEL_THANHCONG);
finish();
}
});
}
}
- Class Activity_SuaKhachHang
public class Activity_SuaKhachHang extends Activity {
EditText txtma,txtten,txtsdt,txtemail;
Button btnxoa,btnluu;
RadioButton raNam;
KhachHang khachhang=null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//Gọi layout activity_them_khach_hang
setContentView(R.layout.activity_them_khach_hang);
//lấy id từ các View,Button của layout
txtma=(EditText)findViewById(R.id.txtma);
txtten=(EditText)findViewById(R.id.txtten);
txtsdt=(EditText)findViewById(R.id.txtsdt);
txtemail=(EditText)findViewById(R.id.txtemail);
btnxoa=(Button)findViewById(R.id.btnxoa);
btnluu=(Button)findViewById(R.id.btnluu);
raNam=(RadioButton)findViewById(R.id.raNam);
setdefault();
btnxoa.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
txtten.setText("");
txtsdt.setText("");
txtemail.setText("");
txtten.requestFocus();
}
});
btnluu.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
17. String ten=txtten.getText()+"";
String sdt=txtsdt.getText()+"";
String email=txtemail.getText()+"";
Boolean sex=!raNam.isChecked();
khachhang.setten(ten);
khachhang.setsdt(sdt);
khachhang.setemail(email);
khachhang.setsex(sex);
//sau khi chỉnh sửa thì đóng gói dữ liệu và thiết lập
//result thành công
Intent i=getIntent();
Bundle b=new Bundle();
b.putSerializable("KHACHHANG",khachhang);
i.putExtra("DATA", b);
setResult(MainActivity.SUA_KHACH_HANG_THANHCONG,i);
finish();
}
});
}
//Thiết lâp các giá trị mặc định
//lấy gói DATA được truyền từ danh sách khách hàng
//thiết lập thông tin khách hàng lên các View
public void setdefault(){
Intent i=getIntent();
Bundle b=i.getBundleExtra("DATA");
khachhang=(KhachHang)b.getSerializable("KHACHHANG");
txtma.setText(khachhang.getma());
txtten.setText(khachhang.getten());
txtsdt.setText(khachhang.getsdt());
txtemail.setText(khachhang.getemail());
raNam.setChecked(true);
if(khachhang.getsex()){
raNam.setChecked(false);
}
}
}
- Class Activity_ThemKhachHang
public class Activity_ThemKhachHang extends Activity {
EditText txtma,txtten,txtsdt,txtemail;
Button btnxoa,btnluu;
RadioButton raNam;
DatabaseHandler db;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//gọi layout activity_them_khach_hang
setContentView(R.layout.activity_them_khach_hang);
//Lấy Id các View từ layout
18. txtma=(EditText)findViewById(R.id.txtma);
txtten=(EditText)findViewById(R.id.txtten);
txtsdt=(EditText)findViewById(R.id.txtsdt);
txtemail=(EditText)findViewById(R.id.txtemail);
btnxoa=(Button)findViewById(R.id.btnxoa);
btnluu=(Button)findViewById(R.id.btnluu);
raNam=(RadioButton)findViewById(R.id.raNam);
//truy vấn vào cơ sở dữ liệu
db=new DatabaseHandler(this);
//thiết lập clear các View khi nhấn xóa
btnxoa.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
txtma.setText("");
txtten.setText("");
txtsdt.setText("");
txtemail.setText("");
txtma.requestFocus();
}
});
//Khi lưu dữ liệu được lưu vào cus
//đóng gói DATA truyền đi,thiết lập result thành công
btnluu.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
String ma=txtma.getText()+"";
String ten=txtten.getText()+"";
String sdt=txtsdt.getText()+"";
String email=txtemail.getText()+"";
String tongtien="";
Boolean sex=!raNam.isChecked();
String level="";
if(db.checkTrung(ma,"id","KhachHang")==0){
KhachHang cus= new KhachHang(ma,ten,sdt,email,level,tongtien,sex);
Intent i=getIntent();
Bundle b=new Bundle();
b.putSerializable("KHACHHANG", cus);
i.putExtra("DATA", b);
setResult(MainActivity.THEM_KHACH_HANG_THANHCONG,i);
finish();
}
}
});
}
}
- Class AdapterKhachHang
public class AdapterKhachHang extends ArrayAdapter<KhachHang> {
Activity context;
int layoutId;
ArrayList<KhachHang> arrkhachhang;
public AdapterKhachHang(Activity context,int textViewResourceId, ArrayList<KhachHang>
19. objects) {
super(context,textViewResourceId, objects);
this.context=context;
this.layoutId=textViewResourceId;
this.arrkhachhang= objects;
}
@Override
public View getView(int position,View convertView,ViewGroup parent){
convertView=context.getLayoutInflater().inflate(layoutId, null);
TextView ten=(TextView)convertView.findViewById(R.id.txttenkh);
TextView coins=(TextView)convertView.findViewById(R.id.txtcoins);
ImageView img=(ImageView)convertView.findViewById(R.id.imageView1);
KhachHang kh=arrkhachhang.get(position);
ten.setText(kh.getten());
coins.setText(kh.getcoins());
img.setImageResource(R.drawable.girlicon);
if(!kh.getsex()){
img.setImageResource(R.drawable.boyicon);
}
return convertView;
}
}
- Class CoHoi tạo các thuộc tính và các tác vu get, set
public class CoHoi {
private String tench;
private String mach;
private String ngaych;
private String makh_of_ch;
//hàm tạo CoHoi không tham số
public CoHoi(){};
//hàm tạo CoHoi có tham số: mã cơ hội, tên, ngày thêm, mã khách hàng của cơ hội
public CoHoi(String mach,String tench,String ngaych,String makh_of_ch)
{
this.mach=mach;
this.tench=tench;
this.ngaych=ngaych;
this.makh_of_ch=makh_of_ch;
}
//các tác vụ get, set cho ten,ma ngay,makh
public String gettench(){return this.tench;}
public String getmach(){return this.mach;}
public String getngaych(){return this.ngaych;}
public String getmakh_of_ch(){return this.makh_of_ch;}
public void setmach(String ma){this.mach=ma;}
public void settench(String ten){this.tench=ten;}
public void setngaych(String ngay){this.ngaych=ngay;}
public void setmakh_of_ch(String makh_of_ch){this.makh_of_ch=makh_of_ch;}
//viết lại hàm toString
@Override
public String toString(){
20. return this.mach+" "+this.tench+" "+this.ngaych;
}
}
- Class DanhSachCoHoi
//class này thiện danh sách các cơ hội
//thêm các cơ hội, xóa các cơ hội
public class DanhSachCoHoi extends Activity{
private ArrayList<CoHoi> arrch=new ArrayList<CoHoi>();
AdapterChoHoi adapter=null;
ListView listcohoi;
EditText txttench,txtngaych,txtmach1;
Button addch,xoach;
DatabaseHandler db;
int so=0;
KhachHang kh=null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_dsch);
listcohoi=(ListView)findViewById(R.id.listcohoi);
txttench=(EditText)findViewById(R.id.txttench);
txtngaych=(EditText)findViewById(R.id.txtngaych);
txtmach1=(EditText)findViewById(R.id.txtmach1);
addch=(Button)findViewById(R.id.btnaddch);
xoach=(Button)findViewById(R.id.btnxoach);
db=new DatabaseHandler(this);
getData();
//thiết lập Adapter theo cấu trúc cơ hội
adapter=new AdapterChoHoi(this,R.layout.item_cohoi,arrch);
listcohoi.setAdapter(adapter);
// thực hiện sự kiện thêm cơ hội
addch.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String ma=txtmach1.getText()+"";
String ten=txttench.getText()+"";
String ngay=txtngaych.getText()+"";
if(db.checkTrung(ma,"ma_ch","Cohoi")==0){
CoHoi ch=new CoHoi(ma,ten,ngay,kh.getma());
arrch.add(ch);
db.addCoHoi(ch);
adapter.notifyDataSetChanged();
txttench.setText("");
txtngaych.setText("");
txttench.requestFocus();
}
}
});
21. //thực hiện sự kiện xóa các cơ hội,có thể xóa 1 hoặc nhiều
xoach.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
for(int i=listcohoi.getChildCount()-1;i>=0;i--){
View t=listcohoi.getChildAt(i);
CheckBox ch=(CheckBox)t.findViewById(R.id.chkitem);
if(ch.isChecked()){
db.deleteCoHoi(arrch.get(i));
arrch.remove(i);
}
}
adapter.notifyDataSetChanged();
}
});
adapter.notifyDataSetChanged();
}
//Lấy khách hàng sẽ thêm cơ hội
public void getData(){
Intent i=getIntent();
Bundle b=i.getBundleExtra("DATA");
kh=(KhachHang)b.getSerializable("KHACHHANG");
for(CoHoi c:db.getAllCoHoi(Integer.parseInt(kh.getma()))){
arrch.add(c);
}
}
}
- Class DatabaseHandle xây dựng cấu trúc các bảng dữ liệu và các hàm insert, update,
delete.
public class DatabaseHandler extends SQLiteOpenHelper {
private static final int DATABASE_VERSION=1;
private static final String DATABASE_NAME="KhachHangManager";
//table khach hang
private static final String TABLE_KHACHHANG="KhachHang";
private static final String ID="id";
private static final String NAME="name";
private static final String PHONE="phone";
private static final String EMAIL="email";
private static final String LEVEL="level";
private static final String COINS="coins";
private static final String SEX="sex";
//table donhang
22. private static final String TABLE_DONHANG="donhang";
private static final String ID_DH="id_dh";
private static final String NAME_DH="name_dh";
private static final String DATE_DH="date_dh";
private static final String MONEY_DH="sum_money";
//table product
private static final String TABLE_PRODUCT="product";
private static final String ID_SP="ma_sp";
private static final String NAME_SP="ten_sp";
private static final String INFO_SP="info_sp";
private static final String PRICE_SP="price_sp";
//table of_cus
private static final String TABLE_OF_CUS="of_cus";
private static final String ID_KH_OF_CUS="id_kh_of_cus";
private static final String ID_DH_OF_CUS="id_dh_of_cus";
//table bo_bill
private static final String TABLE_OF_BILL="of_bill";
private static final String ID_SP_OF_BILL="id_sp_of_bill";
private static final String ID_DH_OF_BILL="id_dh_of_bill";
//table co hoi
private static final String TABLE_COHOI="Cohoi";
private static final String ID_MA_CH="ma_ch";
private static final String ID_TEN_CH="ten_ch";
private static final String ID_NGAY_CH="ngay_ch";
private static final String ID_MA_KH_CH="ma_kh_ch";
public DatabaseHandler(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
//thiết lập lệnh tạo các table và thực thi các lệnh đó
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
String CREATE_KhachHang_TABLE="CREATE TABLE
"+TABLE_KHACHHANG+" ( "
+ID+" INTEGER PRIMARY KEY, "
+NAME+" TEXT, "
+PHONE+" TEXT, "
+EMAIL+ " TEXT, "
+LEVEL+ " TEXT, "
+COINS+ " TEXT, "
+SEX+" TEXT )";
24. db.execSQL(CREATE_KhachHang_TABLE);
db.execSQL(CREATE_DonHang_TABLE);
db.execSQL(CREATE_Product_TABLE);
db.execSQL(CREATE_of_cus_TABLE);
db.execSQL(CREATE_of_bill_TABLE);
db.execSQL(CREATE_co_hoi_TABLE);
}
//xóa các table khi version thay đổi
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
db.execSQL("DROP TABLE IF EXISTS "+TABLE_KHACHHANG);
db.execSQL("DROP TABLE IF EXISTS "+TABLE_DONHANG);
db.execSQL("DROP TABLE IF EXISTS "+TABLE_PRODUCT);
db.execSQL("DROP TABLE IF EXISTS "+TABLE_OF_CUS);
db.execSQL("DROP TABLE IF EXISTS "+TABLE_OF_BILL);
db.execSQL("DROP TABLE IF EXISTS "+TABLE_COHOI);
onCreate(db);
}
//add single KhachHang
public void addKhachHang(KhachHang khachhang){
SQLiteDatabase db=this.getWritableDatabase();
ContentValues values=new ContentValues();
values.put(NAME, khachhang.getten());
values.put(PHONE, khachhang.getsdt());
values.put(EMAIL, khachhang.getemail());
values.put(LEVEL, khachhang.getlevel());
values.put(COINS, khachhang.getcoins());
values.put(SEX, khachhang.getsex()?"Nam":"Nu");
//insert row
db.insert(TABLE_KHACHHANG, null, values);
db.close();
}
//read row
public KhachHang getKhachHang(int id){
SQLiteDatabase db=this.getReadableDatabase();
Cursor cursor=db.query(TABLE_KHACHHANG, new String[]
{ID,NAME}, ID +" = ?", new String[]{String.valueOf(id)}, null, null, null,null);
if(cursor!=null)
25. cursor.moveToFirst();
KhachHang khachhang=new
KhachHang(String.valueOf(cursor.getInt(0)),cursor.getString(1),cursor.getString(2),curs
or.getString(3),cursor.getString(4),cursor.getString(5),cursor.getString(6)=="Nam"?
true:false);
return khachhang;
}
//Trả về danh sách khách hàng đọng từ cơ sở dữ liệu
public ArrayList<KhachHang> getAllKhachHang(){
ArrayList<KhachHang> KhachHanglist=new ArrayList<KhachHang>();
String selectquery="SELECT * FROM "+TABLE_KHACHHANG;
SQLiteDatabase db=this.getReadableDatabase();
Cursor cursor=db.rawQuery(selectquery, null);
if(cursor.moveToFirst()){
do{
KhachHang khachhang=new KhachHang();
khachhang.setma(cursor.getString(0));
khachhang.setten(cursor.getString(1));
khachhang.setsdt(cursor.getString(2));
khachhang.setemail(cursor.getString(3));
khachhang.setlevel(cursor.getString(4));
khachhang.setcoins(cursor.getString(5));
khachhang.setsex((cursor.getString(6)=="Nam"?
true:false));
KhachHanglist.add(khachhang);
}while(cursor.moveToNext());
}
return KhachHanglist;
}
//lấy số lượng khách hàng đọc từ cơ sở dữ liệu
public int getKhachHangCount(){
String countQuery = "SELECT * FROM " + TABLE_KHACHHANG;
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery(countQuery, null);
int count = 0;
try {
if (cursor.moveToFirst()) {
count = cursor.getCount();
}
26. return count;
}
finally {
if (cursor != null) {
cursor.close();
db.close();
}
}
}
//cập nhật thông tin khách hàng trong cơ sở dữ liệu
public int updateKhachHang(KhachHang khachhang){
SQLiteDatabase db=this.getWritableDatabase();
ContentValues values=new ContentValues();
values.put(NAME, khachhang.getten());
values.put(PHONE, khachhang.getsdt());
values.put(SEX,khachhang.getsex()?"Nam":"Nu");
values.put(EMAIL, khachhang.getemail());
values.put(LEVEL, khachhang.getlevel());
values.put(COINS, khachhang.getcoins());
return db.update(TABLE_KHACHHANG, values, ID+" = ?", new
String[]{String.valueOf(khachhang.getma())});
}
// thay đổi level khách hàng bằng cách cập nhật lại côt level
//trong table KhachHang
public void chuyenKhachHang(KhachHang k,int i){
SQLiteDatabase db = this.getWritableDatabase();
if(i==0){k.setlevel("VIP");}
else if(i==1){k.setlevel("THUONG");}
else {k.setlevel("TIMNANG");}
updateKhachHang(k);
db.close();
}
//xóa khách hàng
public void deleteKhachHang(KhachHang khachhang){
SQLiteDatabase db = this.getWritableDatabase();
db.delete(TABLE_KHACHHANG, ID + " = ?",
new String[] { String.valueOf(khachhang.getma()) });
db.close();
27. }
//lay Danh sach don hang cua khach hang
public ArrayList<DonHang> getdsdh_ofkh(int id){
ArrayList<DonHang> listdh=new ArrayList<DonHang>();
String query ="SELECT * FROM "+TABLE_OF_CUS +" WHERE
"+ID_KH_OF_CUS+" = "+id;
SQLiteDatabase db=this.getReadableDatabase();
Cursor cursor=db.rawQuery(query,null);
if(cursor.moveToFirst()){
do{
String query2 ="SELECT * FROM
"+TABLE_DONHANG +" WHERE "+ID_DH+" = "+cursor.getString(1);
Cursor cursor2=db.rawQuery(query2,null);
if(cursor2.moveToFirst()){
do{
DonHang dh=new DonHang();
dh.setmaDH(cursor2.getString(0));
dh.settenDH(cursor2.getString(1));
dh.setdate(cursor2.getString(2));
dh.setsmoney(cursor2.getString(3));
listdh.add(dh);
}while(cursor2.moveToNext());
}
}while(cursor.moveToNext());
}
return listdh;
}
//lay danh sach san pham cua don hang
public ArrayList<SanPham> getdssp_ofdh(int id){
ArrayList<SanPham> listsp=new ArrayList<SanPham>();
String query ="SELECT * FROM "+TABLE_OF_BILL +" WHERE
"+ID_DH_OF_BILL+" = "+id;
SQLiteDatabase db=this.getReadableDatabase();
Cursor cursor=db.rawQuery(query,null);
if(cursor.moveToFirst()){
do{
String query2 ="SELECT * FROM "+TABLE_PRODUCT
+" WHERE "+ID_SP+" = "+cursor.getString(1);
Cursor cursor2=db.rawQuery(query2,null);
if(cursor2.moveToFirst()){
28. do{
SanPham sp=new SanPham();
sp.setmaSP(cursor2.getString(0));
sp.settenSP(cursor2.getString(1));
sp.setthongtinSP(cursor2.getString(2));
sp.setprice(cursor2.getString(3));
listsp.add(sp);
}while(cursor2.moveToNext());
}
}while(cursor.moveToNext());
}
return listsp;
}
//them don hang vao 1 khach hang va vao csdl
public void addSanPham(SanPham sanpham){
SQLiteDatabase db=this.getWritableDatabase();
ContentValues values=new ContentValues();
values.put(ID_SP, sanpham.getmaSP());
values.put(NAME_SP, sanpham.gettenSP());
values.put(INFO_SP, sanpham.getthongtinSP());
values.put(PRICE_SP, sanpham.getprice());
//insert row
db.insert(TABLE_PRODUCT, null, values);
db.close();
}
//them san pham vao 1 don hang
public void addDonHang(DonHang donhang){
SQLiteDatabase db=this.getWritableDatabase();
ContentValues values=new ContentValues();
values.put(ID_DH, donhang.getmaDH());
values.put(NAME_DH, donhang.gettenDH());
values.put(DATE_DH, donhang.getdate());
values.put(MONEY_DH, donhang.getsmoney());
//insert row
db.insert(TABLE_DONHANG, null, values);
db.close();
}
//update don hang
public int updateDonHang(DonHang donhang){
SQLiteDatabase db=this.getWritableDatabase();
29. ContentValues values=new ContentValues();
values.put(ID_DH, donhang.getmaDH());
values.put(NAME_DH, donhang.gettenDH());
values.put(DATE_DH, donhang.getdate());
values.put(MONEY_DH, donhang.getsmoney());
return db.update(TABLE_DONHANG, values, ID_DH+" = ?", new
String[]{String.valueOf(donhang.getmaDH())});
}
//update san pham
public int updateSanPham(SanPham sanpham){
SQLiteDatabase db=this.getWritableDatabase();
ContentValues values=new ContentValues();
values.put(ID_SP, sanpham.getmaSP());
values.put(NAME_SP, sanpham.gettenSP());
values.put(INFO_SP, sanpham.getthongtinSP());
values.put(PRICE_SP, sanpham.getprice());
return db.update(TABLE_PRODUCT, values, ID_SP+" = ?", new String[]
{String.valueOf(sanpham.getmaSP())});
}
//xoa don hang
public void deleteDonHang(DonHang donhang){
SQLiteDatabase db = this.getWritableDatabase();
db.delete(TABLE_DONHANG, ID_DH + " = ?",
new String[] { String.valueOf(donhang.getmaDH()) });
db.close();
}
//xoa delete_quanhe_KHDH_tu_KH
public void delete_quanhe_KHDH_tu_KH(KhachHang khachhang){
SQLiteDatabase db = this.getWritableDatabase();
db.delete(TABLE_OF_CUS, ID_KH_OF_CUS + " = ?",
new String[] { String.valueOf(khachhang.getma()) });
db.close();
}
//xoa delete_quanhe_KHHD_tu_DH
public void delete_quanhe_KHDH_tu_DH(DonHang donhang){
SQLiteDatabase db = this.getWritableDatabase();
db.delete(TABLE_OF_CUS, ID_DH_OF_CUS + " = ?",
30. new String[] { String.valueOf(donhang.getmaDH()) });
db.close();
}
//xoa delete_quanhe_DH_SP_tu_DH
public void delete_quanhe_DH_SP_tu_DH(DonHang donhang){
SQLiteDatabase db = this.getWritableDatabase();
db.delete(TABLE_OF_BILL, ID_DH_OF_BILL + " = ?",
new String[] { String.valueOf(donhang.getmaDH()) });
db.close();
}
//xoa delete_quanhe_DHSP_tu_SP
public void delete_quanhe_DHSP_tu_SP(SanPham sanpham){
SQLiteDatabase db = this.getWritableDatabase();
db.delete(TABLE_OF_BILL, ID_SP_OF_BILL + " = ?",
new String[] { String.valueOf(sanpham.getmaSP()) });
db.close();
}
//xoa san pham
public void deleteSanPham(SanPham sanpham){
SQLiteDatabase db = this.getWritableDatabase();
db.delete(TABLE_PRODUCT, ID_SP + " = ?",
new String[] { String.valueOf(sanpham.getmaSP()) });
db.close();
}
//them vao bang of_cus
public void addof_cus(KhachHang khachhang,DonHang donhang){
SQLiteDatabase db=this.getWritableDatabase();
ContentValues values=new ContentValues();
values.put(ID_KH_OF_CUS, khachhang.getma());
values.put(ID_DH_OF_CUS, donhang.getmaDH());
//insert row
db.insert(TABLE_OF_CUS, null, values);
db.close();
}
//them vao bang of_bill
public void addof_bill(DonHang donhang,SanPham sanpham){
SQLiteDatabase db=this.getWritableDatabase();
31. ContentValues values=new ContentValues();
values.put(ID_DH_OF_BILL, donhang.getmaDH());
values.put(ID_SP_OF_BILL, sanpham.getmaSP());
//insert row
db.insert(TABLE_OF_BILL, null, values);
db.close();
}
public boolean chkDB(){
boolean chk = false;
SQLiteDatabase db = this.getWritableDatabase();
Cursor mCursor = db.rawQuery("SELECT * FROM " + TABLE_KHACHHANG,
null);
if (mCursor != null){
mCursor.moveToFirst();
if (mCursor.getInt(0) == 0){
chk = false;
}
}else{
chk = true;
}
db.close();
return chk;
}
//thêm 1 cơ hội vào CSDL
public void addCoHoi(CoHoi cohoi){
SQLiteDatabase db=this.getWritableDatabase();
ContentValues values=new ContentValues();
values.put(ID_MA_CH, cohoi.getmach());
values.put(ID_TEN_CH, cohoi.gettench());
values.put(ID_NGAY_CH, cohoi.getngaych());
values.put(ID_MA_KH_CH, cohoi.getmakh_of_ch());
//insert row
db.insert(TABLE_COHOI, null, values);
db.close();
}
// xóa cơ hội khỏi CSDL
public void deleteCoHoi(CoHoi cohoi){
SQLiteDatabase db = this.getWritableDatabase();
db.delete(TABLE_COHOI, ID_MA_CH + " = ?",
new String[] { String.valueOf(cohoi.getmach()) });
db.close();
}
32. //Lấy danh sách cơ hội
public ArrayList<CoHoi> getAllCoHoi(int ma){
ArrayList<CoHoi> CoHoilist=new ArrayList<CoHoi>();
String selectquery="SELECT * FROM "+TABLE_COHOI+" WHERE
"+ID_MA_KH_CH+" = "+ma;
SQLiteDatabase db=this.getReadableDatabase();
Cursor cursor=db.rawQuery(selectquery, null);
if(cursor.moveToFirst()){
do{
CoHoi cohoi=new CoHoi();
cohoi.setmach(cursor.getString(0));
cohoi.settench(cursor.getString(1));
cohoi.setngaych(cursor.getString(2));
cohoi.setmakh_of_ch(cursor.getString(3));
CoHoilist.add(cohoi);
}while(cursor.moveToNext());
}
return CoHoilist;
}
//Kiểm tra khi thêm 1 khách hàng, 1 đơn hàng, 1 cơ hội, mã của nó
//có cùng với mã hiện tại hay chưa
public int checkTrung(String i,String column,String table){
String countQuery = "SELECT * FROM " + table+" WHERE
"+column+" = "+i;
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery(countQuery, null);
int count = 0;
try {
if (cursor.moveToFirst()) {
count = cursor.getCount();
}
return count;
}
finally {
if (cursor != null) {
cursor.close();
db.close();
}
}
}
}