Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Â
Embedding an SQLite Database in an Android App
1. Using SQLite database in
Android Apps
Presented @ Cape Town Android Meetup
Joseph Kandi
Peruzal (PTY) LTD
Email: joseph@peruzal.co.za
Web: http://www.peruzal.co.za
Facebook: http://www.facebook.com/peruzal
July 13 2013
Saturday 13 July 13
2. Take Aways
Add persistence to an Android App
Use custom helper classes
Perform CRUD(Create, Read, Update, Delete)
Use ADB shell with sqlite3
Use SimpleCursorAdapter
Bind Data to a ListView
Saturday 13 July 13
3. Adding A Database
Create a Class that extends SQLiteOpenHelper
Override the Constructor
Override the onCreate and onUpgrade
Saturday 13 July 13
4. Create the Custom Class
You need to override the onCreate
and onUpgrade
Custom class, notice there is an
error, we need a constructor
Saturday 13 July 13
6. DeïŹne Fields
Statement to create the database
Database version, very important, used
when upgrading
Database name, and column name for
the table
Saturday 13 July 13
15. Insert into the Database
Use the ContentValues class
Use the various put* methods
Use the db.insert statement
Saturday 13 July 13
16. Perform Insert
Operation
Instantiate an object type
ContentValues, and add the values to
insert into the database
Perform the insert operation.
Returns 1 if successful otherwise an
arbitrary number
Saturday 13 July 13
17. Letâs Read
Columns we are interested in, food
idea to limit to only whatâs needed,
also deïŹne sort ordering
Run query against database and
return a Cursor
NB move to ïŹrst row before stating
to read
Get column by names instead of
column number
Read until the end
Saturday 13 July 13
19. Delete a row
DeïŹne a constraint ïŹrst, equivalent of
the WHERE clause in SQL
Perform the delete, and note the
return. Returns 0 if no rows are
deleted, otherwise returns the number
of rows deleted
Saturday 13 July 13
20. Update
DeïŹne a constraint ïŹrst, equivalent of
the WHERE clause in SQL
Use ContentValues class to ïŹll in new
details
Perform insert and check for the
return type, greater than 0 means
success
Saturday 13 July 13
21. Bind Results to ListView
DeïŹne a SimpleCursorAdapter
Extend ListActivity for the class
setListAdapter
Saturday 13 July 13
23. Instantiate an Adapter
DeïŹne columns to glue from the
database to the ListView DeïŹne the UI idâs to glue to the
database columns
Use the current content, the android
built in layout to glue the database
columns to the ListView UI
Make the link here, and donât forget
to close the database
Saturday 13 July 13
24. UI
Make sure the id is type of
@android:id/list
Saturday 13 July 13
25. Thanks for your time
By the way we an have Android Development
Essentials Course on special running from the
29th - 31st of July - âShameless marketingâ
http://www.peruzal.co.za
http://www.facebook.com/peruzal
Saturday 13 July 13
26. Thanks for your time
By the way we an have Android Development
Essentials Course on special running from the
29th - 31st of July - âShameless marketingâ
http://www.peruzal.co.za
Saturday 13 July 13