无法打开数据库android Sqlite

无法打开数据库android Sqlite,android,android-sqlite,Android,Android Sqlite,嗨,我开始学习android,我试过这个代码。它显示无法打开数据库,如果创建的路径错误,则显示我的路径是否正确。有人能帮忙吗 public class Sql3Activity extends Activity { public static final String TAG = "DatabaseHelper"; public static final String DATABASE_NAME = "mydb";

嗨,我开始学习android,我试过这个代码。它显示无法打开数据库,如果创建的路径错误,则显示我的路径是否正确。有人能帮忙吗

            public class Sql3Activity extends Activity 
                {


    public static final String TAG = "DatabaseHelper";

    public static final String DATABASE_NAME = "mydb";
    public static final String TRACKS_TABLE = "tracks";
    public static final String TRACK_INFO_TABLE = "track_info";

    public final String TRACKS_TABLE_CREATE = "create table " + TRACKS_TABLE
            + " (_id integer primary key autoincrement, title text not null, description text null, created_at date not null);";

    public static final String TRACK_INFO_TABLE_CREATE = "create table "
            + TRACK_INFO_TABLE
            + " (_id integer primary key autoincrement, track_id integer not null, latitude real not null, longitude real not null, altitude real not null, created_at date not null);";


    public SQLiteDatabase database;



@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_sql3);

     final String DATABASE_FILE_PATH = Environment.getExternalStorageDirectory()+"/test";

    Toast.makeText(Sql3Activity .this,DATABASE_FILE_PATH,Toast.LENGTH_LONG).show();
     try{
     database = SQLiteDatabase.openDatabase(DATABASE_FILE_PATH + File.separator + DATABASE_NAME, null, SQLiteDatabase.OPEN_READWRITE);
     Toast.makeText(Sql3Activity .this,"Database Open",Toast.LENGTH_LONG).show();
     }catch(Exception e)
     {
         Toast.makeText(Sql3Activity .this,"ERROR"+e,Toast.LENGTH_LONG).show(); 
     }

要在外部存储器上读取或写入文件,您的应用程序必须获得
读取外部存储器
写入外部存储器
系统权限

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

此代码是工作代码。
首先,创建扩展SQLiteOpenHelper的类并更改db文件路径

class test extends SQLiteOpenHelper {

    public test(Context context) {
        super(context, "/sdcard/Download/123.db", null, SQLite.DATABASE_VERSION);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        // TODO Auto-generated method stub

    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // TODO Auto-generated method stub

    }

}
并使用游标获取数据

test t = new test(this);
    Cursor cur = t.getWritableDatabase().rawQuery("SELECT * FROM COMPANY", null);
    while (cur.moveToNext()) {
        Log.i("chauster", ""+cur.getString(1));
    }
cur.close();
t.close();

显示异常的堆栈跟踪
e
使用SQLiteOpenHelper处理数据库显示日志cat错误..是否要从外部存储(如xxx.sqlite)打开sqlite数据库?是否添加了从SD卡读取的权限?我是否提到了SD卡的确切路径?