如何在日期类型的android中保存sqlite中的记录?

时间:2012-04-07 14:39:29

标签: android sqlite

我是android developpement的新手。我正在制作一个简单的费用管理程序,其中有2个按钮;一个保存收货人,日期和金额记录和其他按钮来查看这些记录。这是我写的主要代码的一部分:

public class database {
public static final String DBNAME = "dbexpense";
SQLiteDatabase db;
DBHandler handler;

public database(Context ctx) {
    handler = new DBHandler(ctx);
}

class DBHandler extends SQLiteOpenHelper {
    public DBHandler(Context ctx) {
        super(ctx, DBNAME, null, 1);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL("Create table expenses(id integer primary key autoincrement,from text,dated date, amount number );");
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        db.execSQL("drop table if exists expenses");
        onCreate(db);
    }
}

public void open() {
    db = handler.getWritableDatabase();
}

public void close() {
    db.close();
}
public boolean saveRecord(String from, Date dated, Number amount)
{
    ContentValues cv=new ContentValues();
    cv.put("From", from);
    cv.put("Dated", dated);
    cv.put("Amount", amount);

    return db.insert("expenses", "", cv)>0;
    }

<EditText 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:id="@+id/editText2" 
android:inputType="date">
</EditText>
<EditText 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:id="@+id/editText3" 
android:inputType="number"></EditText>

我的xml文件包含日期和版本的编辑文本字段。数。 这显示错误:方法put(String,String)在ContentValues类型中不适用于参数(String,Date)和类型ContentValues中的方法put(String,String)不适用于参数(String,数)。还有其他方法可以保存吗?

1 个答案:

答案 0 :(得分:1)

在尝试存储它们之前,将您的值转换为预期的格式。

E.g String.ValueOf(number)将数字转换为字符串。