• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Java MySchedule类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中com.google.samples.apps.iosched.provider.ScheduleContract.MySchedule的典型用法代码示例。如果您正苦于以下问题:Java MySchedule类的具体用法?Java MySchedule怎么用?Java MySchedule使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



MySchedule类属于com.google.samples.apps.iosched.provider.ScheduleContract包,在下文中一共展示了MySchedule类的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: resetDirtyFlag

import com.google.samples.apps.iosched.provider.ScheduleContract.MySchedule; //导入依赖的package包/类
private void resetDirtyFlag(ArrayList<UserAction> actions) {
    ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>();
    for (UserAction action: actions) {
        ContentProviderOperation op = ContentProviderOperation.newUpdate(
                ScheduleContract.addCallerIsSyncAdapterParameter(
                        MySchedule.buildMyScheduleUri(mContext, mAccountName)))
                .withSelection(MySchedule.SESSION_ID + "=? AND " +
                                MySchedule.MY_SCHEDULE_IN_SCHEDULE + "=?",
                        new String[]{action.sessionId,
                                action.type == UserAction.TYPE.ADD_STAR ? "1" : "0"})
                .withValue(MySchedule.MY_SCHEDULE_DIRTY_FLAG, 0)
                .build();
        LOGD(TAG, op.toString());
        ops.add(op);
    }
    try {
        ContentProviderResult[] result = mContext.getContentResolver().applyBatch(
                ScheduleContract.CONTENT_AUTHORITY, ops);
        LOGD(TAG, "Result of cleaning dirty flags is "+ Arrays.toString(result));
    } catch (Exception ex) {
        LOGW(TAG, "Could not update dirty flags. Ignoring.", ex);
    }
}
 
开发者ID:gdg-bh,项目名称:AppDevFestSudeste2015,代码行数:24,代码来源:AbstractUserDataSyncHelper.java


示例2: update

import com.google.samples.apps.iosched.provider.ScheduleContract.MySchedule; //导入依赖的package包/类
/** {@inheritDoc} */
@Override
public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) {
    String accountName = getCurrentAccountName(uri, false);
    LOGV(TAG, "update(uri=" + uri + ", values=" + values.toString()
            + ", account=" + accountName + ")");

    final SQLiteDatabase db = mOpenHelper.getWritableDatabase();
    ScheduleUriEnum matchingUriEnum = mUriMatcher.matchUri(uri);
    if (matchingUriEnum == ScheduleUriEnum.SEARCH_INDEX) {
        // update the search index
        ScheduleDatabase.updateSessionSearchIndex(db);
        return 1;
    }

    final SelectionBuilder builder = buildSimpleSelection(uri);
    if (matchingUriEnum == ScheduleUriEnum.MY_SCHEDULE) {
        values.remove(MySchedule.MY_SCHEDULE_ACCOUNT_NAME);
        builder.where(MySchedule.MY_SCHEDULE_ACCOUNT_NAME + "=?", accountName);
    }
    if (matchingUriEnum == ScheduleUriEnum.MY_VIEWED_VIDEOS) {
        values.remove(MyViewedVideos.MY_VIEWED_VIDEOS_ACCOUNT_NAME);
        builder.where(MyViewedVideos.MY_VIEWED_VIDEOS_ACCOUNT_NAME + "=?", accountName);
    }
    if (matchingUriEnum == ScheduleUriEnum.MY_FEEDBACK_SUBMITTED) {
        values.remove(MyFeedbackSubmitted.MY_FEEDBACK_SUBMITTED_ACCOUNT_NAME);
        builder.where(MyFeedbackSubmitted.MY_FEEDBACK_SUBMITTED_ACCOUNT_NAME + "=?",
                accountName);
    }

    int retVal = builder.where(selection, selectionArgs).update(db, values);
    notifyChange(uri);
    return retVal;
}
 
开发者ID:dreaminglion,项目名称:iosched-reader,代码行数:35,代码来源:ScheduleProvider.java


示例3: delete

import com.google.samples.apps.iosched.provider.ScheduleContract.MySchedule; //导入依赖的package包/类
/** {@inheritDoc} */
@Override
public int delete(Uri uri, String selection, String[] selectionArgs) {
    String accountName = getCurrentAccountName(uri, false);
    LOGV(TAG, "delete(uri=" + uri + ", account=" + accountName + ")");
    if (uri == ScheduleContract.BASE_CONTENT_URI) {
        // Handle whole database deletes (e.g. when signing out)
        deleteDatabase();
        notifyChange(uri);
        return 1;
    }
    final SQLiteDatabase db = mOpenHelper.getWritableDatabase();
    final SelectionBuilder builder = buildSimpleSelection(uri);
    ScheduleUriEnum matchingUriEnum = mUriMatcher.matchUri(uri);
    if (matchingUriEnum == ScheduleUriEnum.MY_SCHEDULE) {
        builder.where(MySchedule.MY_SCHEDULE_ACCOUNT_NAME + "=?", accountName);
    }
    if (matchingUriEnum == ScheduleUriEnum.MY_VIEWED_VIDEOS) {
        builder.where(MyViewedVideos.MY_VIEWED_VIDEOS_ACCOUNT_NAME + "=?", accountName);
    }
    if (matchingUriEnum == ScheduleUriEnum.MY_FEEDBACK_SUBMITTED) {
        builder.where(
                MyFeedbackSubmitted.MY_FEEDBACK_SUBMITTED_ACCOUNT_NAME + "=?", accountName);
    }

    int retVal = builder.where(selection, selectionArgs).delete(db);
    notifyChange(uri);
    return retVal;
}
 
开发者ID:dreaminglion,项目名称:iosched-reader,代码行数:30,代码来源:ScheduleProvider.java


示例4: delete

import com.google.samples.apps.iosched.provider.ScheduleContract.MySchedule; //导入依赖的package包/类
/** {@inheritDoc} */
@Override
public int delete(Uri uri, String selection, String[] selectionArgs) {
    String accountName = getCurrentAccountName(uri, false);
    LOGV(TAG, "delete(uri=" + uri + ", account=" + accountName + ")");
    if (uri == ScheduleContract.BASE_CONTENT_URI) {
        // Handle whole database deletes (e.g. when signing out)
        deleteDatabase();
        notifyChange(uri);
        return 1;
    }
    final SQLiteDatabase db = mOpenHelper.getWritableDatabase();
    final SelectionBuilder builder = buildSimpleSelection(uri);
    ScheduleUriEnum matchingUriEnum = mUriMatcher.matchUri(uri);
    if (matchingUriEnum == ScheduleUriEnum.MY_SCHEDULE) {
        builder.where(MySchedule.MY_SCHEDULE_ACCOUNT_NAME + "=?", accountName);
    }
    if (matchingUriEnum == ScheduleUriEnum.MY_RESERVATIONS) {
        builder.where(MyReservations.MY_RESERVATION_ACCOUNT_NAME + "=?", accountName);
    }
    if (matchingUriEnum == ScheduleUriEnum.MY_VIEWED_VIDEOS) {
        builder.where(MyViewedVideos.MY_VIEWED_VIDEOS_ACCOUNT_NAME + "=?", accountName);
    }
    if (matchingUriEnum == ScheduleUriEnum.MY_FEEDBACK_SUBMITTED) {
        builder.where(
                MyFeedbackSubmitted.MY_FEEDBACK_SUBMITTED_ACCOUNT_NAME + "=?", accountName);
    }

    int retVal = builder.where(selection, selectionArgs).delete(db);
    if (retVal > 0) {
        notifyChange(uri);
    }
    return retVal;
}
 
开发者ID:google,项目名称:iosched,代码行数:35,代码来源:ScheduleProvider.java


示例5: resetDirtyFlag

import com.google.samples.apps.iosched.provider.ScheduleContract.MySchedule; //导入依赖的package包/类
private void resetDirtyFlag(ArrayList<UserAction> actions) {
    ArrayList<ContentProviderOperation> ops = new ArrayList<>();
    for (UserAction action : actions) {

        Uri baseUri;
        String with;
        String[] withSelectionValue;
        String dirtyField;

        if (action.type == UserAction.TYPE.SUBMIT_FEEDBACK) {
            baseUri = MyFeedbackSubmitted.buildMyFeedbackSubmittedUri(mAccountName);
            with = MyFeedbackSubmitted.SESSION_ID + "=?";
            withSelectionValue = new String[]{action.sessionId};
            dirtyField = MyFeedbackSubmitted.MY_FEEDBACK_SUBMITTED_DIRTY_FLAG;
        } else {
            baseUri = MySchedule.buildMyScheduleUri(mAccountName);
            with = MySchedule.SESSION_ID + "=? AND "
                    + MySchedule.MY_SCHEDULE_IN_SCHEDULE + "=?";
            withSelectionValue = new String[]{action.sessionId,
                    action.type == UserAction.TYPE.ADD_STAR ? "1" : "0"};
            dirtyField = MySchedule.MY_SCHEDULE_DIRTY_FLAG;
        }

        ContentProviderOperation op = ContentProviderOperation.newUpdate(
                ScheduleContractHelper.setUriAsCalledFromSyncAdapter(baseUri))
                .withSelection(with, withSelectionValue)
                .withValue(dirtyField, 0)
                .build();
        LOGD(TAG, op.toString());
        ops.add(op);
    }
    try {
        ContentProviderResult[] result = mContext.getContentResolver().applyBatch(
                ScheduleContract.CONTENT_AUTHORITY, ops);
        LOGD(TAG, "Result of cleaning dirty flags is "+ Arrays.toString(result));
    } catch (Exception ex) {
        LOGW(TAG, "Could not update dirty flags. Ignoring.", ex);
    }
}
 
开发者ID:google,项目名称:iosched,代码行数:40,代码来源:AbstractUserDataSyncHelper.java


示例6: resetDirtyFlag

import com.google.samples.apps.iosched.provider.ScheduleContract.MySchedule; //导入依赖的package包/类
private void resetDirtyFlag(ArrayList<UserAction> actions) {
    ArrayList<ContentProviderOperation> ops = new ArrayList<>();
    for (UserAction action : actions) {

        Uri baseUri;
        String with;
        String[] withSelectionValue;
        String dirtyField;

        if (action.type == UserAction.TYPE.VIEW_VIDEO) {
            baseUri = MyViewedVideos.buildMyViewedVideosUri(mAccountName);
            with = MyViewedVideos.VIDEO_ID + "=?";
            withSelectionValue = new String[]{action.videoId};
            dirtyField = MyViewedVideos.MY_VIEWED_VIDEOS_DIRTY_FLAG;
        } else if (action.type == UserAction.TYPE.SUBMIT_FEEDBACK) {
            baseUri = MyFeedbackSubmitted.buildMyFeedbackSubmittedUri(mAccountName);
            with = MyFeedbackSubmitted.SESSION_ID + "=?";
            withSelectionValue = new String[]{action.sessionId};
            dirtyField = MyFeedbackSubmitted.MY_FEEDBACK_SUBMITTED_DIRTY_FLAG;
        } else {
            baseUri = MySchedule.buildMyScheduleUri(mAccountName);
            with = MySchedule.SESSION_ID + "=? AND "
                    + MySchedule.MY_SCHEDULE_IN_SCHEDULE + "=?";
            withSelectionValue = new String[]{action.sessionId,
                    action.type == UserAction.TYPE.ADD_STAR ? "1" : "0"};
            dirtyField = MySchedule.MY_SCHEDULE_DIRTY_FLAG;
        }

        ContentProviderOperation op = ContentProviderOperation.newUpdate(
                ScheduleContractHelper.setUriAsCalledFromSyncAdapter(baseUri))
                .withSelection(with, withSelectionValue)
                .withValue(dirtyField, 0)
                .build();
        LOGD(TAG, op.toString());
        ops.add(op);
    }
    try {
        ContentProviderResult[] result = mContext.getContentResolver().applyBatch(
                ScheduleContract.CONTENT_AUTHORITY, ops);
        LOGD(TAG, "Result of cleaning dirty flags is "+ Arrays.toString(result));
    } catch (Exception ex) {
        LOGW(TAG, "Could not update dirty flags. Ignoring.", ex);
    }
}
 
开发者ID:dreaminglion,项目名称:iosched-reader,代码行数:45,代码来源:AbstractUserDataSyncHelper.java


示例7: sync

import com.google.samples.apps.iosched.provider.ScheduleContract.MySchedule; //导入依赖的package包/类
/**
 * Create a copy of current pending actions and delegate the
 * proper sync'ing to the concrete subclass on the method syncImpl.
 *
 */
public boolean sync() {
    // get data pending sync:
    Cursor scheduleData = mContext.getContentResolver().query(
            MySchedule.buildMyScheduleUri(mContext, mAccountName), MyScheduleQuery.PROJECTION,
            null, null, null);

    if (scheduleData == null) {
        return false;
    }

    // Although we have a dirty flag per item, we need all schedule to sync, because it's all
    // sync'ed at once to a file on AppData folder. We only use the dirty flag to decide if
    // the local content was changed or not. If it was, we replace the remote content.
    boolean hasPendingLocalData = false;
    ArrayList<UserAction> actions = new ArrayList<UserAction>();
    while (scheduleData.moveToNext()) {

        UserAction userAction = new UserAction();
        userAction.sessionId = scheduleData.getString(MyScheduleQuery.SESSION_ID);
        Integer inSchedule = scheduleData.getInt(MyScheduleQuery.IN_SCHEDULE);
        if (inSchedule == 0) {
            userAction.type = UserAction.TYPE.REMOVE_STAR;
        } else {
            userAction.type = UserAction.TYPE.ADD_STAR;
        }
        userAction.requiresSync = scheduleData.getInt(MyScheduleQuery.DIRTY_FLAG) == 1;
        actions.add(userAction);
        if (!hasPendingLocalData && userAction.requiresSync) {
            hasPendingLocalData = true;
        }
    }
    scheduleData.close();

    Log.d(TAG, "Starting Drive AppData sync. hasPendingData = " + hasPendingLocalData);

    boolean dataChanged = syncImpl(actions, hasPendingLocalData);

    if (hasPendingLocalData) {
        resetDirtyFlag(actions);

        // Notify other devices via GCM
        ServerUtilities.notifyUserDataChanged(mContext);
    }
    if (dataChanged) {
        LOGD(TAG, "Notifying changes on paths related to user data on Content Resolver.");
        ContentResolver resolver = mContext.getContentResolver();
        for (String path : ScheduleContract.USER_DATA_RELATED_PATHS) {
            Uri uri = ScheduleContract.BASE_CONTENT_URI.buildUpon().appendPath(path).build();
            resolver.notifyChange(uri, null);
        }
        mContext.sendBroadcast(ScheduleWidgetProvider.getRefreshBroadcastIntent(mContext, false));
    }
    return dataChanged;
}
 
开发者ID:gdg-bh,项目名称:AppDevFestSudeste2015,代码行数:60,代码来源:AbstractUserDataSyncHelper.java


示例8: onHandleIntent

import com.google.samples.apps.iosched.provider.ScheduleContract.MySchedule; //导入依赖的package包/类
@Override
protected void onHandleIntent(@Nullable Intent intent) {
    if (intent == null) {
        return;
    }

    String accountName = intent.getStringExtra(KEY_ACCOUNT_NAME);
    if (accountName == null) {
        return;
    }

    // TODO: It would be better if the default value for the account in
    // the non-signed in case was not "null". When that is modified update this.
    String previousAccountName = null;

    // The task is to upgrade all user data that was associated with a non-logged in user
    // and update it to the signed in user.
    ArrayList<ContentProviderOperation> ops = new ArrayList<>(3);
    //noinspection ConstantConditions
    ops.add(ContentProviderOperation
            .newUpdate(ScheduleContractHelper.addOverrideAccountUpdateAllowed(
                    MySchedule.buildMyScheduleUri(previousAccountName)))
            .withValue(MySchedule.MY_SCHEDULE_ACCOUNT_NAME, accountName)
            .build());

    //noinspection ConstantConditions
    ops.add(ContentProviderOperation
            .newUpdate(ScheduleContractHelper.addOverrideAccountUpdateAllowed(
                    MyFeedbackSubmitted.buildMyFeedbackSubmittedUri(previousAccountName)))
            .withValue(MyFeedbackSubmitted.MY_FEEDBACK_SUBMITTED_ACCOUNT_NAME, accountName)
            .build());

    // Delete any reservations (should be none)
    //noinspection ConstantConditions
    ops.add(ContentProviderOperation
            .newDelete(MyReservations.buildMyReservationUri(previousAccountName))
            .withSelection(MyReservations.MY_RESERVATION_ACCOUNT_NAME, null)
            .build());

    try {
        ContentProviderResult[] results =
                getContentResolver().applyBatch(ScheduleContract.CONTENT_AUTHORITY, ops);
        if (LogUtils.LOGGING_ENABLED) {
            for (ContentProviderResult res : results) {
                LOGV(TAG, "Result of update: uri: " + res.uri + " count: " + res.count);
            }
        }
    } catch (RemoteException | OperationApplicationException e) {
        LOGE(TAG, "Unexpected exception upgrading the user data to signed in user", e);
    } finally {
        // Note: Once we are done with the upgrade we trigger a manual sync for user data
        SyncHelper.requestManualSync(true);
    }
}
 
开发者ID:google,项目名称:iosched,代码行数:55,代码来源:PostSignInUpgradeService.java


示例9: update

import com.google.samples.apps.iosched.provider.ScheduleContract.MySchedule; //导入依赖的package包/类
/** {@inheritDoc} */
@Override
public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) {
    String accountName = getCurrentAccountName(uri, false);
    Uri notifyUri = null;
    LOGV(TAG, "update(uri=" + uri + ", values=" + values.toString()
            + ", account=" + accountName + ")");

    boolean isAccountUpdateAllowed = ScheduleContractHelper.isAccountUpdateAllowed(uri);

    final SQLiteDatabase db = mOpenHelper.getWritableDatabase();
    ScheduleUriEnum matchingUriEnum = mUriMatcher.matchUri(uri);
    if (matchingUriEnum == ScheduleUriEnum.SEARCH_INDEX) {
        // update the search index
        ScheduleDatabase.updateSessionSearchIndex(db);
        return 1;
    }

    final SelectionBuilder builder = buildSimpleSelection(uri);
    if (matchingUriEnum == ScheduleUriEnum.SESSIONS_ID_RELATED) {
        // update not supported
        return 0;
    }
    if (matchingUriEnum == ScheduleUriEnum.MY_SCHEDULE) {
        if (!isAccountUpdateAllowed) {
            values.remove(MySchedule.MY_SCHEDULE_ACCOUNT_NAME);
        }
        builder.where(MySchedule.MY_SCHEDULE_ACCOUNT_NAME + "=?", accountName);
        // Also notify session listeners.
        notifyUri = Sessions.CONTENT_MY_SCHEDULE_URI;
    }
    if (matchingUriEnum == ScheduleUriEnum.MY_RESERVATIONS) {
        values.remove(MyReservations.MY_RESERVATION_ACCOUNT_NAME);
        builder.where(MyReservations.MY_RESERVATION_ACCOUNT_NAME + "=?", accountName);
    }
    if (matchingUriEnum == ScheduleUriEnum.MY_VIEWED_VIDEOS) {
        values.remove(MyViewedVideos.MY_VIEWED_VIDEOS_ACCOUNT_NAME);
        builder.where(MyViewedVideos.MY_VIEWED_VIDEOS_ACCOUNT_NAME + "=?", accountName);
    }
    if (matchingUriEnum == ScheduleUriEnum.MY_FEEDBACK_SUBMITTED) {
        if (!isAccountUpdateAllowed) {
            values.remove(MyFeedbackSubmitted.MY_FEEDBACK_SUBMITTED_ACCOUNT_NAME);
        }
        builder.where(MyFeedbackSubmitted.MY_FEEDBACK_SUBMITTED_ACCOUNT_NAME + "=?",
                accountName);
    }

    int retVal = builder.where(selection, selectionArgs).update(db, values);
    if (retVal > 0) {
        notifyChange(uri);
        if (null != notifyUri) notifyChange(notifyUri);
    }
    return retVal;
}
 
开发者ID:google,项目名称:iosched,代码行数:55,代码来源:ScheduleProvider.java



注:本文中的com.google.samples.apps.iosched.provider.ScheduleContract.MySchedule类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java Resolver类代码示例发布时间:2022-05-22
下一篇:
Java OWLDocumentFormat类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap