android.database.sqlite.SQLiteQueryBuilder#query ( )源码实例Demo

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

源代码1 项目: protrip   文件: PlacesProvider.java
@Override
public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) {
    SQLiteQueryBuilder queryBuilder = new SQLiteQueryBuilder();
    queryBuilder.setTables(sqLiteOpenHelper.TABLE_NAME);
    switch (uriMatcher.match(uri)){
        case PLACES_ID:
            queryBuilder.setProjectionMap(PlaceMap);
            break;
        default:
            throw new IllegalArgumentException("Unknown URI " + uri);
    }
    if (sortOrder == null || sortOrder == ""){
        sortOrder = sqLiteOpenHelper.ID;
    }

    Cursor cursor = queryBuilder.query(database, projection, selection,
            selectionArgs, null, null, sortOrder);
    cursor.setNotificationUri(getContext().getContentResolver(), uri);
    return cursor;
}
 
源代码2 项目: EverMemo   文件: MemoProvider.java
@Override
public Cursor query(Uri uri, String[] projection, String selection,
		String[] selectionArgs, String sortOrder) {
	SQLiteQueryBuilder queryBuilder = new SQLiteQueryBuilder();
	queryBuilder.setTables(MemoDB.MEMO_TABLE_NAME);
	int uriType = sURIMatcher.match(uri);
	switch (uriType) {
	case ALL_MEMOS_WITH_DELETED:
		break;
	case MEMOS:
		queryBuilder.appendWhere(MemoDB.STATUS + "!='" + Memo.STATUS_DELETE
				+ "'");
		break;
	case MEMO_ID:
		queryBuilder
				.appendWhere(MemoDB.ID + "=" + uri.getLastPathSegment());
		break;

	default:
		throw new IllegalArgumentException("Unknown URI");
	}
	Cursor cursor = queryBuilder.query(memoDB.getReadableDatabase(),
			projection, selection, selectionArgs, null, null, sortOrder);
	cursor.setNotificationUri(getContext().getContentResolver(), uri);
	return cursor;
}
 
源代码3 项目: AndroidRecyclerViewDemo   文件: DataProvider.java
@Override
public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) {
    synchronized (obj) {
        SQLiteQueryBuilder queryBuilder = new SQLiteQueryBuilder();
        queryBuilder.setTables(matchTable(uri));

        SQLiteDatabase db = getDBHelper().getReadableDatabase();
        Cursor cursor = queryBuilder.query(db,
                projection,
                selection,
                selectionArgs,
                null,
                null,
                sortOrder);
        cursor.setNotificationUri(getContext().getContentResolver(), uri);
        return cursor;
    }
}
 
源代码4 项目: moviedb-android   文件: SearchDB.java
public int getSuggestionSize() {
    SQLiteQueryBuilder queryBuilder = new SQLiteQueryBuilder();
    queryBuilder.setProjectionMap(mAliasMap);

    queryBuilder.setTables(TABLE2_NAME);
    Cursor c = queryBuilder.query(mSearchDBOpenHelper.getReadableDatabase(),
            new String[]{"_ID",
                    SearchManager.SUGGEST_COLUMN_TEXT_1,
                    SearchManager.SUGGEST_COLUMN_TEXT_2,
                    SearchManager.SUGGEST_COLUMN_ICON_1,
                    SearchManager.SUGGEST_COLUMN_INTENT_DATA_ID,
                    SearchManager.SUGGEST_COLUMN_INTENT_EXTRA_DATA},
            null, null, null, null, null, "10"
    );
    return c.getCount();
}
 
源代码5 项目: GeoLog   文件: ProfilesProvider.java
@Override
public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) {
	SQLiteQueryBuilder queryBuilder = new SQLiteQueryBuilder();
	queryBuilder.setTables(Database.Profile.TABLE_NAME);

	int uriType = URIMatcher.match(uri);
	switch (uriType) {
	case PROFILES:
		break;
	case PROFILE:
		queryBuilder.appendWhere(Database.Location._ID + " = " + uri.getLastPathSegment());
		break;
	default:
		throw new IllegalArgumentException("Unknown URI: " + uri);
	}

	SQLiteDatabase db = databaseHelper.getReadableDatabase();
	Cursor cursor = queryBuilder.query(db, projection, selection, selectionArgs, null, null, sortOrder);
	cursor.setNotificationUri(getContext().getContentResolver(), uri);

	return cursor;
}
 
源代码6 项目: GeoLog   文件: LogsProvider.java
@Override
public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) {
	SQLiteQueryBuilder queryBuilder = new SQLiteQueryBuilder();
	queryBuilder.setTables(Database.Location.TABLE_NAME);

	int uriType = URIMatcher.match(uri);
	switch (uriType) {
	case LOCATIONS:
		break;
	case LOCATION:
		queryBuilder.appendWhere(Database.Location._ID + " = " + uri.getLastPathSegment());
		break;
	default:
		throw new IllegalArgumentException("Unknown URI: " + uri);
	}

	SQLiteDatabase db = databaseHelper.getReadableDatabase();
	Cursor cursor = queryBuilder.query(db, projection, selection, selectionArgs, null, null, sortOrder);
	cursor.setNotificationUri(getContext().getContentResolver(), uri);

	return cursor;
}
 
源代码7 项目: letv   文件: DownloadProvider.java
public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) {
    SQLiteQueryBuilder qb = new SQLiteQueryBuilder();
    switch (URI_MATCHER.match(uri)) {
        case 100:
            qb.setTables(DownloadAlbumTable.TABLE_NAME);
            break;
        case 101:
            qb.setTables(DownloadVideoTable.TABLE_NAME);
            break;
        case 102:
            qb.setTables(ThreadInfoTable.TABLE_NAME);
            break;
        default:
            throw new IllegalStateException("Unknown URL: " + uri.toString());
    }
    Cursor c = qb.query(this.mDownloadDBHelper.getReadableDatabase(), projection, selection, selectionArgs, null, null, sortOrder);
    if (c != null) {
        c.setNotificationUri(getContext().getContentResolver(), uri);
    }
    return c;
}
 
/**
 * Return a Cursor contains all RegisteredActionParameter records which matches the parameters.
 * 
 * @param parameterName
 *          is the parameter name, or null to fetch any parameterName.
 * @param actionID
 *          is the action id, or null to fetch any actionID.
 * @param dataTypeID
 *          is the dataType id, or null to fetch any dataTypeID.
 * @return a Cursor contains all RegisteredActionParameter records which matches the parameters.
 */
public Cursor fetchAll(String parameterName, Long actionID, Long dataTypeID) {
  SQLiteQueryBuilder qb = new SQLiteQueryBuilder();
  qb.setTables(DATABASE_TABLE);
  qb.appendWhere("1=1");
  if (parameterName != null) {
    qb.appendWhere(" AND " + KEY_ACTIONPARAMETERNAME + " = ");
    qb.appendWhereEscapeString(parameterName);
  }
  if (actionID != null) {
    qb.appendWhere(" AND " + KEY_ACTIONID + " = " + actionID);
  }
  if (dataTypeID != null) {
    qb.appendWhere(" AND " + KEY_DATATYPEID + " = " + dataTypeID);
  }
  // Not using additional selections, selectionArgs, groupBy, having, orderBy, set them to null.
  return qb.query(database, KEYS, null, null, null, null, null);
}
 
源代码9 项目: Trebuchet   文件: LauncherProvider.java
@Override
public Cursor query(Uri uri, String[] projection, String selection,
        String[] selectionArgs, String sortOrder) {

    SqlArguments args = new SqlArguments(uri, selection, selectionArgs);
    SQLiteQueryBuilder qb = new SQLiteQueryBuilder();
    qb.setTables(args.table);

    SQLiteDatabase db = mOpenHelper.getWritableDatabase();
    Cursor result = qb.query(db, projection, args.where, args.args, null, null, sortOrder);
    result.setNotificationUri(getContext().getContentResolver(), uri);

    return result;
}
 
源代码10 项目: search-samples   文件: RecipeContentProvider.java
public Cursor getIngredientsByRecipe(Uri uri) {
    SQLiteQueryBuilder queryBuilder = new SQLiteQueryBuilder();
    queryBuilder.setTables(RecipeTable.TABLE + ", " + RecipeIngredientTable.TABLE);
    queryBuilder.appendWhere(RecipeTable.ID + "='" + uri.getLastPathSegment() + "' AND " + RecipeIngredientTable.RECIPE_ID + "=" + RecipeTable.ID + "");
    String[] projection = {RecipeIngredientTable.AMOUNT, RecipeIngredientTable.DESCRIPTION};
    SQLiteDatabase db = database.getReadableDatabase();
    Cursor cursor = queryBuilder.query(db, projection, null, null, null, null, null);
    cursor.setNotificationUri(getContext().getContentResolver(), uri);
    return cursor;
}
 
源代码11 项目: opensudoku   文件: SudokuDatabase.java
/**
 * Returns list of puzzle folders.
 *
 * @return
 */
public Cursor getFolderList() {
    SQLiteQueryBuilder qb = new SQLiteQueryBuilder();

    qb.setTables(FOLDER_TABLE_NAME);

    SQLiteDatabase db = mOpenHelper.getReadableDatabase();
    return qb.query(db, null, null, null, null, null, "created ASC");
}
 
@Nullable
@Override
public Cursor query(@NonNull Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) {
    SQLiteQueryBuilder qb = new SQLiteQueryBuilder();
    SQLiteDatabase db = mDb.getReadableDatabase();
    qb.setTables(TABLE_NAME);
    Cursor c = qb.query(db, projection, selection, null, null, null, sortOrder);
    c.setNotificationUri(getContext().getContentResolver(), uri);
    return c;
}
 
源代码13 项目: padland   文件: PadContentProvider.java
/**
 * Query to the the db
 * @param uri
 * @param projection
 * @param selection
 * @param selectionArgs
 * @param sortOrder
 * @return
 */
@Override
public Cursor query(@NonNull Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) {

    SQLiteQueryBuilder qb = new SQLiteQueryBuilder();

    switch (uriMatcher.match(uri)) {
        case PADLIST:
            qb.setTables(PAD_TABLE_NAME);
            qb.setProjectionMap( PROJECTION_MAP );
            break;
        case PAD_ID:
            qb.setTables(PAD_TABLE_NAME);
            qb.appendWhere(_ID + "=" + DatabaseUtils.sqlEscapeString(uri.getPathSegments().get(1)));
            break;
        case PADGROUP_LIST:
            qb.setTables(PADGROUP_TABLE_NAME);
            qb.setProjectionMap( PROJECTION_MAP );
            break;
        default:
            throw new IllegalArgumentException( "Unknown URI " + uri );
    }
    if (sortOrder == null || sortOrder.isEmpty()){
        /**
         * By default sort
         */
        sortOrder = LAST_USED_DATE + " DESC ";
    }
    Cursor c = qb.query( db, projection, selection, selectionArgs, null, null, sortOrder );
    /**
     * register to watch a content URI for changes
     */
    c.setNotificationUri( getContext().getContentResolver(), uri );

    return c;
}
 
源代码14 项目: an2linuxclient   文件: ServerDatabaseHandler.java
public BluetoothServer getBluetoothServer(long id){
    SQLiteDatabase db = this.getReadableDatabase();

    BluetoothServer bluetoothServer = new BluetoothServer();
    bluetoothServer.setId(id);

    SQLiteQueryBuilder qb = new SQLiteQueryBuilder();

    qb.setTables(TABLE_SERVERS +
            " JOIN " + TABLE_BLUETOOTH_SERVERS +
            " USING(" + COLUMN_ID + ")");

    Cursor c = qb.query(db,
            new String[]{COLUMN_IS_ENABLED,
                    COLUMN_CERTIFICATE_ID,
                    COLUMN_BLUETOOTH_MAC_ADDRESS,
                    COLUMN_BLUETOOTH_NAME},
            COLUMN_ID + "=?", new String[]{String.valueOf(id)},
            null, null, null);

    if (c.moveToFirst()){
        bluetoothServer.setIsEnabled(intToBool(c.getInt(0)));
        bluetoothServer.setCertificateId(c.getLong(1));
        bluetoothServer.setBluetoothMacAddress(c.getString(2));
        bluetoothServer.setBluetoothName(c.getString(3));
    }

    c.close();
    db.close();
    return bluetoothServer;
}
 
源代码15 项目: earth   文件: SettingsProvider.java
@Nullable
@Override
public Cursor query(@NonNull Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) {
    SQLiteDatabase db = dbHelper.getReadableDatabase();

    SQLiteQueryBuilder builder = new SQLiteQueryBuilder();
    builder.setTables(SettingsContract.TABLE);

    Cursor cursor = builder.query(db, projection, null, null, null, null, null, "1");

    //noinspection ConstantConditions
    cursor.setNotificationUri(getContext().getContentResolver(), uri);

    return cursor;
}
 
源代码16 项目: V.FlyoutTest   文件: LoaderThrottleSupport.java
/**
 * Handle incoming queries.
 */
@Override
public Cursor query(Uri uri, String[] projection, String selection,
        String[] selectionArgs, String sortOrder) {

    // Constructs a new query builder and sets its table name
    SQLiteQueryBuilder qb = new SQLiteQueryBuilder();
    qb.setTables(MainTable.TABLE_NAME);

    switch (mUriMatcher.match(uri)) {
        case MAIN:
            // If the incoming URI is for main table.
            qb.setProjectionMap(mNotesProjectionMap);
            break;

        case MAIN_ID:
            // The incoming URI is for a single row.
            qb.setProjectionMap(mNotesProjectionMap);
            qb.appendWhere(MainTable._ID + "=?");
            selectionArgs = DatabaseUtilsCompat.appendSelectionArgs(selectionArgs,
                    new String[] { uri.getLastPathSegment() });
            break;

        default:
            throw new IllegalArgumentException("Unknown URI " + uri);
    }


    if (TextUtils.isEmpty(sortOrder)) {
        sortOrder = MainTable.DEFAULT_SORT_ORDER;
    }

    SQLiteDatabase db = mOpenHelper.getReadableDatabase();

    Cursor c = qb.query(db, projection, selection, selectionArgs,
            null /* no group */, null /* no filter */, sortOrder);

    c.setNotificationUri(getContext().getContentResolver(), uri);
    return c;
}
 
源代码17 项目: moviedb-android   文件: SearchDB.java
/**
 * Returns Suggestions
 */
public synchronized Cursor getSuggestions(String[] selectionArgs) {
    String selection = FIELD_title + " like ? ";

    if (selectionArgs != null) {
        if (!selectionArgs[0].isEmpty()) {
            selectionArgs[0].replaceAll("'", "");
            selectionArgs[0] = "%" + selectionArgs[0] + "%";
        } else {
            selection = null;
            selectionArgs = null;
        }
    }

    SQLiteQueryBuilder queryBuilder = new SQLiteQueryBuilder();
    queryBuilder.setProjectionMap(mAliasMap);
    queryBuilder.setTables(TABLE2_NAME);
    SQLiteDatabase db = mSearchDBOpenHelper.getReadableDatabase();
    Cursor c = null;
    if (db.isOpen()) {
        c = queryBuilder.query(db,
                new String[]{"_ID",
                        SearchManager.SUGGEST_COLUMN_TEXT_1,
                        SearchManager.SUGGEST_COLUMN_TEXT_2,
                        SearchManager.SUGGEST_COLUMN_ICON_1,
                        SearchManager.SUGGEST_COLUMN_INTENT_DATA_ID,
                        SearchManager.SUGGEST_COLUMN_INTENT_EXTRA_DATA},
                selection,
                selectionArgs,
                null,
                null,
                FIELD_title + " asc ", "10"
        );
    }
    return c;
}
 
源代码18 项目: LibreTasks   文件: RuleActionDbAdapter.java
/**
 * Return a Cursor that contains all RuleAction records which matches the parameters.
 * 
 * @param ruleID
 *          is id of the rule it belongs to, or null to fetch any.
 * @param actionID
 *          is id of its action type, or null to fetch any.
 * @return a Cursor that contains all RuleAction records which matches the parameters.
 */
public Cursor fetchAll(Long ruleID, Long actionID) {
  SQLiteQueryBuilder qb = new SQLiteQueryBuilder();
  qb.setTables(DATABASE_TABLE);
  qb.appendWhere("1=1");
  if (ruleID != null) {
    qb.appendWhere(" AND " + KEY_RULEID + " = " + ruleID);
  }
  if (actionID != null) {
    qb.appendWhere(" AND " + KEY_ACTIONID + " = " + actionID);
  }

  // Not using additional selections, selectionArgs, groupBy, having, orderBy, set them to null.
  return qb.query(database, KEYS, null, null, null, null, null);
}
 
源代码19 项目: PADListener   文件: CapturedPlayerFriendProvider.java
@Override
public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) {
	MyLog.entry("uri = " + uri);

	final SQLiteDatabase db = getDbHelper().getReadableDatabase();
	final CapturedPlayerFriendDescriptor.Paths path = CapturedPlayerFriendDescriptor.matchUri(uri);

	final SQLiteQueryBuilder builder = new SQLiteQueryBuilder();

	switch (path) {
		case ALL:
			builder.setTables(CapturedPlayerFriendDescriptor.TABLE_NAME);
			break;
		case ALL_WITH_INFO:
			final Map<String, String> columnMap = new HashMap<String, String>();
			fillColumnMapWithPrefix(columnMap, CapturedPlayerFriendDescriptor.TABLE_NAME, "", CapturedPlayerFriendDescriptor.Fields.values());

			final StringBuilder tableBuilder = new StringBuilder(CapturedPlayerFriendDescriptor.TABLE_NAME);

			final String leader1TableAlias = "L1";
			fillColumnMapWithPrefix(columnMap, leader1TableAlias, CapturedPlayerFriendDescriptor.ALL_WITH_INFO_LEADER1_PREFIX, CapturedPlayerFriendLeaderDescriptor.Fields.values());
			tableBuilder.append(" LEFT OUTER JOIN ").append(CapturedPlayerFriendLeaderDescriptor.TABLE_NAME).append(" ").append(leader1TableAlias);
			tableBuilder.append(" ON ");
			tableBuilder.append(CapturedPlayerFriendDescriptor.TABLE_NAME).append(".").append(CapturedPlayerFriendDescriptor.Fields.LEADER1_ID.getColName());
			tableBuilder.append(" = ");
			tableBuilder.append(leader1TableAlias).append(".").append(CapturedPlayerFriendLeaderDescriptor.Fields._ID.getColName());
			tableBuilder.append("");

			final String leader1InfoTableAlias = "L1_INFO";
			fillColumnMapWithPrefix(columnMap, leader1InfoTableAlias, CapturedPlayerFriendDescriptor.ALL_WITH_INFO_LEADER1_INFO_PREFIX, MonsterInfoDescriptor.Fields.values());
			tableBuilder.append(" LEFT OUTER JOIN ").append(MonsterInfoDescriptor.TABLE_NAME).append(" ").append(leader1InfoTableAlias);
			tableBuilder.append(" ON ");
			tableBuilder.append(leader1TableAlias).append(".").append(CapturedPlayerFriendLeaderDescriptor.Fields.ID_JP.getColName());
			tableBuilder.append(" = ");
			tableBuilder.append(leader1InfoTableAlias).append(".").append(MonsterInfoDescriptor.Fields.ID_JP.getColName());
			tableBuilder.append("");

			final String leader2TableAlias = "L2";
			fillColumnMapWithPrefix(columnMap, leader2TableAlias, CapturedPlayerFriendDescriptor.ALL_WITH_INFO_LEADER2_PREFIX, CapturedPlayerFriendLeaderDescriptor.Fields.values());
			tableBuilder.append(" LEFT OUTER JOIN ").append(CapturedPlayerFriendLeaderDescriptor.TABLE_NAME).append(" ").append(leader2TableAlias);
			tableBuilder.append(" ON ");
			tableBuilder.append(CapturedPlayerFriendDescriptor.TABLE_NAME).append(".").append(CapturedPlayerFriendDescriptor.Fields.LEADER2_ID.getColName());
			tableBuilder.append(" = ");
			tableBuilder.append(leader2TableAlias).append(".").append(CapturedPlayerFriendLeaderDescriptor.Fields._ID.getColName());
			tableBuilder.append("");

			final String leader2InfoTableAlias = "L2_INFO";
			fillColumnMapWithPrefix(columnMap, leader2InfoTableAlias, CapturedPlayerFriendDescriptor.ALL_WITH_INFO_LEADER2_INFO_PREFIX, MonsterInfoDescriptor.Fields.values());
			tableBuilder.append(" LEFT OUTER JOIN ").append(MonsterInfoDescriptor.TABLE_NAME).append(" ").append(leader2InfoTableAlias);
			tableBuilder.append(" ON ");
			tableBuilder.append(leader2TableAlias).append(".").append(CapturedPlayerFriendLeaderDescriptor.Fields.ID_JP.getColName());
			tableBuilder.append(" = ");
			tableBuilder.append(leader2InfoTableAlias).append(".").append(MonsterInfoDescriptor.Fields.ID_JP.getColName());
			tableBuilder.append("");

			builder.setTables(tableBuilder.toString());
			builder.setProjectionMap(columnMap);
			break;
		default:
			throw new IllegalArgumentException("Unknown URI " + uri);
	}

	final Cursor cursor = builder.query(db, projection, selection, null, null, null, sortOrder);
	cursor.setNotificationUri(getContext().getContentResolver(), uri);

	MyLog.exit();
	return cursor;
}
 
源代码20 项目: mytracks   文件: MyTracksProvider.java
@Override
public Cursor query(
    Uri url, String[] projection, String selection, String[] selectionArgs, String sort) {
  if (!canAccess()) {
    return null;
  }
  SQLiteQueryBuilder queryBuilder = new SQLiteQueryBuilder();
  String sortOrder = null;
  switch (getUrlType(url)) {
    case TRACKPOINTS:
      queryBuilder.setTables(TrackPointsColumns.TABLE_NAME);
      sortOrder = sort != null ? sort : TrackPointsColumns.DEFAULT_SORT_ORDER;
      break;
    case TRACKPOINTS_ID:
      queryBuilder.setTables(TrackPointsColumns.TABLE_NAME);
      queryBuilder.appendWhere("_id=" + url.getPathSegments().get(1));
      break;
    case TRACKS:
      queryBuilder.setTables(TracksColumns.TABLE_NAME);
      sortOrder = sort != null ? sort : TracksColumns.DEFAULT_SORT_ORDER;
      break;
    case TRACKS_ID:
      queryBuilder.setTables(TracksColumns.TABLE_NAME);
      queryBuilder.appendWhere("_id=" + url.getPathSegments().get(1));
      break;
    case WAYPOINTS:
      queryBuilder.setTables(WaypointsColumns.TABLE_NAME);
      sortOrder = sort != null ? sort : WaypointsColumns.DEFAULT_SORT_ORDER;
      break;
    case WAYPOINTS_ID:
      queryBuilder.setTables(WaypointsColumns.TABLE_NAME);
      queryBuilder.appendWhere("_id=" + url.getPathSegments().get(1));
      break;
    default:
      throw new IllegalArgumentException("Unknown url " + url);
  }
  Cursor cursor = queryBuilder.query(
      db, projection, selection, selectionArgs, null, null, sortOrder);
  cursor.setNotificationUri(getContext().getContentResolver(), url);
  return cursor;
}