Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/188.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我想在我的android应用程序中添加“添加到收藏夹”选项_Android_Sqlite_Cursor - Fatal编程技术网

我想在我的android应用程序中添加“添加到收藏夹”选项

我想在我的android应用程序中添加“添加到收藏夹”选项,android,sqlite,cursor,Android,Sqlite,Cursor,我正在制作简单的壁纸应用程序。我希望实现“添加到收藏夹”选项。我正在使用sqlite存储图像链接,然后通过毕加索将其保存。请帮助我如何添加最喜爱的按钮。谢谢大家! 您需要在表中添加新列 例如,isfavorite 并存储布尔值值,如0-不喜欢和1-喜欢 然后,在您需要启动查询之后,您希望如何从数据库中获取数据 如需更多帮助,请参阅 示例: 我们有这个表-DataTable 1) 编写SQLite数据库处理程序类 public class DatabaseHandler extends SQLi

我正在制作简单的壁纸应用程序。我希望实现“添加到收藏夹”选项。我正在使用sqlite存储图像链接,然后通过毕加索将其保存。请帮助我如何添加最喜爱的按钮。谢谢大家!

您需要在表中添加新列

例如,isfavorite

并存储布尔值值,如0-不喜欢和1-喜欢

然后,在您需要启动查询之后,您希望如何从数据库中获取数据

如需更多帮助,请参阅

示例: 我们有这个表-DataTable

1) 编写SQLite数据库处理程序类

public class DatabaseHandler extends SQLiteOpenHelper {

// All Static variables
// Database Version
private static final int DATABASE_VERSION = 1;

// Database Name
private static final String DATABASE_NAME = "dataManager";

//  table name
private static final String TABLE_DATA = "data";

//  Table Columns names
private static final String KEY_ID = "id";
private static final String KEY_IMG_URL = "ImgFavourite";
private static final String KEY_IS_FAVOURITE= "IsFavourite";

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

// Creating Tables
@Override
public void onCreate(SQLiteDatabase db) {
    String CREATE_TABLE = "CREATE TABLE " + TABLE_DATA + "("
            + KEY_ID + " INTEGER PRIMARY KEY," + KEY_IMG_URL+ " TEXT,"
            + KEY_IS_FAVOURITE+ " INTEGER" + ")";
    db.execSQL(CREATE_TABLE);
}

// Upgrading database
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    // Drop older table if existed
    db.execSQL("DROP TABLE IF EXISTS " + TABLE_DATA );

    // Create tables again
    onCreate(db);
}
插入新记录

// Adding new data
public void addData(Data data) {
    SQLiteDatabase db = this.getWritableDatabase();

    ContentValues values = new ContentValues();
    values.put(KEY_IMG_URL, data.getImgUrl());
    values.put(KEY_IS_FAVOURITE, data.getIsFavoutire());

    // Inserting Row
    db.insert(TABLE_DATA, null, values);
    db.close(); // Closing database connection
// Updating single data
public int updateData(Data data) {
    SQLiteDatabase db = this.getWritableDatabase();

    ContentValues values = new ContentValues();
    values.put(KEY_IMG_URL, data.getImgUrl());
    values.put(KEY_IS_FAVOURITE, data.getIsFavoutire());

    // updating row
    return db.update(TABLE_DATA, values, KEY_ID + " = ?",
            new String[] { String.valueOf(data.getID()) });
}
更新记录

// Adding new data
public void addData(Data data) {
    SQLiteDatabase db = this.getWritableDatabase();

    ContentValues values = new ContentValues();
    values.put(KEY_IMG_URL, data.getImgUrl());
    values.put(KEY_IS_FAVOURITE, data.getIsFavoutire());

    // Inserting Row
    db.insert(TABLE_DATA, null, values);
    db.close(); // Closing database connection
// Updating single data
public int updateData(Data data) {
    SQLiteDatabase db = this.getWritableDatabase();

    ContentValues values = new ContentValues();
    values.put(KEY_IMG_URL, data.getImgUrl());
    values.put(KEY_IS_FAVOURITE, data.getIsFavoutire());

    // updating row
    return db.update(TABLE_DATA, values, KEY_ID + " = ?",
            new String[] { String.valueOf(data.getID()) });
}
注意:SQLite没有单独的布尔存储类。相反,布尔值存储为整数0(false)和1(true)


有关更多帮助,请参考您需要在表中添加新列

例如,isfavorite

并存储布尔值值,如0-不喜欢和1-喜欢

然后,在您需要启动查询之后,您希望如何从数据库中获取数据

如需更多帮助,请参阅

示例: 我们有这个表-DataTable

1) 编写SQLite数据库处理程序类

public class DatabaseHandler extends SQLiteOpenHelper {

// All Static variables
// Database Version
private static final int DATABASE_VERSION = 1;

// Database Name
private static final String DATABASE_NAME = "dataManager";

//  table name
private static final String TABLE_DATA = "data";

//  Table Columns names
private static final String KEY_ID = "id";
private static final String KEY_IMG_URL = "ImgFavourite";
private static final String KEY_IS_FAVOURITE= "IsFavourite";

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

// Creating Tables
@Override
public void onCreate(SQLiteDatabase db) {
    String CREATE_TABLE = "CREATE TABLE " + TABLE_DATA + "("
            + KEY_ID + " INTEGER PRIMARY KEY," + KEY_IMG_URL+ " TEXT,"
            + KEY_IS_FAVOURITE+ " INTEGER" + ")";
    db.execSQL(CREATE_TABLE);
}

// Upgrading database
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    // Drop older table if existed
    db.execSQL("DROP TABLE IF EXISTS " + TABLE_DATA );

    // Create tables again
    onCreate(db);
}
插入新记录

// Adding new data
public void addData(Data data) {
    SQLiteDatabase db = this.getWritableDatabase();

    ContentValues values = new ContentValues();
    values.put(KEY_IMG_URL, data.getImgUrl());
    values.put(KEY_IS_FAVOURITE, data.getIsFavoutire());

    // Inserting Row
    db.insert(TABLE_DATA, null, values);
    db.close(); // Closing database connection
// Updating single data
public int updateData(Data data) {
    SQLiteDatabase db = this.getWritableDatabase();

    ContentValues values = new ContentValues();
    values.put(KEY_IMG_URL, data.getImgUrl());
    values.put(KEY_IS_FAVOURITE, data.getIsFavoutire());

    // updating row
    return db.update(TABLE_DATA, values, KEY_ID + " = ?",
            new String[] { String.valueOf(data.getID()) });
}
更新记录

// Adding new data
public void addData(Data data) {
    SQLiteDatabase db = this.getWritableDatabase();

    ContentValues values = new ContentValues();
    values.put(KEY_IMG_URL, data.getImgUrl());
    values.put(KEY_IS_FAVOURITE, data.getIsFavoutire());

    // Inserting Row
    db.insert(TABLE_DATA, null, values);
    db.close(); // Closing database connection
// Updating single data
public int updateData(Data data) {
    SQLiteDatabase db = this.getWritableDatabase();

    ContentValues values = new ContentValues();
    values.put(KEY_IMG_URL, data.getImgUrl());
    values.put(KEY_IS_FAVOURITE, data.getIsFavoutire());

    // updating row
    return db.update(TABLE_DATA, values, KEY_ID + " = ?",
            new String[] { String.valueOf(data.getID()) });
}
注意:SQLite没有单独的布尔存储类。相反,布尔值存储为整数0(false)和1(true)


有关更多帮助,请参阅

Ok。但是,如何保存最受欢迎的状态呢button@MiteshParekh-“保存最喜爱按钮的状态”的意思是什么?您需要存储布尔值,如0-不喜欢和1-最喜欢如果不清楚请解释您的问题,例如,如果用户点击最喜欢的按钮;按钮变为红色,表示该项目已添加到收藏夹中。但当用户再次打开应用程序时,收藏夹按钮应为红色,表示该项目在fav列表中,因此如何保存该按钮状态。首先,您需要启动保存/更新(插入/更新)查询以存储收藏夹,您必须每次使用查询检查它,例如,从TableName中选择IsFavorite,其中Id=1;您得到的是您存储的状态。请提供任何代码示例。因为我对这个@AdilhusenOk是新手。但是,如何保存最受欢迎的状态呢button@MiteshParekh-“保存最喜爱按钮的状态”的意思是什么?您需要存储布尔值,如0-不喜欢和1-最喜欢如果不清楚请解释您的问题,例如,如果用户点击最喜欢的按钮;按钮变为红色,表示该项目已添加到收藏夹中。但当用户再次打开应用程序时,收藏夹按钮应为红色,表示该项目在fav列表中,因此如何保存该按钮状态。首先,您需要启动保存/更新(插入/更新)查询以存储收藏夹,您必须每次使用查询检查它,例如,从TableName中选择IsFavorite,其中Id=1;您得到的是您存储的状态。请提供任何代码示例。因为我是这个@AdilhusenHello@Mitesh的新手,如果你用我的ans得到了解决方案,那么你将用我的ansHello@Mitesh正确勾选如果你用我的ans得到了解决方案,那么你将用我的ans正确勾选