1

首先让您知道我是 Android 新手。

  1. 仅使用 ContentProvider 为一个应用程序处理数据库表操作是一种好习惯吗?

  2. 试图创建多个类来处理数据库表操作。创建了一个数据库助手,如下所示:

    公共类 WSDatabaseHelper 扩展 SQLiteOpenHelper {

        private static final String DATABASE_NAME = "wsemp";
        private static final int DATABASE_VERSION = 5;
    
        public WSDatabaseHelper(Context context) {
            super(context, DATABASE_NAME, null, DATABASE_VERSION);
        }
    
        @Override
        public void onCreate(SQLiteDatabase database) {
            ItemTable.onCreate(database);
            CustomerTable.onCreate(database);
        }
    
        @Override
    public void onUpgrade(SQLiteDatabase database, int oldVersion, int newVersion) {
            ItemTable.onUpgrade(database, oldVersion, newVersion);
            CustomerTable.onUpgrade(database, oldVersion, newVersion);
        }
    }
    

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

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) 但它要求将方法更改为静态。

4

1 回答 1

3

仅使用 ContentProvider 为一个应用程序处理数据库表操作是一种好习惯吗?

如果您的数据仅适用于您的应用程序并且其他应用程序无法使用它,我认为没有任何理由使用 ContentProviders。ContentProvider 用作将您的应用程序数据共享给其他应用程序的接口。如果您的数据可以共享或其他应用程序依赖于它,那么您必须使用 ContentProvider。

您还可以为内容提供者创建一组权限,以限制提供者中的某些操作。

于 2013-02-21T14:50:15.950 回答