android.content.ContentProviderClient#update ( )源码实例Demo

下面列出了android.content.ContentProviderClient#update ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: springreplugin   文件: PluginProviderClient2.java
/**
 * 调用插件里的Provider
 *
 * @see android.content.ContentProviderClient#update(Uri, ContentValues, String, String[])
 */
public static int update(Context c, Uri uri, ContentValues values, String selection, String[] selectionArgs) {
    ContentProviderClient client = PluginProviderClient.acquireContentProviderClient(c, "");
    if (client != null) {
        try {
            Uri toUri = toCalledUri(c, uri);
            return client.update(toUri, values, selection, selectionArgs);
        } catch (RemoteException e) {
            if (LogDebug.LOG) {
                Log.d(TAG, e.toString());
            }
        }
    }
    if (LogDebug.LOG) {
        Log.d(TAG, String.format("call update %s", uri.toString()));
    }
    return -1;
}
 
源代码2 项目: QuantumFlux   文件: QuantumFluxSyncHelper.java
public static <T> void updateColumns(Context context, ContentProviderClient provider, T dataModelObject, String... columns) throws RemoteException {
    TableDetails tableDetails = QuantumFlux.findTableDetails(dataModelObject.getClass());
    ContentValues contentValues = ModelInflater.deflate(tableDetails, dataModelObject);
    Object columnValue = ModelInflater.deflateColumn(tableDetails, tableDetails.findPrimaryKeyColumn(), dataModelObject);
    Uri itemUri = UriMatcherHelper.generateItemUriBuilder(tableDetails, String.valueOf(columnValue))
            .appendQueryParameter(QuantumFluxContentProvider.PARAMETER_SYNC, "false").build();

    for (String contentColumn : tableDetails.getColumnNames()) {
        boolean includeColumn = false;
        for (String column : columns) {
            if (contentColumn.equals(column)) {
                includeColumn = true;
                break;
            }
        }

        if (!includeColumn) contentValues.remove(contentColumn);
    }

    provider.update(itemUri, contentValues, null, null);
}
 
源代码3 项目: CPOrm   文件: CPSyncHelper.java
public static <T> void updateColumns(Context context, boolean notifyChanges, ContentProviderClient provider, T dataModelObject, String... columns) throws RemoteException {
    TableDetails tableDetails = CPOrm.findTableDetails(context, dataModelObject.getClass());
    ContentValues contentValues = ModelInflater.deflate(tableDetails, dataModelObject);
    Object columnValue = ModelInflater.deflateColumn(tableDetails, tableDetails.findPrimaryKeyColumn(), dataModelObject);
    Uri itemUri = UriMatcherHelper.generateItemUri(context, tableDetails, String.valueOf(columnValue))
            .appendQueryParameter(CPOrmContentProvider.PARAMETER_SYNC, "false")
            .appendQueryParameter(CPOrmContentProvider.PARAMETER_NOTIFY_CHANGES, Boolean.toString(notifyChanges)).build();

    for (String contentColumn : tableDetails.getColumnNames()) {

        boolean includeColumn = false;
        for (String column : columns) {
            if (contentColumn.equals(column)) {
                includeColumn = true;
                break;
            }
        }

        if (!includeColumn)
            contentValues.remove(contentColumn);
    }

    provider.update(itemUri, contentValues, null, null);
}
 
/**
 * 根据PluginInfo的信息来通知UI进程去“安装”插件,包括释放Dex等。
 *
 * @param context Context对象
 * @param pi PluginInfo对象
 * @return 安装是否成功
 */
public static boolean install(Context context, PluginInfo pi) {
    // 若Dex已经释放,则无需处理,直接返回
    if (pi.isDexExtracted()) {
        if (LogDebug.LOG) {
            LogDebug.w(TAG, "install: Already loaded, no need to install. pi=" + pi);
        }
        return true;
    }

    ContentProviderClient cpc = getProvider(context);
    if (cpc == null) {
        return false;
    }

    try {
        int r = cpc.update(PluginFastInstallProvider.CONTENT_URI,
                PluginFastInstallProvider.makeInstallValues(pi),
                PluginFastInstallProvider.SELECTION_INSTALL, null);
        if (LogDebug.LOG) {
            LogDebug.i(TAG, "install: Install. pi=" + pi + "; result=" + r);
        }
        return r > 0;
    } catch (RemoteException e) {
        e.printStackTrace();
    }

    return false;
}
 
源代码5 项目: RememBirthday   文件: CalendarLoader.java
/**
 * Updates calendar color
 */
@SuppressWarnings("deprecation")
public static void updateCalendarColor(Context context) {
    int color = PreferencesManager.getCustomCalendarColor(context);
    ContentResolver contentResolver = context.getContentResolver();

    Uri uri = ContentUris.withAppendedId(
            CalendarLoader.getBirthdayAdapterUri(context, CalendarContract.Calendars.CONTENT_URI),
            getCalendar(context));

    Log.d(TAG, "Updating calendar color to " + color + " with uri " + uri.toString());

    ContentProviderClient client = contentResolver
            .acquireContentProviderClient(CalendarContract.AUTHORITY);
    if(client != null) {
        ContentValues values = new ContentValues();
        values.put(CalendarContract.Calendars.CALENDAR_COLOR, color);
        try {
            client.update(uri, values, null, null);
        } catch (RemoteException e) {
            Log.e(TAG, "Error while updating calendar color!", e);
        }

        if (android.os.Build.VERSION.SDK_INT < 24) {
            client.release();
        } else {
            client.close();
        }
    }
}
 
源代码6 项目: QuantumFlux   文件: QuantumFluxSyncHelper.java
public static <T> void update(Context context, ContentProviderClient provider, T dataModelObject) throws RemoteException {
    TableDetails tableDetails = QuantumFlux.findTableDetails(dataModelObject.getClass());
    ContentValues contentValues = ModelInflater.deflate(tableDetails, dataModelObject);
    Object columnValue = ModelInflater.deflateColumn(tableDetails, tableDetails.findPrimaryKeyColumn(), dataModelObject);
    Uri itemUri = UriMatcherHelper.generateItemUriBuilder(tableDetails, String.valueOf(columnValue))
            .appendQueryParameter(QuantumFluxContentProvider.PARAMETER_SYNC, "false").build();

    provider.update(itemUri, contentValues, null, null);
}
 
源代码7 项目: QuantumFlux   文件: QuantumFluxSyncHelper.java
public static <T> void updateColumnsExcluding(Context context, ContentProviderClient provider, T dataModelObject, String... columnsToExclude) throws RemoteException {
    TableDetails tableDetails = QuantumFlux.findTableDetails(dataModelObject.getClass());
    ContentValues contentValues = ModelInflater.deflate(tableDetails, dataModelObject);
    Object columnValue = ModelInflater.deflateColumn(tableDetails, tableDetails.findPrimaryKeyColumn(), dataModelObject);
    Uri itemUri = UriMatcherHelper.generateItemUriBuilder(tableDetails, String.valueOf(columnValue))
            .appendQueryParameter(QuantumFluxContentProvider.PARAMETER_SYNC, "false").build();

    for (String columnToExclude : columnsToExclude) {
        contentValues.remove(columnToExclude);
    }

    provider.update(itemUri, contentValues, null, null);
}
 
源代码8 项目: DroidPlugin   文件: AbstractContentProviderStub.java
@Override
public int update(Uri uri, ContentValues values, String selection,
                  String[] selectionArgs) {
    String targetAuthority = uri.getQueryParameter(Env.EXTRA_TARGET_AUTHORITY);
    if (!TextUtils.isEmpty(targetAuthority) && !TextUtils.equals(targetAuthority, uri.getAuthority())) {
        ContentProviderClient client = getContentProviderClient(targetAuthority);
        try {
            return client.update(buildNewUri(uri, targetAuthority), values, selection, selectionArgs);
        } catch (RemoteException e) {
            handleExpcetion(e);
        }
    }
    return 0;
}
 
源代码9 项目: CPOrm   文件: CPSyncHelper.java
public static <T> void update(Context context, boolean notifyChanges, ContentProviderClient provider, T dataModelObject) throws RemoteException {
    TableDetails tableDetails = CPOrm.findTableDetails(context, dataModelObject.getClass());
    ContentValues contentValues = ModelInflater.deflate(tableDetails, dataModelObject);
    Object columnValue = ModelInflater.deflateColumn(tableDetails, tableDetails.findPrimaryKeyColumn(), dataModelObject);
    Uri itemUri = UriMatcherHelper.generateItemUri(context, tableDetails, String.valueOf(columnValue))
            .appendQueryParameter(CPOrmContentProvider.PARAMETER_SYNC, "false")
            .appendQueryParameter(CPOrmContentProvider.PARAMETER_NOTIFY_CHANGES, Boolean.toString(notifyChanges)).build();

    provider.update(itemUri, contentValues, null, null);
}
 
源代码10 项目: CPOrm   文件: CPSyncHelper.java
public static <T> void updateColumnsExcluding(Context context, boolean notifyChanges, ContentProviderClient provider, T dataModelObject, String... columnsToExclude) throws RemoteException {
    TableDetails tableDetails = CPOrm.findTableDetails(context, dataModelObject.getClass());
    ContentValues contentValues = ModelInflater.deflate(tableDetails, dataModelObject);
    Object columnValue = ModelInflater.deflateColumn(tableDetails, tableDetails.findPrimaryKeyColumn(), dataModelObject);
    Uri itemUri = UriMatcherHelper.generateItemUri(context, tableDetails, String.valueOf(columnValue))
            .appendQueryParameter(CPOrmContentProvider.PARAMETER_SYNC, "false")
            .appendQueryParameter(CPOrmContentProvider.PARAMETER_NOTIFY_CHANGES, Boolean.toString(notifyChanges)).build();

    for (String columnToExclude : columnsToExclude) {

        contentValues.remove(columnToExclude);
    }

    provider.update(itemUri, contentValues, null, null);
}
 
源代码11 项目: android_9.0.0_r45   文件: SyncStateContract.java
public static void update(ContentProviderClient provider, Uri uri, byte[] data)
        throws RemoteException {
    ContentValues values = new ContentValues();
    values.put(Columns.DATA, data);
    provider.update(uri, values, null, null);
}
 
源代码12 项目: attendee-checkin   文件: SyncAdapter.java
private void syncCheckins(ContentProviderClient provider, String cookie) {
    Cursor cursor = null;
    try {
        cursor = provider.query(Table.ATTENDEE.getBaseUri(), new String[]{
                Table.Attendee.ID,
                Table.Attendee.CHECKIN,
                Table.Attendee.EVENT_ID,
        }, Table.Attendee.CHECKIN_MODIFIED, null, null);
        if (0 == cursor.getCount()) {
            Log.d(TAG, "No checkin to sync.");
            return;
        }
        int syncCount = 0;
        while (cursor.moveToNext()) {
            String attendeeId = cursor.getString(
                    cursor.getColumnIndexOrThrow(Table.Attendee.ID));
            String eventId = cursor.getString(
                    cursor.getColumnIndexOrThrow(Table.Attendee.EVENT_ID));
            long checkin = cursor.getLong(cursor.getColumnIndexOrThrow(Table.Attendee.CHECKIN));
            long serverCheckin = postCheckIn(attendeeId, eventId, checkin == 0, cookie);
            if (serverCheckin >= 0) {
                ContentValues values = new ContentValues();
                values.put(Table.Attendee.CHECKIN_MODIFIED, false);
                if (0 == serverCheckin) {
                    values.putNull(Table.Attendee.CHECKIN);
                } else {
                    values.put(Table.Attendee.CHECKIN, serverCheckin);
                }
                provider.update(Table.ATTENDEE.getItemUri(eventId, attendeeId),
                        values, null, null);
                ++syncCount;
            }
        }
        Log.d(TAG, syncCount + " checkin(s) synced.");
    } catch (RemoteException e) {
        e.printStackTrace();
    } finally {
        if (cursor != null) {
            cursor.close();
        }
    }
}