首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用ContentProvider来处理数据库操作是很好的实践吗?

问使用ContentProvider来处理数据库操作是很好的实践吗?
EN

Stack Overflow用户
提问于 2013-02-21 14:34:52
回答 1查看 175关注 0票数 1

首先让你知道我是Android的新手。

  1. 使用ContentProvider只为一个应用程序处理数据库表操作是一种良好的实践吗?
  2. 尝试创建多个类来处理数据库表操作。创建了一个数据库助手,如下所示: 公共类WSDatabaseHelper扩展SQLiteOpenHelper { 私有静态最终字符串DATABASE_NAME = "wsemp";私有静态最终int DATABASE_VERSION = 5;公共WSDatabaseHelper(上下文){超级(上下文,DATABASE_NAME,null,DATABASE_VERSION);}@覆盖公共无效onCreate(SQLiteDatabase数据库){ItemTable.onCreate(数据库);CustomerTable.onCreate(数据库)}@覆盖公共空onUpgrade(SQLiteDatabase数据库,int oldVersion,int newVersion) {ItemTable.onUpgrade(数据库,oldVersion,newVersion);CustomerTable.onUpgrade(数据库,oldVersion,newVersion);}}

创建一个类来处理数据库表操作:

代码语言:javascript
复制
public class CustomerBean {
    private WSDatabaseHelper database;

    @Override
    public boolean onCreate() {
        database = new WSDatabaseHelper(getContext());
        return false;
    }

public boolean insertObject(valObj) {
    SQLiteDatabase db = database.getWritableDatabase();
    db.insert(CustomerTable.TABLE_CUST_ACCOUNT_INDEX, null, values);
    }
}

但是现在我不知道如何从我的活动或会话文件调用这个insertObject函数。我尝试过CustomerBean.isnertObject(obj),但它要求将方法更改为静态。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-21 14:50:15

使用ContentProvider只为一个应用程序处理数据库表操作是一种良好的实践吗?

如果您的数据仅针对您的应用程序,而其他应用程序不能使用它,那么我看不出有什么理由使用ContentProviders。ContentProvider用作将应用程序的数据共享给其他应用程序的接口。如果您的数据可以共享,或者其他应用程序依赖于它,那么您必须使用ContentProvider。

此外,还可以为内容提供程序创建一组权限,以限制提供程序中的某些操作。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15004880

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档