小编tja*_*jay的帖子

来自活动和服务的SQLite用法

我创建了一个databaseprovider类,它使用db对象的单个实例.对象在主活动中创建并关闭onDestroy方法.这似乎没问题(但是得到一些错误,例如:db已经关闭或者数据库未在我无法模拟的某些用户设备上打开).

我想为内容下载的应用程序添加一个服务,这个服务可以使用调度程序运行,这让我想到db对象的单个实例将无法正常工作.我是否应该使用另一个对象进行服务,是否会导致一致性问题?能否建议最好的方法是什么?

Databaseprovider类exm:

public class DatabaseProvider {
private static DatabaseHelper helperWriter;
public static SQLiteDatabase db_global;
public DatabaseProvider(Context c) {
    helperWriter = DatabaseHelper.getHelper(c, true);
}

private static SQLiteDatabase getDB() {     

    if(db_global == null)           
        db_global = helperWriter.getWritableDatabase();
    else if(!db_global.isOpen()) {
        try {
            db_global.close();
        }
        catch(Exception ex) {
            ex.printStackTrace();
        }
        db_global = helperWriter.getWritableDatabase();
    }

    return db_global;
}

public String GetVersion() {
    SQLiteDatabase db = getDB();
    Cursor c = db.query(DatabaseHelper.PARAMETER_TABLE_NAME, new String[] {"VALUE"}, "KEY='Version'", null, null,null,null);
    String version = "";
    if(c.moveToNext())
    {
        version = …
Run Code Online (Sandbox Code Playgroud)

sqlite android

7
推荐指数
1
解决办法
143
查看次数

标签 统计

android ×1

sqlite ×1