· 6 years ago · Oct 13, 2019, 10:18 PM
1public class SQLiteHelper extends SQLiteOpenHelper {
2
3 private static final String DATABASE_NAME = "bukaTokoDemoProject";
4 private static final int DATABASE_VERSION = 1;
5
6 private static SQLiteDatabase sqLiteDatabase;
7
8 private static final String TABLE_NAME = "cart";
9 private static final String CART_ID = "cart_id";
10 private static final String PRODUCT_ID = "product_id";
11 private static final String PRODUCT = "product";
12 private static final String IMAGE_URL = "image";
13 private static final String PRICE = "price";
14 private static final String CURRENT_DATE = "curr_date";
15
16 public SQLiteHelper (Context context){
17 super(context, DATABASE_NAME, null, DATABASE_VERSION);
18 sqLiteDatabase = getWritableDatabase();
19 }
20
21 @Override
22 public void onCreate(SQLiteDatabase sqLiteDatabase) {
23 sqLiteDatabase.execSQL(
24 "CREATE TABLE " + TABLE_NAME + " ( " + CART_ID + " INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, " +
25 PRODUCT_ID +" INTEGER, " + PRODUCT + " TEXT, " + IMAGE_URL + " TEXT, " + PRICE + " INTEGER, " +
26 CURRENT_DATE + " DATE DEFAULT CURRENT_DATE );"
27 );
28 }
29
30 @Override
31 public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
32 sqLiteDatabase.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
33 }
34
35 public Integer checkExist(int product_id){
36 String sql = "SELECT " + PRODUCT_ID + " FROM " + TABLE_NAME +
37 " WHERE " + PRODUCT_ID + "='" + String.valueOf(product_id) + "'";
38
39 sqLiteDatabase = getReadableDatabase();
40 Cursor cursor = sqLiteDatabase.rawQuery(sql, null);
41
42 int count = cursor.getCount();
43 Log.e("_logCountSQLite", "product_id " + String.valueOf(product_id) + " count " + String.valueOf(count));
44 return count;
45 }
46
47 public Long addToCart(int product_id, String product, String image, int price){
48 ContentValues values = new ContentValues();
49
50 values.put(PRODUCT_ID, product_id);
51 values.put(PRODUCT, product);
52 values.put(IMAGE_URL, image);
53 values.put(PRICE, price);
54
55 long cart_id = sqLiteDatabase.insert(TABLE_NAME, null, values);
56 return cart_id;
57 }
58
59 public void removeItem(String cart_id){
60 sqLiteDatabase.delete(TABLE_NAME, CART_ID + "='" + cart_id + "'", null);
61 }
62
63 public void clearTable(){
64 sqLiteDatabase.delete(TABLE_NAME, null, null);
65 }
66
67 public List<Cart> myCart(){
68
69 String sqlQuery = "SELECT * FROM " + TABLE_NAME + " ORDER BY " + CART_ID + " DESC";
70
71 ArrayList<Cart> carts = new ArrayList<>();
72 Cursor cursor = sqLiteDatabase.rawQuery(sqlQuery, null);
73 cursor.moveToFirst();
74
75 for (int i = 0; i < cursor.getCount(); i++){
76
77 cursor.moveToPosition(i);
78
79 Cart cart = new Cart();
80 cart.setCart_id(cursor.getInt(cursor.getColumnIndex( CART_ID )));
81 cart.setProduct_id(cursor.getInt(cursor.getColumnIndex( PRODUCT_ID )));
82 cart.setProduct(cursor.getString(cursor.getColumnIndex( PRODUCT )));
83 cart.setImage(cursor.getString(cursor.getColumnIndex( IMAGE_URL )));
84 cart.setPrice(cursor.getInt(cursor.getColumnIndex( PRICE )));
85 cart.setCurr_date(cursor.getString(cursor.getColumnIndex( CURRENT_DATE )));
86
87 Log.e("_lzdyProductPrice", String.valueOf( cursor.getInt(cursor.getColumnIndex( PRICE )) ));
88 carts.add(cart);
89 }
90
91 return carts;
92 }
93}