1

私はアンドロイド開発が初めてです。ボタンが 2 つある単純な経費管理プログラムを作成しています。1つは受信者、日付と金額の記録を保存し、他のボタンはこれらの記録を表示します。私が書いたメインコードの一部は次のとおりです。

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ファイルには、日付と番号の編集テキストフィールドがあります。これはエラーを示しています: タイプ ContentValues のメソッド put(String, String) は引数 (String, Date) には適用できず、タイプ ContentValues のメソッド put(String, String) は引数 (String,番号)。他に保存する方法はありますか?

4

1 に答える 1

1

値を保存する前に、値を適切な形式に変換してください。

たとえば、数値を文字列に変換するには String.ValueOf(number) を使用します。

于 2012-04-07T14:44:53.720 に答える