android - 无法创建只有一列的表,数据库也未创建

标签 android

我想创建一个数据库,在其中创建一个名为“tbl_like”的表,其中只有一列“id”,但该数据库不是使用下面的代码创建的。我该如何解决这个问题?

我的数据库代码是这样的:

public class DatabaseHandler extends SQLiteOpenHelper {

    private static final int DATABASE_VERSION = 1;
    private static final String DATABASE_NAME = "dataManager";
    private static final String TABLE_LIKE = "tbl_like";
    private static final String KEY_ID = "id";

    public DatabaseHandler(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        String CREATE_LIKE_TABLE = "CREATE TABLE " + TABLE_LIKE + "("
                + KEY_ID + " INTEGER PRIMARY KEY"  + ")";
        db.execSQL(CREATE_LIKE_TABLE);
    }

    // Upgrading database
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        db.execSQL("DROP TABLE IF EXISTS " + TABLE_LIKE);
        onCreate(db);
    }

    public void addContact(Contact contact) {
        SQLiteDatabase db = this.getWritableDatabase();

        ContentValues values = new ContentValues();
        db.insert(TABLE_LIKE, null, values);
        db.close(); // Closing database connection
    }

}

我在我的 Activity 中调用了这个数据库处理程序类,MainActivity:

public class MainActivity extends FragmentActivity implements
        ActionBar.OnNavigationListener {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
         activity = this;
         DatabaseHandler db = new DatabaseHandler(this);
      }
}

最佳答案

您错过了一行。您没有为 ContentValues 添加值(value)

public void addContact(Contact contact) {
    SQLiteDatabase db = this.getWritableDatabase();

    ContentValues values = new ContentValues();
  //add this line
    values.put(KEY_ID,contact);
  //
    db.insert(TABLE_LIKE, null, values);
    db.close(); 
}

关于android - 无法创建只有一列的表,数据库也未创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27373441/

相关文章:

jquery - android 性能 jquery PhoneGap 问题

java - Android标准大括号样式合法性

java - Android 框架采用命令式设计还是面向对象设计?

android - 根据 list 中是否设置了 Theme.NoTitleBar,选项卡显示不同

android - 在 friend 的墙上张贴照片?

iphone - 移动平台上的 Adob​​e AIR

android - 从可绘制资源加载 TextureRegion

android - 在 layout_hint 找不到与给定名称匹配的资源

android - 仅在针对较低 API 时请求 Android M 权限

android - 在根项目 buildscript 中使用复合构建中的 Gradle 插件