我在数据库中有一个表,该表的每条记录都需要存储多个字符串,我不知道有多少个字符串,因为它是在运行时决定的。
我想在数据库表中动态添加图像uri,用户在我的应用程序中动态添加图像,所以我需要保存它们的uri,正确的方法是什么?
我正在尝试这样的事情,方法是按照这个Insert new column into table in sqlite ?
String ColumnName=Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).toString() + "/" + "image1.jpg");
addNewColumn(ColumnName);
我为此使用了以下方法(无效):-
首先,我在表中添加新列:-
public Cursor addColumn(String name){
db=dbhelper.getWritableDatabase();
return db.rawQuery("alter table info add column " + name + " text", null);
}
然后将uri插入到这个
public Boolean setUri(String columnName,String uri) {
ContentValues cv= new ContentValues();
cv.put(columnName,uri);
SQLiteDatabase db =dbhelper.getWritableDatabase();
long id=db.insert("info",null,cv);
if(id>-1)
return true;
else
return false;
}
上述方法正确吗?
我也在下面的代码中搜索并罚款: -
private static final String ALTER = "ALTER TABLE user_table ADD user_street1 TEXT";
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
{
db.execSQL(ALTER);
}
我可以动态调用 onUpgrade() 方法并添加新列或任何其他方式来做到这一点..?
提前致谢 :)