【问题标题】:Content Provider: where is it exactly created and stored? [closed]内容提供者:它究竟是在哪里创建和存储的? [关闭]
【发布时间】:2018-06-07 20:40:17
【问题描述】:

我为我的应用创建了一个内容提供程序。我想知道在内容提供者中创建的数据库的确切位置或路径在哪里。卸载应用程序是否也会删除内容提供者?如果我想更改内容提供程序中的列数,我应该如何升级它?

【问题讨论】:

    标签: android android-contentprovider


    【解决方案1】:

    内容提供者不是数据库,而是提供一些优势的组件,例如使内容可从主设备搜索。 数据库并不严格依赖于内容提供者。内容提供者所做的是通过 Uri 和权限为数据库提供接口。 所以回答你的问题是,如果你取消你的应用程序,你也将取消数据库,因为取消应用程序,甚至内容提供程序类都会被取消

    【讨论】:

      【解决方案2】:

      快速搜索 SO:

      在内容提供程序中创建的数据库的位置或路径到底在哪里

      this

      “内容提供者如何在幕后实际存储其数据取决于其设计者。”

      卸载应用程序是否也会删除内容提供者?

      this

      有两种使用/更改 Content Provider 的方法

      更改默认内容提供者,例如联系人。如果您的应用添加了联系人条目,即使应用被删除,该联系人仍然存在

      制作您自己的内容提供商。但是,当应用程序被卸载时,它会被删除。

      如果我想更改内容提供程序中的列数,我应该如何升级它?

      this

      ContentValues values = new ContentValues();
      values.put(HabitTable.TIME); //whatever column you want to update, I dont know the name of it
      
      ...//any other values you want to update too
      
      getContentResolver().update(HabitTable.CONTENT_URI,values,HabitTable.ID+"=?",new String[] {String.valueOf(id)}); //id is the id of the row you wan to update
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-05-04
        • 2018-07-14
        • 1970-01-01
        • 1970-01-01
        • 2022-01-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多