Sunday, 21 April 2013

Use Your Own SQLite in ANDROID Application or Using 'SQLite Asset Helper' to read your own databases stored in Asset folder

See more basics on Android along with interview questions

See SQLite tutorial here

If you want to read your own databases in ANDROID APPLICATION, this post may help you.

You may be familiar by creating SQLite in Android use  SQLiteOpenHelper .

Here we are going to deal with using our own databases. 

I have a database named 'mydatabase.sqlite', which consist of a set of name and age of 5 students.

Suppose I want to view the database, I can use SQLite database browser which you can download from here.
                                                  download browser.....

Through this browser we can view the databases, can even modify delete or create a new one.
'mydatabase.sqlite' with name and age of five students is browsed and viewed as shown below

Now  make a zip format of database and copy this database to asset/databases
Also copy 'android-sqlite-asset-helper.jar' into the lib folder.

                                                         download jar.....

Make sure that you copy only zip format to asset folder or else it will not read database.
Now I'am going to load the database contents to a listview. The java source code is given below.


public class SqliteAssetHelper extends ListActivity {

 private Cursor students;
 private MyDatabase db;

 public void onCreate(Bundle savedInstanceState) {

  db = new MyDatabase(this);
  students = db.getEmployees(); // you would not typically call this on the main thread

  ListAdapter adapter = new SimpleCursorAdapter(this, 
    new String[] {"name","age"}, //table values 
    new int[] {,});


 protected void onDestroy() {
 } }
public class MyDatabase extends SQLiteAssetHelper {

 private static final String DATABASE_NAME = "mydatabase";
 private static final int DATABASE_VERSION = 2;
 public MyDatabase(Context context) {
  super(context, DATABASE_NAME, null, DATABASE_VERSION); 

 public Cursor getEmployees() {

  SQLiteDatabase db = getReadableDatabase();
  SQLiteQueryBuilder qb = new SQLiteQueryBuilder();

  String [] sqlSelect = {"0 _id","name","age"}; 
  String sqlTables = "mytable";

  Cursor c = qb.query(db, sqlSelect, null, null,
    null, null, null);

  return c;

 } }


  1. Thx for the tutorial. However, how do you upgrade the database? My logcat says it requires a script. From github, it says a i need some kind of text file that contains the script [ ] .. The problems is, how do i even make the script?

  2. how if I want to store image in database and retrieve it. Which folder I should store mu image file?

  3. How can I retrieve data from the DB? I mean, for example asking the user for an 'age' value, then query on the Database and those that match return their 'name' value.

  4. How about writing on the database? Any thoughts?

  5. which one to use for android? 32bit or 64bit.