照書敲代碼實現自定義 ContentProvider,運行報錯,無法正常增刪改查。
DataBaseHelpe 類名拼寫錯誤(少了字母 'r'),導致 UserProvider 中 new DataBaseHelper(...) 實例化失敗。
public class DatabaseHelper extends SQLiteOpenHelper {
public static final String DB_NAME = "userdb.db";
public static final String TABLENAME = "userinfo";
// ... 建表 SQL 注意空格:"create table " + TABLENAME + " (...)"
}
private DatabaseHelper dbh = null;
// ...
public boolean onCreate() {
dbh = new DatabaseHelper(getContext());
return true; // 成功創建返回 true
}
<provider
android:name=".UserProvider"
android:authorities="com.chapt6.userprovider"
android:exported="true" />
其餘 MainActivity、strings.xml、佈局文件均正常,修正類名後即可運行。