我应该在一个Android项目中放置一个现有的数据库

时间:2016-07-19 14:39:30

标签: android

我正在制作一个应用程序,并希望将其移植到我刚接触到的android。我应该在哪里放置数据库?并且下面的代码足以成功连接和查询数据库,或者我是否需要更多来测试它是否有效?

 String path = "WHERE_SHOULD_I_PLACE_MY_DB_?";

SQLiteDatabase sqLiteDatabase = SQLiteDatabase.openDatabase(path, null,     
SQLiteDatabase.OPEN_READONLY);

            Cursor cursor = sqLiteDatabase.rawQuery("select * from table", null);

            String something = cursor.getString(1);

            System.out.println(something);

2 个答案:

答案 0 :(得分:0)

我从来没有做过类似的事情,但如果我理解你的问题,你有一个数据库,我建议你把它放在你的android项目的资产文件夹中,然后将其移动到应用程序的内部SD卡。通常有一个/app_internal_sd_card/databases/some_db.db存储它们,但由于你不是自己创建它,所以你不能马上把它放在那里。

您可以直接从资产中读取,但我认为这是一种不好的做法。 :)

有关从资产中读取的一些信息:read file from assets 要么 How to copy files from 'assets' folder to sdcard?

答案 1 :(得分:0)

Android拥有SQL lite的API,只需使用它就可以将db放到正确的位置:

  

就像您在设备的内部存储空间中保存的文件一样   Android将您的数据库存储在与之关联的专用磁盘空间中   应用。您的数据是安全的,因为默认情况下此区域不是   其他应用程序可以访问。

https://developer.android.com/training/basics/data-storage/databases.html