Ciekawostka druga kwerenda działa, pierwsza wali wyjątkiem
//return database.rawQuery("select _id, datetime(start_time/1000, 'unixepoch') from tracks order by _id ", null);
return database.rawQuery("select _id, start_time from tracks order by _id ", null);
09-24 17:59:54.396: ERROR/AndroidRuntime(943): Caused by: java.lang.IllegalArgumentException: column 'start_time' does not exist
09-24 17:59:54.396: ERROR/AndroidRuntime(943): at android.database.AbstractCursor.getColumnIndexOrThrow(AbstractCursor.java:314)
09-24 17:59:54.396: ERROR/AndroidRuntime(943): at android.widget.SimpleCursorAdapter.findColumns(SimpleCursorAdapter.java:312)
09-24 17:59:54.396: ERROR/AndroidRuntime(943): at android.widget.SimpleCursorAdapter.<init>(SimpleCursorAdapter.java:87)
09-24 17:59:54.396: ERROR/AndroidRuntime(943): at pl.com.digita.BikeComputer.TracksList.onCreate(TracksList.java:44)
09-24 17:59:54.396: ERROR/AndroidRuntime(943): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
09-24 17:59:54.396: ERROR/AndroidRuntime(943): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
Z zewnętrznej konsoli oba zapytania działają - pełności SQLite w androidzie ciąg dalszy Log.wtf();
Problem rozwiązałem jak już wyżej pisałem tworząc własnego CursorAdaptera - może komuś się przyda - parę rzeczy jeszcze do dopracowania.
private class MyCursorAdapter extends SimpleCursorAdapter{
public MyCursorAdapter(Context context, int layout, Cursor c,
String[] from, int[] to) {
super(context, layout, c, from, to);
}
private Date d = new Date();
@Override
public void setViewText(TextView v, String text) {
if(v.getId()==R.id.TrackTime){
d.setTime(Long.parseLong(text));
text = d.toLocaleString();
}
super.setViewText(v, text);
}
}