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 .
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.
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.
In SqliteAssetHelper.java
public class SqliteAssetHelper extends ListActivity { private Cursor students; private MyDatabase db; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); db = new MyDatabase(this); students = db.getEmployees(); // you would not typically call this on the main thread ListAdapter adapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_2, students, new String[] {"name","age"}, //table values new int[] {android.R.id.text1,android.R.id.text2}); getListView().setAdapter(adapter); } @Override protected void onDestroy() { super.onDestroy(); students.close(); db.close(); } }In MyDatabase.java
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"; qb.setTables(sqlTables); Cursor c = qb.query(db, sqlSelect, null, null, null, null, null); c.moveToFirst(); return c; } }
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 [ https://github.com/jgilfelt/android-sqlite-asset-helper/blob/master/samples/database-v2-upgrade/src/main/assets/databases/northwind.db_upgrade_1-2.sql ] .. The problems is, how do i even make the script?
ReplyDeleteGreat post. Thanks a lot.
ReplyDeletegreat thankyou
ReplyDeletehow if I want to store image in database and retrieve it. Which folder I should store mu image file?
ReplyDeleteHow 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.
ReplyDeleteHow about writing on the database? Any thoughts?
ReplyDeletewhich one to use for android? 32bit or 64bit.
ReplyDelete