斐伊川大家,SQLite数据库中的Android
我在Android的小白和需要一些帮助......
我正在开发要求我写一个SQLiteDatabase的一个活动,并从访问它的应用程序另一项活动。我正面临执行此问题的一个问题。关于我们如何跨多个活动共享数据库的任何建议/想法......?
斐伊川大家,SQLite数据库中的Android
我在Android的小白和需要一些帮助......
我正在开发要求我写一个SQLiteDatabase的一个活动,并从访问它的应用程序另一项活动。我正面临执行此问题的一个问题。关于我们如何跨多个活动共享数据库的任何建议/想法......?
我建议你使用SQLiteOpenHelper类。
只需在您的活动中一致地使用相同的数据库名称,就不会引起任何问题。
SQLiteOpenHelper helper = new SQLiteOpenHelper(
context, R.string.db_name, null, 1);
SQLiteDatabase db = helper.getWritableDatabase();
访问同一个数据库中的两个不同的活动的问题,可以在几个不同的方式来处理。
最简单的,应该为你的情况工作,是创建一个新的类,扩展SQLITEOpenHelper并从两个活动实例化该类。
Android在多个活动或进程同时访问SQlite数据库时没有问题。
只需制作一个通用的DataBase类并通过创建对象来使用它。
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) {
}
}
使用的任何活动这一数据库在下面的方式
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
你能更多地讨论如何去落实上述声明?我面临困难。 – Anirudh 2012-03-13 10:26:24
开个新问题怎么办?距离我的回复已经两年了:) – SirDarius 2012-03-13 17:00:36