我需要获得列durms(整数)的ave,它以毫秒为单位存储秒。 我试图通过直接将值赋给long变量来做到这一点。 它是否正确? 我检查了log.d(dur,cursor.getLong(0));
总是给出0。 我检查了数据库,列durms中有值。
请帮帮我:)代码如下。
public String getAve(String s) {
SQLiteDatabase db = getWritableDatabase();
String query = "select avg(durms) from logs where type ='" +s+ "'";
Cursor cursor = db.rawQuery(query, null);
String dur = null;
if(cursor.moveToFirst()){
Log.d(dur, String.valueOf(cursor.getLong(0)));
long ss = cursor.getLong(0) / 1000 % 60;
long mm = cursor.getLong(0) / (1000 * 60) % 60;
long hh = cursor.getLong(0) / (1000 * 60 * 60) % 60;
if (hh > 0)
dur = hh + "h " + mm + "m " + ss + "s ";
else if (mm > 0)
dur = mm + "m " + ss + "s ";
else
dur = ss + "s ";
}
return dur;
}
另请告诉我从db中检索值以进行操作的最短路径。
谢谢, Karthick。