数据库的SQLiteConnection对象请修复

时间:2014-04-11 09:24:48

标签: android sqlite

04-11 05:05:17.837: W/SQLiteConnectionPool(6454): A SQLiteConnection object for database Please fix your application to end transactions in progress properly and to close the database when it is no longer needed.

这是我的logcat错误返回我在herehere中搜索了这个错误的可能解决方案,说你应该关闭数据库但是我有这个代码

@Override
     protected void onPause() {
      super.onPause();

      if (db.isOpen()) {
          db.close();
      }
     }

关于我所有的活动,所以我想知道为什么我得到这个错误

1 个答案:

答案 0 :(得分:1)

public class DatabaseHelper extends SQLiteOpenHelper { 

  private static DatabaseHelper sInstance;

  private static final String DATABASE_NAME = "database_name";
  private static final String DATABASE_TABLE = "table_name";
  private static final int DATABASE_VERSION = 1;

  public static DatabaseHelper getInstance(Context context) {

    // Use the application context, which will ensure that you 
    // don't accidentally leak an Activity's context.
    // See this article for more information: http://bit.ly/6LRzfx
    if (sInstance == null) {
      sInstance = new DatabaseHelper(context.getApplicationContext());
    }
    return sInstance;
  }

  /**
   * Constructor should be private to prevent direct instantiation.
   * make call to static factory method "getInstance()" instead.
   */
  private DatabaseHelper(Context context) {
    super(context, DATABASE_NAME, null, DATABASE_VERSION);
  }
}

我目前正在做同样的事情我在做这个教程如果你想尝试它你可以找到它here