code: public static Object getValue(Result result, int index,
  			GeoPackageDataType dataType) {
  
  		Object value = null;
  
  		int type = result.getType(index);
  
  		switch (type) {
  
  		case FIELD_TYPE_INTEGER:
  			value = getIntegerValue(result, index, dataType);
  			break;
  
  		case FIELD_TYPE_FLOAT:
  			value = getFloatValue(result, index, dataType);
  			break;
  
  		case FIELD_TYPE_STRING:
  			String stringValue = result.getString(index);
  
  			if (dataType != null
  					&& (dataType == GeoPackageDataType.DATE || dataType == GeoPackageDataType.DATETIME)) {
  				DateConverter converter = DateConverter.converter(dataType);
  				try {
  					value = converter.dateValue(stringValue);
  				} catch (Exception e) {
  					logger.log(Level.WARNING,
  							"Invalid " + dataType + " format: " + stringValue
  									+ ", String value used", e);
  					value = stringValue;
  				}
  			} else {
  				value = stringValue;
  			}
  			break;
  
  		case FIELD_TYPE_BLOB:
  			value = result.getBlob(index);
  			break;
  
  		case FIELD_TYPE_NULL:
  			// leave value as null
  		}
  
  		return value;
  	}
docs: Get the value from the cursor from the provided column
  
  @param result
  result
  @param index
  index
  @param dataType
  data type
  @return value value