3

Androidプラットフォームで使用するsqliteデータベースがあります。

実行時にテーブルを作成しました。私のSQLは:

CREATE TABLE funcs ( id INTEGER PRIMARY KEY AUTOINCREMENT, func_name TEXT, param NONE)

このテーブルの各行は、プログラム内の関数呼び出しを示しています。そして、パラメータは行ごとにタイプを変更します。

また、テーブルの1行をプリセットするクラスを作成しました

class FunctionDB
{
    private ContentValues mContentValues;

    public FunctionDB(Cursor cursor)
    {
        DatabaseUtils.cursorRowToContentValues(cursor, this.mContentValues);
    }

    public int getID()
    {
        return this.mContentValues.getAsInteger("id");
    }

    public String getName()
    {
        return this.mContentValues.getAsString("func_name");
    }

    public ??? getParam()
    {
        return this.mContentValues.getAs???("param");
    }

}

このクラスは汎用関数型にしたい。つまり、関数の名前を確認して、param列の型を判断したいということです。

paramコードで列のジェネリック型を受け取るにはどうすればよいですか?

4

2 に答える 2

1

ドキュメントによると、いくつかの値を読み取る一般的な方法は、 を使用することgetですObject

于 2012-10-14T20:35:55.553 に答える
0

これを行うきれいな方法は考えられません。

typeof(columnName)

データ型を文字列として返します。

String dataType = this.typeof("param");

if (dataType.equalsIgnoreCase("TEXT"){

if (dataType.equalsIgnoreCase("INTEGER"){

...
于 2012-10-14T20:38:28.413 に答える