· 8 years ago · Aug 04, 2018, 04:58 PM
1enter code here
2
3private void displayDialog()
4{
5 Dialog d=new Dialog(this);
6 d.setTitle("SQLite Database");
7 d.setContentView(R.layout.dialog_layout);
8
9 nameEditText= (EditText) d.findViewById(R.id.nameEditTxt);
10
11 **////////////////////Price edit text which I add/////////////**
12 priceEditText= (EditText) d.findViewById(R.id.priceEditTxt);
13 saveBtn= (Button) d.findViewById(R.id.saveBtn);
14 retrieveBtn= (Button) d.findViewById(R.id.retrieveBtn);
15
16 saveBtn.setOnClickListener(new View.OnClickListener() {
17 @Override
18 public void onClick(View v) {
19 save(nameEditText.getText().toString(),priceEditText.getText().toString());
20 }
21 });
22 retrieveBtn.setOnClickListener(new View.OnClickListener() {
23 @Override
24 public void onClick(View v) {
25 getPlanets(null);
26 }
27 });
28
29 d.show();
30}
31** //save button took one argument "name" only, i add "price" later//**
32private void save(String name,String price)
33{
34 DBAdapter db=new DBAdapter(this);
35 db.openDB();
36 if(db.add(name,price))
37 {
38 nameEditText.setText("");
39 priceEditText.setText("");
40 }else {
41 Toast.makeText(this,"Unable To Save",Toast.LENGTH_SHORT).show();
42 }
43
44 db.closeDB();
45
46 this.getPlanets(null);
47}
48
49private void getPlanets(String searchTerm)
50{
51 planets.clear();
52
53 DBAdapter db=new DBAdapter(this);
54 db.openDB();
55 Planet p=null;
56 Cursor c=db.retrieve(searchTerm);
57 while (c.moveToNext())
58 {
59 int id=c.getInt(0);
60 String name=c.getString(1);
61
62 p=new Planet();
63 p.setId(id);
64 p.setName(name);
65
66 planets.add(p);
67 }
68
69 db.closeDB();
70
71 lv.setAdapter(adapter);
72
73}
74
75public class DBAdapter {
76
77Context c;
78SQLiteDatabase db;
79DBHelper helper;
80
81public DBAdapter(Context c) {
82 this.c = c;
83 helper=new DBHelper(c);
84}
85
86//OPEN DB
87public void openDB()
88{
89 try
90 {
91 db=helper.getWritableDatabase();
92 }catch (SQLException e)
93 {
94 e.printStackTrace();
95 }
96}
97
98//CLOSE
99public void closeDB()
100{
101 try
102 {
103 helper.close();
104 }catch (SQLException e)
105 {
106 e.printStackTrace();
107 }
108}
109
110//INSERT DATA
111public boolean add(String name,String price)
112{
113 try
114 {
115 ContentValues cv=new ContentValues();
116 cv.put(Constants.NAME, name);
117 cv.put(Constants.PRICE, price);
118 //Log.d(Constants.PRICE,"here we gooooooooooooooooooooooooooooooooooooooooooooooooooo");
119
120 db.insert(Constants.TB_NAME, Constants.ROW_ID, cv);
121
122 return true;
123
124 }catch (SQLException e)
125 {
126 e.printStackTrace();
127 }
128 return false;
129}
130
131//RETRIEVE DATA AND FILTER
132public Cursor retrieve(String searchTerm)
133{
134 String[] columns={Constants.ROW_ID,Constants.NAME};
135 Cursor c=null;
136
137 if(searchTerm != null && searchTerm.length()>0)
138 {
139 String sql="SELECT * FROM "+Constants.TB_NAME+" WHERE "+Constants.NAME+" LIKE '%"+searchTerm+"%'";
140 c=db.rawQuery(sql,null);
141 return c;
142
143 }
144
145 c=db.query(Constants.TB_NAME,columns,null,null,null,null,null);
146 return c;
147}
148
149public class Constants {
150//COLUMNS
151static final String ROW_ID="id";
152static final String NAME="name";
153static final String PRICE="price";
154
155//DB
156static final String DB_NAME="ii_DB";
157static final String TB_NAME="ii_TB";
158static final int DB_VERSION=2;
159
160//CREATE TB
161static final String CREATE_TB="CREATE TABLE ii_TB(id INTEGER PRIMARY KEY AUTOINCREMENT,"
162 + "name TEXT NOT NULL,price TEXT NOT NULL);";
163
164//DROP TB
165static final String DROP_TB="DROP TABLE IF EXISTS "+TB_NAME;