legongju.com
我们一直在努力
2024-12-25 16:46 | 星期三

android contentresolver有啥使用技巧

Android ContentResolver ??????????????????????????????,??????????? ContentResolver:

  1. ?? Content Resolver ????:

    • ?? query() ??????????? URI?????(???????)???????(??????)???????????
    • ??:??????????????
      Uri contactsUri = ContactsContract.Contacts.CONTENT_URI;
      String[] projection = {ContactsContract.Contacts._ID, ContactsContract.Contacts.DISPLAY_NAME, ContactsContract.Contacts.Phone_NUMBERS};
      String selection = "((" + ContactsContract.Contacts.DISPLAY_NAME + " LIKE ?) AND (" + ContactsContract.Contacts.Phone_NUMBERS + " LIKE ?))";
      String[] selectionArgs = {"%John%", "3%"};
      Cursor cursor = getContentResolver().query(contactsUri, projection, selection, selectionArgs, null);
      
  2. ????:

    • ?? insert() ??????????? URI ???????(? ContentValues ?????)?
    • ??:????????????
      Uri contactsUri = ContactsContract.Contacts.CONTENT_URI;
      ContentValues contentValues = new ContentValues();
      contentValues.put(ContactsContract.Contacts.DISPLAY_NAME, "John Doe");
      contentValues.put(ContactsContract.Contacts.Phone_NUMBERS, "123-456-7890");
      Uri newContactUri = getContentResolver().insert(contactsUri, contentValues);
      
  3. ????:

    • ?? update() ??????????? URI???????(? ContentValues ?????)????????
    • ??:???????????
      Uri contactsUri = ContactsContract.Contacts.CONTENT_URI;
      String selection = ContactsContract.Contacts._ID + "=?";
      String[] selectionArgs = {"1"};
      ContentValues contentValues = new ContentValues();
      contentValues.put(ContactsContract.Contacts.Phone_NUMBERS, "098-765-4321");
      getContentResolver().update(contactsUri, contentValues, selection, selectionArgs);
      
  4. ????:

    • ?? delete() ??????????? URI ????????
    • ??:???? "John Doe" ?????
      Uri contactsUri = ContactsContract.Contacts.CONTENT_URI;
      String selection = ContactsContract.Contacts.DISPLAY_NAME + "=?";
      String[] selectionArgs = {"John Doe"};
      getContentResolver().delete(contactsUri, selection, selectionArgs);
      
  5. ?? Content Resolver ??????:

    • ???????,????? ContentObserver ????? onChange() ?????,?? getContentResolver().registerContentObserver() ???? ContentObserver?
    • ??:??????????????
      Uri contactsUri = ContactsContract.Contacts.CONTENT_URI;
      getContentResolver().registerContentObserver(contactsUri, true, new ContentObserver(new Handler()) {
          @Override
          public void onChange(boolean selfChange) {
              super.onChange(selfChange);
              // ????????????
          }
      });
      
  6. ?? Content Resolver ???????????:

    • ????????????,???????? Content URI???,?? URI ???????????????????
    • ??:???????????????
      Uri imagesUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
      String[] projection = {MediaStore.Images.Media._ID, MediaStore.Images.Media.DISPLAY_NAME};
      Cursor cursor = getContentResolver().query(imagesUri, projection, null, null, null);
      

??????????,????????? Android ContentResolver ???????????????????

未经允许不得转载 » 本文链接:https://www.legongju.com/article/60290.html

相关推荐

  • Android开发中如何优化应用的性能

    Android开发中如何优化应用的性能

    在Android开发中,优化应用性能是一个重要的任务,可以提高用户体验和减少资源消耗。以下是一些建议来帮助您优化应用性能: 使用高效的布局:尽量使用Constraint...

  • android aaudio能做音频效果处理吗

    android aaudio能做音频效果处理吗

    AAudio是Android平台上的一种低级音频API,它提供了对音频数据的低延迟访问和高性能处理能力。然而,AAudio本身并不直接提供高级的音频效果处理功能,如混响、均...

  • android aaudio支持音频录制吗

    android aaudio支持音频录制吗

    Android AAudio支持音频录制。AAudio是Android 10中引入的一种新的音频API,旨在提供低延迟、高保真度的音频体验。尽管AAudio的设计初衷是为了提供高质量的音频播...

  • android viewstub如何提升用户体验

    android viewstub如何提升用户体验

    Android ViewStub 是一个轻量级的视图,它在初始化时会延迟加载,从而提升应用程序的启动速度和性能。要使用 ViewStub 提升用户体验,请遵循以下步骤: 在布局文...

  • android contentresolver怎样处理异常

    android contentresolver怎样处理异常

    在Android中,使用ContentResolver处理异常时,通常会遇到两种异常:FileNotFoundException和IOException。以下是如何处理这些异常的一些建议: 使用try-catch语...

  • android contentresolver能修改数据吗

    android contentresolver能修改数据吗

    是的,Android ContentResolver 可以用来修改数据。ContentResolver 是 Android 中的一个重要组件,它允许应用程序访问和操作其他应用程序的数据。通过 ContentR...

  • android contentresolver如何查询内容

    android contentresolver如何查询内容

    在Android中,ContentResolver是一个用于查询和操作内容提供者(Content Provider)的接口。要使用ContentResolver查询内容,你需要遵循以下步骤: 获取ContentR...

  • android contentresolver怎样访问数据

    android contentresolver怎样访问数据

    Android ContentResolver 是一个用于访问和操作其他应用程序数据的接口。它允许你在你的应用程序中查询、插入、更新和删除数据,而无需了解其他应用程序的数据存...