在SqliteOpenHelper中更改数据库

时间:2014-06-23 12:26:29

标签: android sqlite sqliteopenhelper

有没有办法改变SQLiteOpenHelper对象使用的数据库,而不必强制使用帮助程序的每个类替换它们的类实例?

我改变数据库的原因是因为我在两个具有相同表结构的独立数据库中有一些实时数据和一些离线数据。我更新离线数据然后交换它们,允许我在大插入上锁定脱机数据库。

1 个答案:

答案 0 :(得分:0)

您必须使用singleton pattern仅使用一个实例访问您的数据库 它看起来像

    public class SingletonDemo {
        private static SingletonDemo instance = null;
        private SingletonDemo() { // do what you want here}
        public static SingletonDemo getInstance() {
            if (instance == null) {
                synchronized (SingletonDemo.class) {
                    if (instance == null) {
                        instance = new SingletonDemo();
                    }
                }
            }
            return instance;
        }

...
// Add all the class function you need here

    }

这是线程安全的,可以在您需要的任何地方使用。