当前位置: 首页>>代码示例>>Java>>正文


Java SQLiteQueryBuilder.setDistinct方法代码示例

本文整理汇总了Java中android.database.sqlite.SQLiteQueryBuilder.setDistinct方法的典型用法代码示例。如果您正苦于以下问题:Java SQLiteQueryBuilder.setDistinct方法的具体用法?Java SQLiteQueryBuilder.setDistinct怎么用?Java SQLiteQueryBuilder.setDistinct使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在android.database.sqlite.SQLiteQueryBuilder的用法示例。


在下文中一共展示了SQLiteQueryBuilder.setDistinct方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: query

import android.database.sqlite.SQLiteQueryBuilder; //导入方法依赖的package包/类
@Override
public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs,
                    String sortOrder) {

    int key = uriMatcher.match(uri);
    String table = "";

    switch (key) {
        case M_NOTE://0
            table = tblNote.TBL_NAME;
            break;
        default:
            break;
    }

    SQLiteDatabase sqlDB = mDbHelper.getWritableDatabase();
    SQLiteQueryBuilder sqlBuilder = new SQLiteQueryBuilder();
    sqlBuilder.setTables(table);
    sqlBuilder.setDistinct(true);
    Cursor c = sqlBuilder.query(sqlDB, projection, selection, selectionArgs, null, null,
            sortOrder);
    c.setNotificationUri(getContext().getContentResolver(), uri);
    return c;
}
 
开发者ID:tuyendt6,项目名称:WindowsNoteMaster,代码行数:25,代码来源:DatabaseManager.java

示例2: performJoinQuery

import android.database.sqlite.SQLiteQueryBuilder; //导入方法依赖的package包/类
private Cursor performJoinQuery(@NonNull Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) {
    QueryCorrector qc = new UriQueryCorrector(uri, selection, selectionArgs);
    SQLiteQueryBuilder builder = new SQLiteQueryBuilder();
    builder.setTables(UriJoinTranslator.joinStringFrom(uri));
    boolean isDistinct = Boolean.parseBoolean(uri.getQueryParameter("DISTINCT"));
    builder.setDistinct(isDistinct);
    final String limit = qc.getLimit() > 0 ? String.valueOf(qc.getLimit()) : null;
    return builder.query(FSDBHelper.inst().getReadableDatabase(),
            projection,
            qc.getSelection(true),
            qc.getSelectionArgs(),
            null,
            null,
            sortOrder,
            limit);
}
 
开发者ID:ryansgot,项目名称:forsuredbandroid,代码行数:17,代码来源:FSDefaultProvider.java

示例3: queryTables

import android.database.sqlite.SQLiteQueryBuilder; //导入方法依赖的package包/类
private Cursor queryTables(String[] projection, String selection, String order, String groupBy, String limit) {
  String[] mmsProjection = {MmsDatabase.DATE_SENT + " * 1000 AS " + MmsSmsColumns.NORMALIZED_DATE_SENT,
                            MmsDatabase.DATE_RECEIVED + " * 1000 AS " + MmsSmsColumns.NORMALIZED_DATE_RECEIVED,
                            MmsSmsColumns.ID, SmsDatabase.BODY, MmsSmsColumns.READ, MmsSmsColumns.THREAD_ID,
                            SmsDatabase.TYPE, SmsDatabase.ADDRESS, SmsDatabase.ADDRESS_DEVICE_ID, SmsDatabase.SUBJECT, MmsDatabase.MESSAGE_TYPE,
                            MmsDatabase.MESSAGE_BOX, SmsDatabase.STATUS, MmsDatabase.PART_COUNT,
                            MmsDatabase.CONTENT_LOCATION, MmsDatabase.TRANSACTION_ID,
                            MmsDatabase.MESSAGE_SIZE, MmsDatabase.EXPIRY, MmsDatabase.STATUS,
                            MmsSmsColumns.RECEIPT_COUNT, TRANSPORT};

  String[] smsProjection = {SmsDatabase.DATE_SENT + " * 1 AS " + MmsSmsColumns.NORMALIZED_DATE_SENT,
                            SmsDatabase.DATE_RECEIVED + " * 1 AS " + MmsSmsColumns.NORMALIZED_DATE_RECEIVED,
                            MmsSmsColumns.ID, SmsDatabase.BODY, MmsSmsColumns.READ, MmsSmsColumns.THREAD_ID,
                            SmsDatabase.TYPE, SmsDatabase.ADDRESS, SmsDatabase.ADDRESS_DEVICE_ID, SmsDatabase.SUBJECT, MmsDatabase.MESSAGE_TYPE,
                            MmsDatabase.MESSAGE_BOX, SmsDatabase.STATUS, MmsDatabase.PART_COUNT,
                            MmsDatabase.CONTENT_LOCATION, MmsDatabase.TRANSACTION_ID,
                            MmsDatabase.MESSAGE_SIZE, MmsDatabase.EXPIRY, MmsDatabase.STATUS,
                            MmsSmsColumns.RECEIPT_COUNT, TRANSPORT};


  SQLiteQueryBuilder mmsQueryBuilder = new SQLiteQueryBuilder();
  SQLiteQueryBuilder smsQueryBuilder = new SQLiteQueryBuilder();

  mmsQueryBuilder.setDistinct(true);
  smsQueryBuilder.setDistinct(true);

  mmsQueryBuilder.setTables(MmsDatabase.TABLE_NAME);
  smsQueryBuilder.setTables(SmsDatabase.TABLE_NAME);

  Set<String> mmsColumnsPresent = new HashSet<String>();
  mmsColumnsPresent.add(MmsSmsColumns.ID);
  mmsColumnsPresent.add(MmsSmsColumns.READ);
  mmsColumnsPresent.add(MmsSmsColumns.THREAD_ID);
  mmsColumnsPresent.add(MmsSmsColumns.BODY);
  mmsColumnsPresent.add(MmsSmsColumns.ADDRESS);
  mmsColumnsPresent.add(MmsSmsColumns.ADDRESS_DEVICE_ID);
  mmsColumnsPresent.add(MmsSmsColumns.RECEIPT_COUNT);
  mmsColumnsPresent.add(MmsDatabase.MESSAGE_TYPE);
  mmsColumnsPresent.add(MmsDatabase.MESSAGE_BOX);
  mmsColumnsPresent.add(MmsDatabase.DATE_SENT);
  mmsColumnsPresent.add(MmsDatabase.DATE_RECEIVED);
  mmsColumnsPresent.add(MmsDatabase.PART_COUNT);
  mmsColumnsPresent.add(MmsDatabase.CONTENT_LOCATION);
  mmsColumnsPresent.add(MmsDatabase.TRANSACTION_ID);
  mmsColumnsPresent.add(MmsDatabase.MESSAGE_SIZE);
  mmsColumnsPresent.add(MmsDatabase.EXPIRY);
  mmsColumnsPresent.add(MmsDatabase.STATUS);

  Set<String> smsColumnsPresent = new HashSet<String>();
  smsColumnsPresent.add(MmsSmsColumns.ID);
  smsColumnsPresent.add(MmsSmsColumns.BODY);
  smsColumnsPresent.add(MmsSmsColumns.ADDRESS);
  smsColumnsPresent.add(MmsSmsColumns.ADDRESS_DEVICE_ID);
  smsColumnsPresent.add(MmsSmsColumns.READ);
  smsColumnsPresent.add(MmsSmsColumns.THREAD_ID);
  smsColumnsPresent.add(MmsSmsColumns.RECEIPT_COUNT);
  smsColumnsPresent.add(SmsDatabase.TYPE);
  smsColumnsPresent.add(SmsDatabase.SUBJECT);
  smsColumnsPresent.add(SmsDatabase.DATE_SENT);
  smsColumnsPresent.add(SmsDatabase.DATE_RECEIVED);
  smsColumnsPresent.add(SmsDatabase.STATUS);

  String mmsSubQuery = mmsQueryBuilder.buildUnionSubQuery(TRANSPORT, mmsProjection, mmsColumnsPresent, 2, MMS_TRANSPORT, selection, null, null, null);
  String smsSubQuery = smsQueryBuilder.buildUnionSubQuery(TRANSPORT, smsProjection, smsColumnsPresent, 2, SMS_TRANSPORT, selection, null, null, null);

  SQLiteQueryBuilder unionQueryBuilder = new SQLiteQueryBuilder();
  String unionQuery = unionQueryBuilder.buildUnionQuery(new String[] {smsSubQuery, mmsSubQuery}, order, null);

  SQLiteQueryBuilder outerQueryBuilder = new SQLiteQueryBuilder();
  outerQueryBuilder.setTables("(" + unionQuery + ")");

  String query      = outerQueryBuilder.buildQuery(projection, null, null, groupBy, null, null, limit);

  Log.w("MmsSmsDatabase", "Executing query: " + query);
  SQLiteDatabase db = databaseHelper.getReadableDatabase();
  return db.rawQuery(query, null);
}
 
开发者ID:redcracker,项目名称:TextSecure,代码行数:78,代码来源:MmsSmsDatabase.java


注:本文中的android.database.sqlite.SQLiteQueryBuilder.setDistinct方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。