我创建了一个小型内容提供程序(我只用它来查询数据库表并获取一些值)。我已经确认提供商工作正常。
表值通过正常的 sql 插入(而不是通过任何内容提供程序)定期更新
每当通过上述正常的 sqlite 操作发生插入/更新或删除时,我需要通知内容解析器,这些解析器是为了与内容提供者通信而编写的,只是为了查询数据库并获取一些值。
这可能吗?如果是,需要做什么?
任何帮助表示赞赏。
编辑以包括我的数据库插入方法:
public void insert(ArrayList<Integer> profileValues, String tableName){
String duplicationCheck = " WHERE NOT EXISTS (SELECT 1 FROM profiles WHERE devID = "+"'"+profileValues.get(0)+"'"+");";
if(tableName.equals(PROFILES_TABLE)){
profilesDB.execSQL("INSERT INTO " +
PROFILES_TABLE +
"(devID,alert,findme,proximity,timep,conn_status) SELECT "+"'"+profileValues.get(0)+"'"+","+profileValues.get(1)+","+profileValues.get(2)+","+profileValues.get(3)+","+profileValues.get(4)+","+profileValues.get(5)+duplicationCheck);
}
getContentResolver().notifyChange(MY_CONTENT_URI, null);
}