3

Hii everybody ,

I am noob at android and need some help...

I am developing an app which requires me to write to an SQLiteDatabase in one activity and access it from another activity . I am facing a problem implementing this. Any suggestions/ideas as to how we can share the database across multiple activities ...?

3 Answers 3

3

I'd recommend you to use the SQLiteOpenHelper class.

Simply use the same database name consistently across your activities, it should not cause any problem.

SQLiteOpenHelper helper = new SQLiteOpenHelper( context, R.string.db_name, null, 1); SQLiteDatabase db = helper.getWritableDatabase(); 
Sign up to request clarification or add additional context in comments.

2 Comments

Could you elaborate more on how to go about implementing the above statements? I am facing difficulties.
what about opening a new question ? it's been two years since my reply :)
0

The issue of accessing the same database two different activities can be handled in a few different ways.

The simplest, which should work for your case, is to create a new class that extends SQLITEOpenHelper and instantiate that class from both activities.

Android has no problem with multiple Activities or processes accessing the SQlite database simultaneously.

Comments

0

Simply you can make a common Class for DataBase and use it by creating object.

public class DbOperation extends SQLiteOpenHelper{ public static final String name="mydb.db"; public static final String MainTab="MainTab"; public static final String ID="_ID"; public static final String LevelName="LevelName"; int version =2; public DbOperation(Context context, String name, CursorFactory factory, int version) { super(context, name,null, version); } @Override public void onCreate(SQLiteDatabase db) { String str="CREATE TABLE "+MainTab+"("+ID+" integer primary key autoincrement,"+LevelName+" text not null unique key)"; } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { } 

}

Use this data base in any activity in below way

DbOperation ob=new DbOperation (); SQLiteDatabase db=new SQLiteaDatabase(); db=ob.getWritableDataBase(); and now you can use operation like query,delete,update Cursor cur=db.query(Table_name,null,null,null,null); etc 

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.