首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

Android 程式开发:(二十)内容提供者 —— 20.6 自定义ContentProvider的应用

2013-09-05 
Android 程式开发:(二十)内容提供者 —— 20.6 自定义ContentProvider的使用现在,ContentProvider已经创建好

Android 程式开发:(二十)内容提供者 —— 20.6 自定义ContentProvider的使用

现在,ContentProvider已经创建好了,可以去尝试使用一下。

1. 使用之前的工程,在布局文件main.xml中添加一些控件。

public class ContentProvidersActivity extends Activity {/** Called when the activity is first created. */@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);}public void onClickAddTitle(View view) {/*//---add a book---ContentValues values = new ContentValues();values.put(BooksProvider.TITLE, ((EditText)findViewById(R.id.txtTitle)).getText().toString());values.put(BooksProvider.ISBN, ((EditText)findViewById(R.id.txtISBN)).getText().toString());Uri uri = getContentResolver().insert(BooksProvider.CONTENT_URI, values); */ContentValues values = new ContentValues();values.put("title", ((EditText)findViewById(R.id.txtTitle)).getText().toString());values.put("isbn", ((EditText)findViewById(R.id.txtISBN)).getText().toString());Uri uri = getContentResolver().insert(Uri.parse("content://net.manoel.provider.Books/books"),values);Toast.makeText(getBaseContext(),uri.toString(),Toast.LENGTH_LONG).show();}public void onClickRetrieveTitles(View view) {//---retrieve the titles---Uri allTitles = Uri.parse("content://net.manoel.provider.Books/books");Cursor c; if (android.os.Build.VERSION.SDK_INT <11) {//---before Honeycomb---c = managedQuery(allTitles, null, null, null,"title desc");} else {//---Honeycomb and later---CursorLoader cursorLoader = new CursorLoader(this, allTitles, null, null, null,"title desc");c = cursorLoader.loadInBackground();        }if (c.moveToFirst()) {do{Toast.makeText(this, c.getString(c.getColumnIndex(BooksProvider._ID)) + ", " +c.getString(c.getColumnIndex(BooksProvider.TITLE)) + ", " +c.getString(c.getColumnIndex(BooksProvider.ISBN)),Toast.LENGTH_SHORT).show();} while (c.moveToNext());}}public void updateTitle() {ContentValues editedValues = new ContentValues();editedValues.put(BooksProvider.TITLE, "Android Tips and Tricks");getContentResolver().update(Uri.parse("content://net.manoel.provider.Books/books/2"),editedValues,null,null);}public void deleteTitle() {//---delete a title---getContentResolver().delete(Uri.parse("content://net.manoel.provider.Books/books/2"),null, null);//---delete all titles---getContentResolver().delete(Uri.parse("content://net.manoel.provider.Books/books"),null, null);}}


热点排行