packageliudeli.datastorage;importandroid.app.Activity;importandroid.app.LoaderManager;importandroid.content.ContentResolver;importandroid.content.ContentValues;importandroid.content.CursorLoader;importandroid.content.Loader;importandroid.database.Cursor;importandroid.net.Uri;importandroid.os.Bundle;importandroid.view.View;importandroid.widget.ListAdapter;importandroid.widget.ListView;importandroid.widget.SimpleAdapter;importjava.util.ArrayList;importjava.util.HashMap;importjava.util.List;importjava.util.Map;public class LoaderActivity extendsActivity {privateLoaderManager loaderManager;privateListView listView;//通路内容提供者的Uir位址
private Uri uri = Uri.parse("content://db.ConnectMySQLiteOpenHelper3ContentProvider");
@Overrideprotected voidonCreate( Bundle savedInstanceState) {super.onCreate(savedInstanceState);
setContentView(R.layout.activity_loader);
loaderManager=getLoaderManager();loaderManager.initLoader(1, null, callbacks);
listView=findViewById(R.id.list_view);
}
private LoaderManager.LoaderCallbacks callbacks = new LoaderManager.LoaderCallbacks() {@Overridepublic Loader onCreateLoader(intid, Bundle args) {
CursorLoader cursorLoader= new CursorLoader(LoaderActivity.this);
cursorLoader.setUri(uri);
cursorLoader.setSortOrder(null);
cursorLoader.setSelectionArgs(null);
cursorLoader.setSelection(null);
cursorLoader.setProjection(new String[]{"name", "age"});//....
returncursorLoader;
}@Overridepublic void onLoadFinished(Loaderloader, Cursor cursor) {
List> list = new ArrayList<>();while(cursor.moveToNext()) {
Map mMap = new HashMap<>();
mMap.put("name", cursor.getString(cursor.getColumnIndex("name")));
mMap.put("age", cursor.getInt(cursor.getColumnIndex("age")));
list.add(mMap);
}
ListAdapter listAdapter=
new SimpleAdapter(LoaderActivity.this,
list,
android.R.layout.simple_list_item_2,new String[]{"name","age"}, //從哪裡來
new int[]{android.R.id.text1, android.R.id.text2}); //到哪裡去
listView.setAdapter(listAdapter);
}@Overridepublic void onLoaderReset(Loaderloader) {
}
};
public voidinsert(View view) {
ContentResolver contentResolver=getContentResolver();
ContentValues values= newContentValues();
values.clear();
values.put("name", "大民");
values.put("age", 99);
values.put("my_assets", "9000000");
contentResolver.insert(uri, values);loaderManager.restartLoader(3333, null, callbacks);
}
}