· 7 years ago · Nov 15, 2018, 05:48 PM
1SQLite Database
2
3To check DB. Tools->Android->Android Device Monitor->Package name or App name->FileExplorer->data->data->Package name or App name ->databases->Student.db
4Create database and tables
5Create new java class DatabaseHelper.java extends SQLiteOpenHelper{
6(Right click on the red button and Create Constructor matching super. Choose first one SQLiteOpenHelper
7
8DatabaseHelper.java
9package com.example.programmingknowledge.sqliteapp;
10
11import android.content.ContentValues;
12import android.content.Context;
13import android.database.Cursor;
14import android.database.sqlite.SQLiteDatabase;
15import android.database.sqlite.SQLiteOpenHelper;
16
17/**
18 * Created by ProgrammingKnowledge on 4/3/2015.
19 */
20public class DatabaseHelper extends SQLiteOpenHelper {
21 public static final String DATABASE_NAME = "Student.db";
22 public static final String TABLE_NAME = "student_table";
23 public static final String COL_1 = "ID";
24 public static final String COL_2 = "NAME";
25 public static final String COL_3 = "SURNAME";
26 public static final String COL_4 = "MARKS";
27
28 public DatabaseHelper(Context context) {
29 super(context, DATABASE_NAME, null, 1);
30 }
31
32 @Override
33 public void onCreate(SQLiteDatabase db) {
34 db.execSQL("create table " + TABLE_NAME +" (ID INTEGER PRIMARY KEY AUTOINCREMENT,NAME TEXT,SURNAME TEXT,MARKS INTEGER)");
35 }
36
37 @Override
38 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
39 db.execSQL("DROP TABLE IF EXISTS "+TABLE_NAME);
40 onCreate(db);
41 }
42
43 public boolean insertData(String name,String surname,String marks) {
44 SQLiteDatabase db = this.getWritableDatabase();
45 ContentValues contentValues = new ContentValues();
46 contentValues.put(COL_2,name);
47 contentValues.put(COL_3,surname);
48 contentValues.put(COL_4,marks);
49 long result = db.insert(TABLE_NAME,null ,contentValues);
50 if(result == -1)
51 return false;
52 else
53 return true;
54 }
55
56 public Cursor getAllData() {
57 SQLiteDatabase db = this.getWritableDatabase();
58 Cursor res = db.rawQuery("select * from "+TABLE_NAME,null);
59 return res;
60 }
61
62 public boolean updateData(String id,String name,String surname,String marks) {
63 SQLiteDatabase db = this.getWritableDatabase();
64 ContentValues contentValues = new ContentValues();
65 contentValues.put(COL_1,id);
66 contentValues.put(COL_2,name);
67 contentValues.put(COL_3,surname);
68 contentValues.put(COL_4,marks);
69 db.update(TABLE_NAME, contentValues, "ID = ?",new String[] { id });
70 return true;
71 }
72
73 public Integer deleteData (String id) {
74 SQLiteDatabase db = this.getWritableDatabase();
75 return db.delete(TABLE_NAME, "ID = ?",new String[] {id});
76 }
77}
78
79
80MainActivity.java{
81
82package com.example.programmingknowledge.sqliteapp;
83
84import android.app.AlertDialog;
85import android.database.Cursor;
86import android.support.v7.app.ActionBarActivity;
87import android.os.Bundle;
88import android.view.Menu;
89import android.view.MenuItem;
90import android.view.View;
91import android.widget.Button;
92import android.widget.EditText;
93import android.widget.Toast;
94
95
96public class MainActivity extends ActionBarActivity {
97 DatabaseHelper myDb;
98 EditText editName,editSurname,editMarks ,editTextId;
99 Button btnAddData;
100 Button btnviewAll;
101 Button btnDelete;
102
103 Button btnviewUpdate;
104 @Override
105 protected void onCreate(Bundle savedInstanceState) {
106 super.onCreate(savedInstanceState);
107 setContentView(R.layout.activity_main);
108 myDb = new DatabaseHelper(this);
109
110 editName = (EditText)findViewById(R.id.editText_name);
111 editSurname = (EditText)findViewById(R.id.editText_surname);
112 editMarks = (EditText)findViewById(R.id.editText_Marks);
113 editTextId = (EditText)findViewById(R.id.editText_id);
114 btnAddData = (Button)findViewById(R.id.button_add);
115 btnviewAll = (Button)findViewById(R.id.button_viewAll);
116 btnviewUpdate= (Button)findViewById(R.id.button_update);
117 btnDelete= (Button)findViewById(R.id.button_delete);
118 AddData();
119 viewAll();
120 UpdateData();
121 DeleteData();
122 }
123 public void DeleteData() {
124 btnDelete.setOnClickListener(
125 new View.OnClickListener() {
126 @Override
127 public void onClick(View v) {
128 Integer deletedRows = myDb.deleteData(editTextId.getText().toString());
129 if(deletedRows > 0)
130 Toast.makeText(MainActivity.this,"Data Deleted",Toast.LENGTH_LONG).show();
131 else
132 Toast.makeText(MainActivity.this,"Data not Deleted",Toast.LENGTH_LONG).show();
133 }
134 }
135 );
136 }
137 public void UpdateData() {
138 btnviewUpdate.setOnClickListener(
139 new View.OnClickListener() {
140 @Override
141 public void onClick(View v) {
142 boolean isUpdate = myDb.updateData(editTextId.getText().toString(),
143 editName.getText().toString(),
144 editSurname.getText().toString(),editMarks.getText().toString());
145 if(isUpdate == true)
146 Toast.makeText(MainActivity.this,"Data Update",Toast.LENGTH_LONG).show();
147 else
148 Toast.makeText(MainActivity.this,"Data not Updated",Toast.LENGTH_LONG).show();
149 }
150 }
151 );
152 }
153 public void AddData() {
154 btnAddData.setOnClickListener(
155 new View.OnClickListener() {
156 @Override
157 public void onClick(View v) {
158 boolean isInserted = myDb.insertData(editName.getText().toString(),
159 editSurname.getText().toString(),
160 editMarks.getText().toString() );
161 if(isInserted == true)
162 Toast.makeText(MainActivity.this,"Data Inserted",Toast.LENGTH_LONG).show();
163 else
164 Toast.makeText(MainActivity.this,"Data not Inserted",Toast.LENGTH_LONG).show();
165 }
166 }
167 );
168 }
169
170 public void viewAll() {
171 btnviewAll.setOnClickListener(
172 new View.OnClickListener() {
173 @Override
174 public void onClick(View v) {
175 Cursor res = myDb.getAllData();
176 if(res.getCount() == 0) {
177 // show message
178 showMessage("Error","Nothing found");
179 return;
180 }
181
182 StringBuffer buffer = new StringBuffer();
183 while (res.moveToNext()) {
184 buffer.append("Id :"+ res.getString(0)+"\n");
185 buffer.append("Name :"+ res.getString(1)+"\n");
186 buffer.append("Surname :"+ res.getString(2)+"\n");
187 buffer.append("Marks :"+ res.getString(3)+"\n\n");
188 }
189
190 // Show all data
191 showMessage("Data",buffer.toString());
192 }
193 }
194 );
195 }
196
197 public void showMessage(String title,String Message){
198 AlertDialog.Builder builder = new AlertDialog.Builder(this);
199 builder.setCancelable(true);
200 builder.setTitle(title);
201 builder.setMessage(Message);
202 builder.show();
203 }
204
205
206 @Override
207 public boolean onCreateOptionsMenu(Menu menu) {
208 // Inflate the menu; this adds items to the action bar if it is present.
209 getMenuInflater().inflate(R.menu.menu_main, menu);
210 return true;
211 }
212
213 @Override
214 public boolean onOptionsItemSelected(MenuItem item) {
215 // Handle action bar item clicks here. The action bar will
216 // automatically handle clicks on the Home/Up button, so long
217 // as you specify a parent activity in AndroidManifest.xml.
218 int id = item.getItemId();
219
220 //noinspection SimplifiableIfStatement
221 if (id == R.id.action_settings) {
222 return true;
223 }
224
225 return super.onOptionsItemSelected(item);
226 }
227}
228
229Checking particular record
230 Cursor cursor = null;
231 String sql ="SELECT PID FROM "+TableName+" WHERE PID="+pidValue;
232 cursor= db.rawQuery(sql,null);
233 Log("Cursor Count : " + cursor.getCount());
234
235 if(cursor.getCount()>0){
236 //PID Found
237 }else{
238 //PID Not Found
239 }
240 cursor.close();