所以我已经尝试了几个例子,但迄今为止,我一直无法找到任何可以提供任何知识的源代码,无论我是否可以保存我的sqlite数据库在例如在“/系统”文件夹中的设备的内部存储器中的任何其他文件夹,我知道,它可以通过简单地做以下保存在Android内存中的SQLite数据库
public class DatabaseHandler extends SQLiteOpenHelper {
// All Static variables
// Database Version
private static final int DATABASE_VERSION = 1;
// Database Name
private static final String DATABASE_NAME = "contactsManager";
// Contacts table name
private static final String TABLE_CONTACTS = "contacts";
// Contacts Table Columns names
private static final String KEY_ID = "id";
private static final String KEY_NAME = "name";
private static final String KEY_PH_NO = "phone_number";
public DatabaseHandler(Context context) {
super(context, "sd card path here "+DATABASE_NAME, null, DATABASE_VERSION);
}
// Creating Tables
@Override
public void onCreate(SQLiteDatabase db) {
String CREATE_CONTACTS_TABLE = "CREATE TABLE " + TABLE_CONTACTS + "("
+ KEY_ID + " INTEGER PRIMARY KEY," + KEY_NAME + " TEXT,"
+ KEY_PH_NO + " TEXT" + ")";
db.execSQL(CREATE_CONTACTS_TABLE);
}
它保存在SD卡,但有什么办法,我可以将数据库保存在内部存储器中,就像在“/ system”文件夹中一样?
如果您正在为应用程序分配根权限,则可以访问内部内存,该权限仅适用于有根据的电话。 :) –
@SaqibVohra,我的应用程序是一个系统应用程序,所以我们假设它具有读取和写入权限,所以在这种情况下,我可以简单地在构造函数中传递内部存储器的路径,就像上面的示例一样,或者是否存在不同的程序? –
yup,正好:)如果你有root权限,你可以像访问文件夹一样/ system/app 这里是一个类似的线程,你会发现它很有用。 :) –