【问题标题】:Saving the sqlite databse in android internal memory将sqlite数据库保存在android内存中
【发布时间】:2014-05-17 19:03:52
【问题描述】:

所以我也用谷歌搜索了一些示例,但到目前为止,我还没有找到任何可以为我提供任何知识的来源,我是否可以将我的 sqlite db 保存在设备内部的任何其他文件夹中例如在“/system”文件夹中的内存,我知道只需执行以下操作即可将其保存在 sd 卡中

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);
    }

但是有什么方法可以像在“/system”文件夹中一样将数据库保存在内部存储器中?

【问题讨论】:

  • 如果您的应用被分配了root权限,那么您可以访问内部存储器,而这只有在root手机中才有可能。 :)
  • @SaqibVohra,我的应用程序是系统应用程序,所以假设它具有读写权限,那么在这种情况下,我可以像示例一样简单地在构造函数中传递内部存储器的路径上面还是有不同的程序?
  • 是的,没错 :) 如果你有 root 权限,你可以像 /system/app 一样访问文件夹。这里有一个类似的线程,你会发现它很有用。 :)
  • 我在您的评论中没有看到任何链接,如果您将这个作为答案与该链接一起留下,我会检查它作为正确答案。

标签: android sqlite


【解决方案1】:

但是有什么方法可以像在“/system”文件夹中一样将数据库保存在内部存储器中?

否,因为您没有对该目录的读取或写入权限。

【讨论】:

  • 暂时让我们假设我正在开发一个与设备捆绑在一起的系统应用程序,请原谅我的笨拙,但在这种情况下这可能吗?如果是,我该怎么做?附言你和你的书的忠实粉丝。
  • @AalokSharma:预安装的应用程序不一定具有对该目录的读取或写入权限。如果是这样,那么您可以为数据库读取和写入它。感谢您的客气话!
【解决方案2】:

如果你有 root 权限,你可以像 /system/app 一样访问文件夹。这里有一个类似的线程,你可能会发现它很有用。 :)

how to get access of android root directory (/system/app) programatically?

P.S:复制评论,因为我无法粘贴他们的链接。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-02
    • 2012-11-29
    • 2011-03-09
    • 2013-04-01
    • 2012-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多