This is an example Android Eclipse project that creates an SQLite-backed scrolling list with checkboxes. Clicking the checkboxes persist the changes to the database. Clicking a list row either by touch or by using the trackpad will cause the checkbox row's "is_checked" field to toggle in the database. Changes in the database are then propagated to the view, and the checkbox will checked or not as appropriate. This design strongly separates the model and view, gaining reliability with a latency cost. Some code is dedicated to maintaining the position of a non-touch list item selector after it is used to click a list row. More than anything, this code is a starting point for creating new custom, database-backed lists. It makes use of ListFragments, ContentProviders, which helps load data nicely and in the background. These features require the android compatability library when used on early versions of Android, which is included for ease of running the example.