将数据存储在数据库 Android

Store data in Database Android

我制作了一个用多行显示值的 TextView
我想将该值保存在 SQLite 数据库中。这是我使用的代码:

public void AddContact(Contact c)
{
    SQLiteDatabase db=this.getWritableDatabase();
    ContentValues cv=new ContentValues();
    cv.put("nom",c.getNom());
    Scanner s = new Scanner(String.valueOf(cv));
    while (s.hasNextLine()){
        String line = s.nextLine();
        db.insert("contact",line,cv);
        
    }

问题是当我保存值时,整个值被插入到一个单元格中。尽管我对插入数据使用 Scanner 方法但它不起作用,但我希望每行将值分开然后插入到每行的单个单元格中。 有什么办法吗?

在您的代码中,这一行:

cv.put("nom",c.getNom());

c.getNom() 的完整字符串分配给 ContentValues 对象,这就是您在 table.
中插入的内容 您必须将 c.getNom() 的每一行分配给 cv 并在 while 循环的每次迭代中插入它:

public void AddContact(Contact c) {
    SQLiteDatabase db = this.getWritableDatabase();
    ContentValues cv = new ContentValues();
    Scanner s = new Scanner(c.getNom());
    while (s.hasNextLine()) {
        String line = s.nextLine();
        cv.put("nom", line); 
        db.insert("contact", null, cv);
    }      
}