首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

自定義 ContentProvider 實戰:修復類名拼寫錯誤與完整代碼示例

     編輯:程式設計疑難解答

問題現象

照書敲代碼實現自定義 ContentProvider,運行報錯,無法正常增刪改查。

核心錯誤

DataBaseHelpe 類名拼寫錯誤(少了字母 'r'),導致 UserProvider 中 new DataBaseHelper(...) 實例化失敗。

修正後的關鍵代碼

DatabaseHelper.java(修正類名)

public class DatabaseHelper extends SQLiteOpenHelper {
    public static final String DB_NAME = "userdb.db";
    public static final String TABLENAME = "userinfo";
    // ... 建表 SQL 注意空格:"create table " + TABLENAME + " (...)"
}

UserProvider.java 關鍵片段

private DatabaseHelper dbh = null;
// ...
public boolean onCreate() {
    dbh = new DatabaseHelper(getContext());
    return true; // 成功創建返回 true
}

AndroidManifest.xml 提供者配置

<provider
    android:name=".UserProvider"
    android:authorities="com.chapt6.userprovider"
    android:exported="true" />

其餘 MainActivity、strings.xml、佈局文件均正常,修正類名後即可運行。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved