0

デュレーション範囲を使用してトラックを選択しようとしています。例えば

String start = null;
String end = null;
if (criteria == getString(R.string.uptofivemins)) {
    start = "0";
    end = "300000";
}
String[] crit =  {start,end};
String where = "duration >= ? AND duration < ? ";
//.... 


private final Uri uri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
private final String duration = MediaStore.Audio.Media.DURATION;
//etc...
cr.query(uri, columns, where, crit, null);

問題は、文字列の開始と終了をフィードする必要があるため、結果のクエリがこれらを使用して実行されることです。ただし、データベース フィールド「duration」は int 型であり、返された結果から、比較は int ではなく文字列に対するものであると思われるため、選択が正しくありません。継続時間の範囲を使用してトラックを選択する方法についてのアイデアを持っている人は誰でも、たとえば<5分、5〜10分など.

4

1 に答える 1

0

問題はソートされました。ヒューマンエラーと焦りの組み合わせ。クエリはオーディオ テーブルに対して実行されます

   SELECT duration FROM audio WHERE duration >= '300000' AND duration <= '600000';
于 2015-12-09T12:32:15.853 に答える