· 6 years ago · Aug 18, 2019, 11:42 AM
1package com.repoai.myhome.Rooms;
2
3import android.content.ContentValues;
4import android.content.Context;
5import android.database.Cursor;
6import android.database.sqlite.SQLiteDatabase;
7import android.database.sqlite.SQLiteOpenHelper;
8import android.database.sqlite.SQLiteStatement;
9
10import java.util.ArrayList;
11import java.util.List;
12
13public class RoomsSQLITE extends SQLiteOpenHelper implements Roomable {
14 public static final String DB_NAME = "SmartHouse.db";
15 private final String TABLE_NAME = "users";
16 SQLiteDatabase db;
17
18 public RoomsSQLITE(Context context, String tableName) {
19 super(context, DB_NAME, null, 1);
20 this.db = getWritableDatabase();
21 }
22
23
24 @Override
25 public void onCreate(SQLiteDatabase sqLiteDatabase) {
26 String sql = "CREATE TABLE IF NOT EXISTS " + this.TABLE_NAME +
27 "(id INTEGER PRIMARY KEY AUTOINCREMENT, roomName TEXT, roomIcon TEXT, isEnabled INTEGER)";
28 sqLiteDatabase.execSQL(sql);
29
30
31 }
32
33 @Override
34 public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
35 }
36
37 public boolean addNewRooms3(String roomName, String roomIcon) {
38 String sql = "INSERT INTO " + this.TABLE_NAME + " (roomName,roomIcon) VALUES ('" + roomName + "','" + roomIcon + "')";
39 db.execSQL(sql);
40 return true;
41 }
42
43 public boolean addNewRooms2(String roomName, String roomIcon) {
44 String sql = "INSERT INTO " + this.TABLE_NAME + " (roomName,roomIcon) VALUES ('" + roomName + "','" + roomIcon + "')";
45 SQLiteStatement sqLiteStatement = db.compileStatement(sql);
46 long res = sqLiteStatement.executeInsert();
47 return res != (-1);
48 }
49
50 public boolean addNewRoom(String roomName, String roomIcon) {
51 if (!roomExists(roomName)) {
52 ContentValues myValues = new ContentValues();
53 myValues.put("roomName", roomName);
54 myValues.put("roomIcon", roomIcon);
55 myValues.put("isEnabled", 1);
56 long res = db.insert(this.TABLE_NAME, null, myValues);
57 return res != (-1);
58 }
59 return false;
60 }
61
62 private boolean roomExists(String roomName) {
63 Cursor res = db.rawQuery("SELECT * FROM " + this.TABLE_NAME + " WHERE roomName='" + roomName + "'", null);
64 return res.getCount() > 0;
65 }
66
67
68 public boolean checkRoom(String roomName, String roomIcon) {
69 String sql = "SELECT * FROM " + this.TABLE_NAME + " WHERE roomName='" + roomName + "' AND roomIcon='" + roomIcon + "'";
70 Cursor res = db.rawQuery(sql, null);
71 return res.getCount() > 0;
72 }
73
74 public boolean removeroom(String roomName) {
75 String sql = "DELETE FROM " + this.TABLE_NAME + " WHERE roomName='" + roomName + "'";
76 db.execSQL(sql);
77 return true;
78 }
79
80
81 @Override
82 public boolean addRoom() {
83 return false;
84 }
85
86 @Override
87 public boolean removeRoom() {
88 return false;
89 }
90
91 @Override
92 public boolean roomExists() {
93 return false;
94 }
95
96 @Override
97 public void renameRoom(String newRoomName) {
98
99 }
100
101 @Override
102 public void disableRoom() {
103
104 }
105
106 public List<String> getAllRooms() {
107 List<String> allrooms = new ArrayList<>();
108 Cursor res = db.rawQuery("SELECT * FROM " + this.TABLE_NAME, null);
109 while (res.moveToNext()) {
110 allrooms.add(res.getString(1));
111 }
112
113 return allrooms;
114 }
115}