本文整理匯總了Java中android.database.Cursor.FIELD_TYPE_BLOB屬性的典型用法代碼示例。如果您正苦於以下問題:Java Cursor.FIELD_TYPE_BLOB屬性的具體用法?Java Cursor.FIELD_TYPE_BLOB怎麽用?Java Cursor.FIELD_TYPE_BLOB使用的例子?那麽, 這裏精選的屬性代碼示例或許可以為您提供幫助。您也可以進一步了解該屬性所在類android.database.Cursor
的用法示例。
在下文中一共展示了Cursor.FIELD_TYPE_BLOB屬性的12個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: insertItemToSheet
private void insertItemToSheet(String table, HSSFSheet sheet, ArrayList<String> columns) {
HSSFPatriarch patriarch = sheet.createDrawingPatriarch();
Cursor cursor = database.rawQuery("select * from " + table, null);
cursor.moveToFirst();
int n = 1;
while (!cursor.isAfterLast()) {
HSSFRow rowA = sheet.createRow(n);
for (int j = 0; j < columns.size(); j++) {
HSSFCell cellA = rowA.createCell(j);
if (cursor.getType(j) == Cursor.FIELD_TYPE_BLOB) {
HSSFClientAnchor anchor = new HSSFClientAnchor(0, 0, 0, 0, (short) j, n, (short) (j + 1), n + 1);
anchor.setAnchorType(3);
patriarch.createPicture(anchor, workbook.addPicture(cursor.getBlob(j), HSSFWorkbook.PICTURE_TYPE_JPEG));
} else {
cellA.setCellValue(new HSSFRichTextString(cursor.getString(j)));
}
}
n++;
cursor.moveToNext();
}
cursor.close();
}
示例2: getObject
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;
}
示例3: ListRow
public ListRow(OModel model, Cursor cursor) {
this.baseModel = model;
for (String column : cursor.getColumnNames()) {
int index = cursor.getColumnIndex(column);
switch (cursor.getType(index)) {
case Cursor.FIELD_TYPE_INTEGER:
put(column, cursor.getInt(index));
break;
case Cursor.FIELD_TYPE_BLOB:
put(column, cursor.getBlob(index));
break;
case Cursor.FIELD_TYPE_STRING:
put(column, cursor.getString(index));
break;
case Cursor.FIELD_TYPE_FLOAT:
put(column, cursor.getFloat(index));
break;
case Cursor.FIELD_TYPE_NULL:
put(column, false);
break;
}
}
}
示例4: _dumpColumns
private void _dumpColumns(Cursor cursor, String msg) {
String[] columns = new String[cursor.getColumnCount()];
for (int i = 0; i < cursor.getColumnCount(); i++)
switch (cursor.getType(i)) {
case Cursor.FIELD_TYPE_NULL:
columns[i] = null;
break;
case Cursor.FIELD_TYPE_INTEGER:
columns[i] = Integer.toString(cursor.getInt(i));
break;
case Cursor.FIELD_TYPE_FLOAT:
columns[i] = Float.toString(cursor.getFloat(i));
break;
case Cursor.FIELD_TYPE_STRING:
columns[i] = cursor.getString(i);
break;
case Cursor.FIELD_TYPE_BLOB:
columns[i] = "[blob]";
break;
default:
Util.log(this, Log.WARN, "Unknown cursor data type=" + cursor.getType(i));
}
Util.log(this, Log.WARN, TextUtils.join(", ", columns) + " " + msg);
}
示例5: getType
private static int getType(Cursor cursor, int columnIndex) throws Exception
{
if (Build.VERSION.SDK_INT >= 11)
{
return cursor.getType(columnIndex);
}
SQLiteCursor sqLiteCursor = (SQLiteCursor) cursor;
CursorWindow cursorWindow = sqLiteCursor.getWindow();
int pos = cursor.getPosition();
int type = -1;
if (cursorWindow.isNull(pos, columnIndex))
{
type = Cursor.FIELD_TYPE_NULL;
} else if (cursorWindow.isLong(pos, columnIndex))
{
type = Cursor.FIELD_TYPE_INTEGER;
} else if (cursorWindow.isFloat(pos, columnIndex))
{
type = Cursor.FIELD_TYPE_FLOAT;
} else if (cursorWindow.isString(pos, columnIndex))
{
type = Cursor.FIELD_TYPE_STRING;
} else if (cursorWindow.isBlob(pos, columnIndex))
{
type = Cursor.FIELD_TYPE_BLOB;
}
return type;
}
示例6: getTypeOfObject
public static int getTypeOfObject(Object obj) {
if (obj == null) {
return Cursor.FIELD_TYPE_NULL;
} else if (obj instanceof byte[]) {
return Cursor.FIELD_TYPE_BLOB;
} else if (obj instanceof Float || obj instanceof Double) {
return Cursor.FIELD_TYPE_FLOAT;
} else if (obj instanceof Long || obj instanceof Integer
|| obj instanceof Short || obj instanceof Byte) {
return Cursor.FIELD_TYPE_INTEGER;
} else {
return Cursor.FIELD_TYPE_STRING;
}
}
示例7: cursor2Map
public static Map<String, Object> cursor2Map(Cursor cursor) {
Map<String, Object> map = new HashMap<>();
if (cursor != null && cursor.getColumnCount() > 0) {
int count = cursor.getColumnCount();
for (int i = 0; i < count; i++) {
int type = cursor.getType(i);
Object value = null;
switch (type) {
case Cursor.FIELD_TYPE_STRING:
value = cursor.getString(i);
break;
case Cursor.FIELD_TYPE_INTEGER:
value = cursor.getInt(i);
break;
case Cursor.FIELD_TYPE_FLOAT:
value = cursor.getFloat(i);
break;
case Cursor.FIELD_TYPE_NULL:
LogUtils.d("未知的參數類型,type:" + type);
break;
case Cursor.FIELD_TYPE_BLOB:
LogUtils.d("未知的參數類型,type:" + type);
break;
}
if (value != null) {
String name = cursor.getColumnName(i);
map.put(name, value);
}
}
}
return map;
}
示例8: copyColumns
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);
}
}
示例9: next
@NonNull
@Override
public RowSnapshot<T> next()
{
try
{
if (!hasNext())
{
throw new NoSuchElementException("No more rows to iterate");
}
Map<String, String> charData = new HashMap<>();
Map<String, byte[]> byteData = new HashMap<>();
String[] columnNames = mCursor.getColumnNames();
for (int i = 0, count = mCursor.getColumnCount(); i < count; ++i)
{
String columnName = columnNames[i];
if (mCursor.getType(i) == Cursor.FIELD_TYPE_BLOB)
{
byteData.put(columnName, mCursor.getBlob(i));
}
else
{
charData.put(columnName, mCursor.getString(i));
}
}
RowSnapshot<T> rowSnapshot = new ValuesRowSnapshot<>(mTable, new MapRowDataSnapshot<T>(charData, byteData));
mCursor.moveToNext();
return rowSnapshot;
}
catch (Exception e)
{
// we can't use finally here, because we want to close the cursor only in an error case.
mCursor.close();
throw e;
}
}
示例10: log
private static void log(final Cursor cursor) {
if (cursor != null) {
if (cursor.getCount() > 0) {
L.e("----------------------start--------------------");
L.i("數量:" + cursor.getCount() + " 列數:" + cursor.getColumnCount());
if (cursor.moveToFirst()) {
do {
for (int i = 0; i < cursor.getColumnCount(); i++) {
final String columnName = cursor.getColumnName(i);
final int columnIndex = cursor.getColumnIndex(columnName);
final int type = cursor.getType(columnIndex);
String data = "", ty = "";
if (type == Cursor.FIELD_TYPE_NULL) {
ty = "NULL";
data = "空值";
} else if (type == Cursor.FIELD_TYPE_BLOB) {
ty = "BLOB";
final byte[] bytes = cursor.getBlob(columnIndex);
data = String.valueOf(bytes) + " " + bytes.length * 1f / 1024f + "KB";
} else if (type == Cursor.FIELD_TYPE_FLOAT) {
ty = "FLOAT";
data = String.valueOf(cursor.getFloat(columnIndex));
} else if (type == Cursor.FIELD_TYPE_INTEGER) {
ty = "INTEGER";
data = String.valueOf(cursor.getInt(columnIndex));
} else if (type == FIELD_TYPE_STRING) {
ty = "STRING";
data = cursor.getString(columnIndex);
}
L.i("第" + i + "列->名稱:" + columnName + " 索引:" + columnIndex + " 類型:" + ty + " 值:" + data);
}
} while (cursor.moveToNext());
}
L.e("------------------------end---------------------");
}
cursor.close();
}
}
示例11: dumpCursor
/**
* Useful for debugging during development, so that arbitrary queries can be made, and their
* results inspected in the debugger.
*/
@SuppressWarnings("unused")
@RequiresApi(api = 11)
public static List<Map<String, String>> dumpCursor(Cursor cursor) {
List<Map<String, String>> data = new ArrayList<>();
if (cursor == null) {
return data;
}
cursor.moveToFirst();
while (!cursor.isAfterLast()) {
Map<String, String> row = new HashMap<>(cursor.getColumnCount());
for (String col : cursor.getColumnNames()) {
int i = cursor.getColumnIndex(col);
switch (cursor.getType(i)) {
case Cursor.FIELD_TYPE_NULL:
row.put(col, null);
break;
case Cursor.FIELD_TYPE_INTEGER:
row.put(col, Integer.toString(cursor.getInt(i)));
break;
case Cursor.FIELD_TYPE_FLOAT:
row.put(col, Double.toString(cursor.getFloat(i)));
break;
case Cursor.FIELD_TYPE_STRING:
row.put(col, cursor.getString(i));
break;
case Cursor.FIELD_TYPE_BLOB:
row.put(col, new String(cursor.getBlob(i), Charset.defaultCharset()));
break;
}
}
data.add(row);
cursor.moveToNext();
}
cursor.close();
return data;
}
示例12: query
@Override
public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs,
String sortOrder) {
Uri fileUri = getFileUriWhenReady(uri);
if (fileUri == null) return null;
// Workaround for a bad assumption that particular MediaStore columns exist by certain third
// party applications.
// http://crbug.com/467423.
Cursor source = super.query(fileUri, projection, selection, selectionArgs, sortOrder);
String[] columnNames = source.getColumnNames();
String[] newColumnNames = columnNamesWithData(columnNames);
if (columnNames == newColumnNames) return source;
MatrixCursor cursor = new MatrixCursor(newColumnNames, source.getCount());
source.moveToPosition(-1);
while (source.moveToNext()) {
MatrixCursor.RowBuilder row = cursor.newRow();
for (int i = 0; i < columnNames.length; i++) {
switch (source.getType(i)) {
case Cursor.FIELD_TYPE_INTEGER:
row.add(source.getInt(i));
break;
case Cursor.FIELD_TYPE_FLOAT:
row.add(source.getFloat(i));
break;
case Cursor.FIELD_TYPE_STRING:
row.add(source.getString(i));
break;
case Cursor.FIELD_TYPE_BLOB:
row.add(source.getBlob(i));
break;
case Cursor.FIELD_TYPE_NULL:
default:
row.add(null);
break;
}
}
}
source.close();
return cursor;
}