code: public void bind(SQLiteStatement statement) {
  		if (this.compiledStatement != null) {
  			// already binded
  			return;
  		}
  
  		int index = 1;
  
  		statement.clearBindings();
  		Object value;
  
  		for (int j = 0; j < args.size(); j++) {
  			value = args.get(j);
  			switch (valueType.get(index - 1)) {
  			case BOOLEAN:
  				statement.bindLong(index, (long) (((Boolean) value) == true ? 1 : 0));
  				break;
  			case BYTE:
  				statement.bindLong(index, (byte) value);
  				break;
  			case SHORT:
  				statement.bindLong(index, (short) value);
  				break;
  			case INTEGER:
  				statement.bindLong(index, (int) value);
  				break;
  			case CHARACTER:
  				statement.bindLong(index, Character.getNumericValue((char)value));
  				break;
  			case LONG:
  				statement.bindLong(index, (long) value);
  				break;
  			case BYTE_ARRAY:
  				statement.bindBlob(index, (byte[]) value);
  				break;
  			case FLOAT:
  				statement.bindDouble(index, (float) value);
  				break;
  			case DOUBLE:
  				statement.bindDouble(index, (double) value);
  				break;
  			case NULL:
  				statement.bindNull(index);
  				break;
  			case STRING:
  				statement.bindString(index, (String) value);
  				break;
  			}
  			index++;
  		}
  
  		for (int i = 0; i < whereArgs.size(); i++, index++) {
  			statement.bindString(index, whereArgs.get(i));
  		}
  	}
docs: Bind.
  
  @param statement the statement