I got an error when I use getReadableDatabase() in my android app recently, and it returned null.
My DatabaseHelper is like this:
package com.example.borec;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
public class DatabaseHelper extends SQLiteOpenHelper {
    private static final int VERSION = 1;
    public DatabaseHelper(Context context, String name, CursorFactory factory,
            int version) {
        super(context, name, factory, version);
    }
    public DatabaseHelper(Context context, String name) {
        this(context, name, VERSION);
    }
    public DatabaseHelper(Context context, String name, int version) {
        this(context, name, null, version);
    }
    @Override
    public void onCreate(SQLiteDatabase db) {
        // TODO Auto-generated method stub
        System.out.println("create a Database");
        db.execSQL("create table users(uid varchar(10),user_name varchar(30))");
        db.execSQL("create table status(create_at varchar(40),datelong integer,id varchar(10),text varchar(1000),user_name varchar(30),uid varchar(10),annotations varchar(1000))");
    }
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // TODO Auto-generated method stub
        System.out.println("update a Database");
    }
}
And I use this helper in a activity:
DatabaseHelper dbHelper = new DatabaseHelper(DataOperatorActivity.this, "borec");
db = dbHelper.getReadableDatabase();
The second statement returns null? Who knows why?