Android ListAdapter design advice
I would suggest using the built-in CursorAdapter together with a SQLiteCursor. You should be able to construct even your more complex query using the SQLiteQueryBuilder.