optimize ListView

use ContentProvider
use CursorLoader