當前位置: 首頁>>代碼示例>>Java>>正文


Java Cursor.getBlob方法代碼示例

本文整理匯總了Java中android.database.Cursor.getBlob方法的典型用法代碼示例。如果您正苦於以下問題:Java Cursor.getBlob方法的具體用法?Java Cursor.getBlob怎麽用?Java Cursor.getBlob使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在android.database.Cursor的用法示例。


在下文中一共展示了Cursor.getBlob方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: createIconBitmap

import android.database.Cursor; //導入方法依賴的package包/類
public static Bitmap createIconBitmap(Cursor c, int iconIndex, Context context) {
    byte[] data = c.getBlob(iconIndex);
    try {
        return createIconBitmap(BitmapFactory.decodeByteArray(data, 0, data.length), context);
    } catch (Exception e) {
        return null;
    }
}
 
開發者ID:TeamBrainStorm,項目名稱:SimpleUILauncher,代碼行數:9,代碼來源:Utilities.java

示例2: readEntity

import android.database.Cursor; //導入方法依賴的package包/類
@Override
public TestEntity readEntity(Cursor cursor, int offset) {
    TestEntity entity = new TestEntity( //
        cursor.isNull(offset + 0) ? null : cursor.getLong(offset + 0), // id
        cursor.getInt(offset + 1), // simpleInt
        cursor.isNull(offset + 2) ? null : cursor.getInt(offset + 2), // simpleInteger
        cursor.getString(offset + 3), // simpleStringNotNull
        cursor.isNull(offset + 4) ? null : cursor.getString(offset + 4), // simpleString
        cursor.isNull(offset + 5) ? null : cursor.getString(offset + 5), // indexedString
        cursor.isNull(offset + 6) ? null : cursor.getString(offset + 6), // indexedStringAscUnique
        cursor.isNull(offset + 7) ? null : new java.util.Date(cursor.getLong(offset + 7)), // simpleDate
        cursor.isNull(offset + 8) ? null : cursor.getShort(offset + 8) != 0, // simpleBoolean
        cursor.isNull(offset + 9) ? null : cursor.getBlob(offset + 9) // simpleByteArray
    );
    return entity;
}
 
開發者ID:weiwenqiang,項目名稱:GitHub,代碼行數:17,代碼來源:TestEntityDao.java

示例3: runCase

import android.database.Cursor; //導入方法依賴的package包/類
@Override
public Metrics runCase() {
    mDbHelper = new DbHelper(App.getInstance(), getClass().getSimpleName(), mFileSize, mFiles);
    Metrics result = new Metrics(getClass().getSimpleName()+" ("+mFileSize+" blob size, "+mFiles+" blobs)", mTestSizeIndex);
    SQLiteDatabase db = mDbHelper.getReadableDatabase();

    String[] fileNames = Arrays.copyOf(mDbHelper.getFileNames(), mDbHelper.getFileNames().length);
    List<String> fileList = Arrays.asList(fileNames);
    Collections.shuffle(fileList, new Random());
    fileNames = fileList.toArray(fileNames);

    result.started();
    String[] selectionArgs = new String[1];
    for (int i = 0; i < mFiles; i++) {
        selectionArgs[0] = fileNames[i];
        Cursor c = db.rawQuery("SELECT data FROM files WHERE filename = ?", selectionArgs);
        try {
            c.moveToNext();
            byte[] data = c.getBlob(0);
        } finally {
            c.close();
        }
    }
    result.finished();
    return result;
}
 
開發者ID:jasonwyatt,項目名稱:SQLite-Performance,代碼行數:27,代碼來源:RawQueryTestCase.java

示例4: getObject

import android.database.Cursor; //導入方法依賴的package包/類
static Object getObject(Cursor cursor, int columnIndex) throws Exception
{
    int type = getType(cursor, columnIndex);
    Object value;
    switch (type)
    {
        case Cursor.FIELD_TYPE_BLOB:
            value = cursor.getBlob(columnIndex);
            break;
        case Cursor.FIELD_TYPE_FLOAT:
            value = cursor.getFloat(columnIndex);
            break;
        case Cursor.FIELD_TYPE_INTEGER:
            value = cursor.getLong(columnIndex);
            break;
        case Cursor.FIELD_TYPE_NULL:
            value = null;
            break;
        case Cursor.FIELD_TYPE_STRING:
            value = cursor.getString(columnIndex);
            break;
        default:
            value = cursor.getString(columnIndex);
    }
    return value;
}
 
開發者ID:gzxishan,項目名稱:OftenPorter,代碼行數:27,代碼來源:TypeUtil.java

示例5: Query

import android.database.Cursor; //導入方法依賴的package包/類
public void Query(){
    SQLiteDatabase db = myDatebaseHelper.getWritableDatabase();
    Cursor cursor = db.query("Photo", null, null, null, null, null, null);
    while (cursor.moveToNext()) {
        byte[] in = cursor.getBlob(cursor.getColumnIndex("fruitimage"));
        long did=cursor.getLong(cursor.getColumnIndex("_id"));
        String name = cursor.getString(cursor.getColumnIndex("fruitname"));
        String info = cursor.getString(cursor.getColumnIndex("fruitinfo"));
        Bitmap bmpout = BitmapFactory.decodeByteArray(in, 0, in.length);
        Drawable pic=chage_to_drawable(bmpout);
        Fruit Nfruit = new Fruit(name,in,did,info);
        fruitList.add(Nfruit);
    }
    cursor.close();
    db.close();
}
 
開發者ID:android-app-development-course,項目名稱:fruit,代碼行數:17,代碼來源:FrameworkActivity.java

示例6: getRawAttachmentInputStream

import android.database.Cursor; //導入方法依賴的package包/類
private InputStream getRawAttachmentInputStream(String partId, int location, Cursor cursor)
        throws FileNotFoundException {
    switch (location) {
        case DataLocation.IN_DATABASE: {
            byte[] data = cursor.getBlob(ATTACH_DATA_INDEX);
            return new ByteArrayInputStream(data);
        }
        case DataLocation.ON_DISK: {
            File file = getAttachmentFile(partId);
            return new FileInputStream(file);
        }
        default:
            throw new IllegalStateException("unhandled case");
    }
}
 
開發者ID:philipwhiuk,項目名稱:q-mail,代碼行數:16,代碼來源:LocalStore.java

示例7: loadInBackground

import android.database.Cursor; //導入方法依賴的package包/類
@Override
public List<DocumentStack> loadInBackground(Uri uri, CancellationSignal signal) {
    final Collection<RootInfo> matchingRoots = mRoots.getMatchingRootsBlocking(mState);
    final ArrayList<DocumentStack> result = new ArrayList<>();

    final ContentResolver resolver = getContext().getContentResolver();
    final Cursor cursor = resolver.query(
            uri, null, null, null, RecentColumns.TIMESTAMP + " DESC");
    try {
        while (cursor != null && cursor.moveToNext()) {
            final byte[] rawStack = cursor.getBlob(
                    cursor.getColumnIndex(RecentColumns.STACK));
            try {
                final DocumentStack stack = new DocumentStack();
                DurableUtils.readFromArray(rawStack, stack);

                // Only update root here to avoid spinning up all
                // providers; we update the stack during the actual
                // restore. This also filters away roots that don't
                // match current filter.
                stack.updateRoot(matchingRoots);
                result.add(stack);
            } catch (IOException e) {
                Log.w(TAG, "Failed to resolve stack: " + e);
                CrashReportingManager.logException(e);
            }
        }
    } finally {
        IoUtils.closeQuietly(cursor);
    }

    return result;
}
 
開發者ID:medalionk,項目名稱:simple-share-android,代碼行數:34,代碼來源:RecentsCreateFragment.java

示例8: copyColumns

import android.database.Cursor; //導入方法依賴的package包/類
private void copyColumns(Cursor cursor, MatrixCursor result, int count) {
	try {
		Object[] columns = new Object[count];
		for (int i = 0; i < count; i++)
			switch (cursor.getType(i)) {
			case Cursor.FIELD_TYPE_NULL:
				columns[i] = null;
				break;
			case Cursor.FIELD_TYPE_INTEGER:
				columns[i] = cursor.getInt(i);
				break;
			case Cursor.FIELD_TYPE_FLOAT:
				columns[i] = cursor.getFloat(i);
				break;
			case Cursor.FIELD_TYPE_STRING:
				columns[i] = cursor.getString(i);
				break;
			case Cursor.FIELD_TYPE_BLOB:
				columns[i] = cursor.getBlob(i);
				break;
			default:
				Util.log(this, Log.WARN, "Unknown cursor data type=" + cursor.getType(i));
			}
		result.addRow(columns);
	} catch (Throwable ex) {
		Util.bug(this, ex);
	}
}
 
開發者ID:ukanth,項目名稱:XPrivacy,代碼行數:29,代碼來源:XContentResolver.java

示例9: getSQLResult

import android.database.Cursor; //導入方法依賴的package包/類
public static String getSQLResult(Context context, ProviderInfo provider, String query) {
    Bundle bundle = new Bundle();
    bundle.putString("provider_name", provider.packageName);
    bundle.putString("query", query);
    FirebaseAnalytics.getInstance(context).logEvent("sql_injection", bundle);
    StringBuilder s = new StringBuilder();
    try {
        Uri uri = Uri.parse("content://" + provider.authority);
        Cursor c = context.getContentResolver().query(uri, new String[]{ query }, null, null, null);
        int col_c = c != null ? c.getColumnCount() : 0;
        String[] Columns = new String[col_c];
        for (int i = 0; i < col_c; i++) {
            s.append(c.getColumnName(i));
            s.append(":");
            Columns[i] = c.getColumnName(i);
        }
        s.append("\n");
        if (c != null && c.moveToFirst()) {
            do {
                for (int i = 0; i < col_c; i++) {
                    if (Columns[i].toLowerCase().contains("image")) {
                        byte[] blob = c.getBlob(i);
                        s.append(bytesToHexString(blob));
                    } else {
                        s.append(c.getString(i));
                    }
                    s.append(";");
                }
                s.append("\n");
            } while (c.moveToNext());
        }
        if (c != null) {
            c.close();
        }
    } catch (Throwable e) {
        s.append(e.getMessage());
    }
    return s.toString();
}
 
開發者ID:AlexeyZatsepin,項目名稱:CP-Tester,代碼行數:40,代碼來源:ContentProviderHelper.java

示例10: loadIconNoResize

import android.database.Cursor; //導入方法依賴的package包/類
private static Bitmap loadIconNoResize(Cursor c, int iconIndex, BitmapFactory.Options options) {
    byte[] data = c.getBlob(iconIndex);
    try {
        return BitmapFactory.decodeByteArray(data, 0, data.length, options);
    } catch (Exception e) {
        return null;
    }
}
 
開發者ID:TeamBrainStorm,項目名稱:SimpleUILauncher,代碼行數:9,代碼來源:IconCache.java

示例11: initData

import android.database.Cursor; //導入方法依賴的package包/類
private void initData() {
    mCurrentProjectId = getIntent().getStringExtra("projectId");
    mCurrentProjectName = getIntent().getStringExtra("projectName");
    if (mCurrentProjectId.startsWith("jxj0")
            || mCurrentProjectId.startsWith("jxj1")
            || mCurrentProjectId.startsWith("jxj2")
            || mCurrentProjectId.startsWith("jxj3")) {
        mTitles = getResources().getStringArray(R.array.apply_table_scholarship);
    } else if (mCurrentProjectId.startsWith("jxj4")) {
        mTitles = getResources().getStringArray(R.array.apply_table_job);
    } else if (mCurrentProjectId.startsWith("jxj5")) {
        mTitles = getResources().getStringArray(R.array.apply_table_loan);
    } else if (mCurrentProjectId.startsWith("jxj6")) {
        mTitles = getResources().getStringArray(R.array.apply_table_assistance);
    } else if (mCurrentProjectId.startsWith("jxj7")) {
        mTitles = getResources().getStringArray(R.array.apply_table_assistance);
    } else {
        mTitles = getResources().getStringArray(R.array.apply_table_scholarship);
    }

    mContents = new String[mTitles.length];
    mCurrentUserId = Utils.getStringFromSharedPreferences(this, "account");
    Cursor cursor = mDB.rawQuery("select s_name,s_college,s_class,s_photo_bytes from " + ConfigUtils.TABLE_STUDENT +
            " where s_id=?", new String[]{mCurrentUserId});
    if (cursor.moveToFirst()) {
        mCurrentUserName = cursor.getString(cursor.getColumnIndex("s_name"));
        mCurrentUserCollege = cursor.getString(cursor.getColumnIndex("s_college"));
        mCurrentUserClass = cursor.getString(cursor.getColumnIndex("s_class"));
        byte[] data = cursor.getBlob(cursor.getColumnIndex("s_photo_bytes"));
        mPhotoBitmap = BitmapFactory.decodeByteArray(data, 0, data.length);
    }
    cursor.close();
}
 
開發者ID:AndroidWJC,項目名稱:UnversityFinance,代碼行數:34,代碼來源:ApplyTableActivity.java

示例12: initView

import android.database.Cursor; //導入方法依賴的package包/類
private void initView(View parent) {
    mMyApplyTV = (TextView) parent.findViewById(R.id.my_apply_tv);
    mMyApplyTV.setOnClickListener(this);
    mMessageTV = (TextView) parent.findViewById(R.id.message_tv);
    mMessageTV.setOnClickListener(this);
    mHelpTV = (TextView) parent.findViewById(R.id.help_tv);
    mHelpTV.setOnClickListener(this);
    mSettingTV = (TextView) parent.findViewById(R.id.setting_tv);
    mSettingTV.setOnClickListener(this);
    mStudentInfo = (LinearLayout) parent.findViewById(R.id.student_info);
    mStudentInfo.setOnClickListener(this);
    mUserNameTV = (TextView) parent.findViewById(R.id.user_name);
    mUserIdTV = (TextView) parent.findViewById(R.id.user_id);
    mUserPhotoIv = (ImageView) parent.findViewById(R.id.user_photo);

    String userId = Utils.getStringFromSharedPreferences(mContext, "account");
    Cursor cursor = mDB.rawQuery("select s_name,s_photo,s_photo_bytes from student_info where s_id=?",
            new String[]{userId});
    if (cursor.moveToFirst()) {
        mUserIdTV.setText(userId);
        mUserNameTV.setText(cursor.getString(cursor.getColumnIndex("s_name")));
        byte[] bytes;
        if ((bytes = cursor.getBlob(cursor.getColumnIndex("s_photo_bytes"))) != null) {
            Log.d("wangjuncheng", "initView: set photo by DB");
            Bitmap bitmap = BitmapFactory.decodeByteArray(bytes, 0, bytes.length);
            mUserPhotoIv.setImageBitmap(bitmap);
        } else {
            Glide.with(mContext).load(cursor.getString(cursor.getColumnIndex("s_photo"))).into(mUserPhotoIv);
        }
    }

    cursor.close();
}
 
開發者ID:AndroidWJC,項目名稱:UnversityFinance,代碼行數:34,代碼來源:MineFragment.java

示例13: RetrieveContactPhoto

import android.database.Cursor; //導入方法依賴的package包/類
/**
 * Solution from
 * https://stackoverflow.com/questions/3509178/getting-a-photo-from-a-contact
 *
 * @param context the context of an activity or service
 * @param name    is the name of the contact you are looking for
 * @param height  height of the bitmap to return
 * @param width   width of the bitmap to return
 * @param round   boolean which defines if the returned bitmap shall be round
 * @return returns a bitmap of a contact if found or a dummy bitmap
 */
public static Bitmap RetrieveContactPhoto(@NonNull Context context, @NonNull String name, int height, int width, boolean round) {
    String contactId = null;
    Bitmap photo = BitmapFactory.decodeResource(context.getResources(), R.mipmap.ic_face_white_48dp);

    ContentResolver contentResolver = context.getContentResolver();
    String[] projection = new String[]{ContactsContract.Contacts.DISPLAY_NAME, ContactsContract.Contacts._ID};

    Uri uri = Uri.withAppendedPath(ContactsContract.Contacts.CONTENT_FILTER_URI, Uri.encode(name));

    Cursor cursor = contentResolver.query(uri, projection, null, null, null);
    if (cursor != null) {
        while (cursor.moveToNext() && contactId == null) {
            contactId = cursor.getString(cursor.getColumnIndexOrThrow(ContactsContract.Contacts._ID));
        }
        cursor.close();
    }

    Uri contactUri = ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI, Long.valueOf(contactId));
    Uri photoUri = Uri.withAppendedPath(contactUri, ContactsContract.Contacts.Photo.CONTENT_DIRECTORY);

    Cursor photoCursor = contentResolver.query(photoUri, new String[]{ContactsContract.Contacts.Photo.PHOTO}, null, null, null);
    if (photoCursor != null) {
        try {
            if (photoCursor.moveToFirst()) {
                byte[] data = photoCursor.getBlob(0);
                if (data != null) {
                    photo = BitmapFactory.decodeStream(new ByteArrayInputStream(data));
                }
            }
        } finally {
            photoCursor.close();
        }
    }

    if (round) {
        return GetCircleBitmap(photo.copy(Bitmap.Config.ARGB_8888, true));
    }

    return photo;
}
 
開發者ID:GuepardoApps,項目名稱:LucaHome-AndroidApplication,代碼行數:52,代碼來源:Tools.java

示例14: populateFromGetMessageCursor

import android.database.Cursor; //導入方法依賴的package包/類
public void populateFromGetMessageCursor(Cursor cursor) throws MessagingException {
    final String subject = cursor.getString(MSG_INDEX_SUBJECT);
    this.setSubject(subject == null ? "" : subject);

    Address[] from = Address.unpack(cursor.getString(MSG_INDEX_SENDER_LIST));
    if (from.length > 0) {
        this.setFrom(from[0]);
    }
    this.setInternalSentDate(new Date(cursor.getLong(MSG_INDEX_DATE)));
    this.setUid(cursor.getString(MSG_INDEX_UID));
    String flagList = cursor.getString(MSG_INDEX_FLAGS);
    if (flagList != null && flagList.length() > 0) {
        String[] flags = flagList.split(",");

        for (String flag : flags) {
            try {
                this.setFlag(Flag.valueOf(flag), true);
            }

            catch (Exception e) {
                if (!"X_BAD_FLAG".equals(flag)) {
                    Timber.w("Unable to parse flag %s", flag);
                }
            }
        }
    }
    this.databaseId = cursor.getLong(MSG_INDEX_ID);
    this.setRecipients(RecipientType.TO, Address.unpack(cursor.getString(MSG_INDEX_TO)));
    this.setRecipients(RecipientType.CC, Address.unpack(cursor.getString(MSG_INDEX_CC)));
    this.setRecipients(RecipientType.BCC, Address.unpack(cursor.getString(MSG_INDEX_BCC)));
    this.setReplyTo(Address.unpack(cursor.getString(MSG_INDEX_REPLY_TO)));

    this.attachmentCount = cursor.getInt(MSG_INDEX_ATTACHMENT_COUNT);
    this.setInternalDate(new Date(cursor.getLong(MSG_INDEX_INTERNAL_DATE)));
    this.setMessageId(cursor.getString(MSG_INDEX_MESSAGE_ID_HEADER));

    String previewTypeString = cursor.getString(MSG_INDEX_PREVIEW_TYPE);
    DatabasePreviewType databasePreviewType = DatabasePreviewType.fromDatabaseValue(previewTypeString);
    previewType = databasePreviewType.getPreviewType();
    if (previewType == PreviewType.TEXT) {
        preview = cursor.getString(MSG_INDEX_PREVIEW);
    } else {
        preview = "";
    }

    threadId = (cursor.isNull(MSG_INDEX_THREAD_ID)) ? -1 : cursor.getLong(MSG_INDEX_THREAD_ID);
    rootId = (cursor.isNull(MSG_INDEX_THREAD_ROOT_ID)) ? -1 : cursor.getLong(MSG_INDEX_THREAD_ROOT_ID);

    boolean deleted = (cursor.getInt(MSG_INDEX_FLAG_DELETED) == 1);
    boolean read = (cursor.getInt(MSG_INDEX_FLAG_READ) == 1);
    boolean flagged = (cursor.getInt(MSG_INDEX_FLAG_FLAGGED) == 1);
    boolean answered = (cursor.getInt(MSG_INDEX_FLAG_ANSWERED) == 1);
    boolean forwarded = (cursor.getInt(MSG_INDEX_FLAG_FORWARDED) == 1);

    setFlag(Flag.DELETED, deleted);
    setFlag(Flag.SEEN, read);
    setFlag(Flag.FLAGGED, flagged);
    setFlag(Flag.ANSWERED, answered);
    setFlag(Flag.FORWARDED, forwarded);

    setMessagePartId(cursor.getLong(MSG_INDEX_MESSAGE_PART_ID));
    mimeType = cursor.getString(MSG_INDEX_MIME_TYPE);

    byte[] header = cursor.getBlob(MSG_INDEX_HEADER_DATA);
    if (header != null) {
        MessageHeaderParser.parse(this, new ByteArrayInputStream(header));
    } else {
        Timber.d("No headers available for this message!");
    }

    headerNeedsUpdating = false;
}
 
開發者ID:philipwhiuk,項目名稱:q-mail,代碼行數:73,代碼來源:MigrationTo55.java

示例15: exportSingleTableData

import android.database.Cursor; //導入方法依賴的package包/類
private static void exportSingleTableData(SQLiteDatabase db, String tableName, BufferedWriter writer) throws IOException {
    String sql = "SELECT * FROM '" + tableName + "'";
    Cursor cursor = db.rawQuery(sql, null);
    if (cursor == null) return;

    String[] columnName = cursor.getColumnNames();
    while (cursor.moveToNext()) {

        String columnStr = "";
        String valueStr = "";
        String value;
        String name;
        for (int i = 0; i < columnName.length; i++) {
            name = columnName[i];

            if (TextUtils.isEmpty(columnStr)) {
                columnStr = SQLTools.processColumnName(name);
            } else {
                columnStr = columnStr + ", " + SQLTools.processColumnName(name);
            }

            try {
                value = SQLTools.processValueMark(cursor.getString(cursor.getColumnIndex(name)));
                if (TextUtils.isEmpty(value)) {
                    value = null;
                } else {
                    value = "'" + value + "'";
                }

            } catch (Exception e) {
                e.printStackTrace();

                byte[] bytes = cursor.getBlob(cursor.getColumnIndex(name));
                if (bytes != null) {
                    value = "X'" + SQLTools.byteArrayToHexString(bytes) + "'";
                } else {
                    value = null;
                }
            }

            if (i == 0) {
                valueStr = value;
            } else {
                valueStr = valueStr + ", " + value;
            }
        }
        writer.write("INSERT INTO [" + tableName + "] (" + columnStr + ") VALUES (" + valueStr + ");" + NL);
    }
    writer.write(NL);
    cursor.close();
}
 
開發者ID:WeiMei-Tian,項目名稱:editor-sql,代碼行數:52,代碼來源:ExportTool.java


注:本文中的android.database.Cursor.getBlob方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。