· 9 years ago · Feb 04, 2017, 10:42 PM
1DBManager class:
2public class DBManager {
3
4
5private SQLiteDatabase sqlDB;
6static final String ColId = "ID";
7static final String DBName = "InternalDB";
8static final String TableName = "BookmarkAttraction";
9static final String TableName2 = "BookmarkTransport";
10static final String ColType = "Type";
11static final String ColName = "Name";
12static final String ColLocation = "Location";
13static final String ColOpening = "OpeningTime";
14static final String ColClosing = "ClosingTime";
15static final String ColNearbyStop = "NerbyStop1";
16
17static final String ColTime = "Time";
18static final String ColNextStop = "NextStop";
19static final String ColPhoneNumber = "PhoneNumber";
20
21static final int DBVersion = 1;
22
23static final String CreateTable = "CREATE TABLE IF NOT EXISTS " + TableName + "(ID INTEGER PRIMARY KEY AUTOINCREMENT," + ColType+ " TEXT," +
24 ColName+ " TEXT," + ColLocation+ " TEXT," + ColOpening+ " TEXT," +ColClosing+ " TEXT," + ColNearbyStop+ " TEXT);";
25
26static final String CreateTabe2 = "CREATE TABLE IF NOT EXISTS " +TableName2 + "(ID INTEGER PRIMARY KEY AUTOINCREMENT,"
27 + ColType + " TEXT,"
28 + ColName + " TEXT,"
29 + ColLocation + " TEXT,"
30 + ColTime+ " TEXT,"
31 + ColNextStop + " TEXT,"
32 + ColPhoneNumber + " TEXT);";
33
34
35static class DBHelper extends SQLiteOpenHelper{
36 Context context;
37
38 DBHelper(Context context){
39 super(context, DBName, null, DBVersion);
40 this.context = context;
41 }
42
43 @Override
44 public void onCreate(SQLiteDatabase db) {
45 Toast.makeText(context,DBName,Toast.LENGTH_LONG).show();
46 db.execSQL(CreateTable);
47 Toast.makeText(context,"Table is created ", Toast.LENGTH_LONG).show();
48 db.execSQL(CreateTabe2);
49 Toast.makeText(context,"Transport table created", Toast.LENGTH_LONG).show();
50 }
51
52 @Override
53 public void onUpgrade(SQLiteDatabase db, int i, int i1) {
54 db.execSQL("DROP TABLE IF EXISTS" + TableName);
55 db.execSQL("DROP TABLE IF EXISTS" + TableName2);
56 onCreate(db);
57 }
58}
59
60
61public DBManager(Context context){
62 DBHelper db = new DBHelper(context);
63 sqlDB = db.getWritableDatabase();
64}
65
66public long Insert(String tablename,ContentValues values){
67 long ID = sqlDB.insert(tablename,"",values);
68 return ID;
69}
70
71public Cursor Query(String tablename, String [] projection, String selection, String [] selectionArgs, String sortOrder){
72 SQLiteQueryBuilder qb = new SQLiteQueryBuilder();
73 qb.setTables(tablename);
74
75 Cursor cursor = qb.query(sqlDB,projection, selection, selectionArgs,null,null,sortOrder);
76 return cursor;
77}
78
79public int Delete(String tablename,String selection, String[] selectionArgs){
80 int count = sqlDB.delete(tablename,selection,selectionArgs);
81 return count;
82}
83}
84
85public class Bookmark extends AppCompatActivity {
86
87myAdapter myAdapter;
88DBManager db;
89
90@Override
91protected void onCreate(Bundle savedInstanceState) {
92 super.onCreate(savedInstanceState);
93 setContentView(R.layout.activity_bookmark);
94 db = new DBManager(this);
95
96 onLoadAttraction();
97 // onLoadTransport();
98
99
100}
101
102public void onLoadAttraction() {
103 ArrayList<Adapter> listData = new ArrayList<Adapter>();
104 listData.clear();
105 Cursor cursor = db.Query("BookmarkAttraction",null, null, null, DBManager.ColId);
106
107 if (cursor.moveToFirst()) {
108 do {
109 listData.add(new Adapter(
110 cursor.getString(cursor.getColumnIndex(DBManager.ColType))
111 , cursor.getString(cursor.getColumnIndex(DBManager.ColName))
112 , cursor.getString(cursor.getColumnIndex(DBManager.ColLocation))
113 , cursor.getString(cursor.getColumnIndex(DBManager.ColOpening))
114 , cursor.getString(cursor.getColumnIndex(DBManager.ColClosing))
115 , cursor.getString(cursor.getColumnIndex(DBManager.ColNearbyStop))
116 ,null,null,null, null, null));
117 } while (cursor.moveToNext());
118 }
119
120 myAdapter = new myAdapter(listData);
121 ListView ls = (ListView) findViewById(R.id.listView);
122 ls.setAdapter(myAdapter);
123}
124
125public void onLoadTransport(){
126 ArrayList<Adapter> listData = new ArrayList<Adapter>();
127 listData.clear();
128 Cursor cursor = db.Query("BookmarkTransport",null, null, null, DBManager.ColId);
129
130 if (cursor.moveToFirst()) {
131 do {
132 listData.add(new Adapter(
133 cursor.getString(cursor.getColumnIndex(DBManager.ColType))
134 , cursor.getString(cursor.getColumnIndex(DBManager.ColName))
135 , cursor.getString(cursor.getColumnIndex(DBManager.ColLocation))
136 , null
137 , null
138 , null
139 ,cursor.getString(cursor.getColumnIndex(DBManager.ColTime))
140 ,cursor.getString(cursor.getColumnIndex(DBManager.ColNextStop))
141 , cursor.getString(cursor.getColumnIndex(DBManager.ColPhoneNumber))
142 ,null,null));
143 } while (cursor.moveToNext());
144 }
145
146 myAdapter = new myAdapter(listData);
147 ListView ls = (ListView) findViewById(R.id.listView);
148 ls.setAdapter(myAdapter);
149}
150
151class myAdapter extends BaseAdapter {
152 public ArrayList<Adapter> listItem;
153 Adapter ac;
154 public myAdapter(ArrayList<Adapter> listItem) {
155 this.listItem = listItem;
156
157 }
158
159 @Override
160 public int getCount() {
161 return listItem.size();
162 }
163
164 @Override
165 public Object getItem(int position) {
166 return null;
167 }
168
169 @Override
170 public long getItemId(int position) {
171 return position;
172 }
173
174 @Override
175 public View getView(int position, View view, ViewGroup viewGroup) {
176 LayoutInflater myInflator = getLayoutInflater();
177 final View myView = myInflator.inflate(R.layout.list_bookmark, null);
178
179 ac = listItem.get(position);
180
181 TextView Type = (TextView) myView.findViewById(R.id.BMType);
182 Type.setText(ac.Type);
183
184 TextView Name = (TextView) myView.findViewById(R.id.BMName);
185 Name.setText(ac.Name);
186
187 TextView Location = (TextView) myView.findViewById(R.id.BMLocation);
188 Location.setText(ac.Location);
189
190 TextView Opening = (TextView) myView.findViewById(R.id.BMOpen);
191
192 Opening.setText(ac.Opening);
193
194
195 TextView Closing = (TextView) myView.findViewById(R.id.BMClose);
196
197
198 Closing.setText(ac.Closing);
199
200
201 TextView NearbyStop1 = (TextView) myView.findViewById(R.id.BMNearbyStop);
202
203 NearbyStop1.setText(ac.NearbyStop);
204
205
206 Button buttonDelete = (Button)myView.findViewById(R.id.buttonDelete);
207 buttonDelete.setOnClickListener(new View.OnClickListener() {
208 @Override
209 public void onClick(View view) {
210 String[] selectionArgs = {ac.ID};
211 int count = db.Delete("BookmarkAttraction","ID?",selectionArgs);
212 if (count > 0) {
213 onLoadAttraction();
214 Toast.makeText(getApplicationContext(),"Data deleted", Toast.LENGTH_LONG).show();
215 }else{
216 Toast.makeText(getApplicationContext(),"Cannnot delete", Toast.LENGTH_LONG).show();
217 }
218
219 }
220 });
221
222
223
224 return myView;
225 }
226}
227}