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

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

源代码1 项目: attendee-checkin   文件: SyncAdapter.java
private void syncEvents(ContentProviderClient provider, String cookie) {
    try {
        RequestQueue requestQueue = GutenbergApplication.from(getContext()).getRequestQueue();
        JSONArray events = getEvents(requestQueue, cookie);
        Pair<String[], ContentValues[]> pair = parseEvents(events);
        String[] eventIds = pair.first;
        provider.bulkInsert(Table.EVENT.getBaseUri(), pair.second);
        ArrayList<ContentProviderOperation> operations = new ArrayList<>();
        operations.add(ContentProviderOperation.newDelete(Table.EVENT.getBaseUri())
                .withSelection(Table.Event.ID + " NOT IN ('" +
                        TextUtils.join("', '", eventIds) + "')", null)
                .build());
        operations.add(ContentProviderOperation.newDelete(Table.ATTENDEE.getBaseUri())
                .withSelection(Table.Attendee.EVENT_ID + " NOT IN ('" +
                        TextUtils.join("', '", eventIds) + "')", null)
                .build());
        provider.applyBatch(operations);
        for (String eventId : eventIds) {
            JSONArray attendees = getAttendees(requestQueue, eventId, cookie);
            provider.bulkInsert(
                    Table.ATTENDEE.getBaseUri(), parseAttendees(eventId, attendees));
        }
        Log.d(TAG, eventIds.length + " event(s) synced.");
    } catch (ExecutionException | InterruptedException | JSONException | RemoteException |
            OperationApplicationException e) {
        Log.e(TAG, "Error performing sync.", e);
    }
}
 
源代码2 项目: QuantumFlux   文件: QuantumFlux.java
public static <T> int insertAll(ContentProviderClient providerClient, List<T> dataModelObjects) throws RemoteException {
    if (dataModelObjects == null || dataModelObjects.isEmpty())
        return 0;

    TableDetails tableDetails = findTableDetails(dataModelObjects.get(0).getClass());
    Uri insertUri = UriMatcherHelper.generateItemUriBuilder(tableDetails).build();

    ContentValues[] values = new ContentValues[dataModelObjects.size()];
    for (int i = 0; i < dataModelObjects.size(); i++) {
        values[i] = ModelInflater.deflate(tableDetails, dataModelObjects.get(i));
    }

    return providerClient.bulkInsert(insertUri, values);
}
 
源代码3 项目: DroidPlugin   文件: AbstractContentProviderStub.java
@Override
public int bulkInsert(Uri uri, ContentValues[] values) {
    String targetAuthority = uri.getQueryParameter(Env.EXTRA_TARGET_AUTHORITY);
    if (!TextUtils.isEmpty(targetAuthority) && !TextUtils.equals(targetAuthority, uri.getAuthority())) {
        ContentProviderClient client = getContentProviderClient(targetAuthority);
        try {
            return client.bulkInsert(buildNewUri(uri, targetAuthority), values);
        } catch (RemoteException e) {
            handleExpcetion(e);
        }
    }
    return super.bulkInsert(uri, values);
}