code: public static int update(Connection connection, String table,
  			ContentValues values, String whereClause, String[] whereArgs) {
  
  		StringBuilder update = new StringBuilder();
  		update.append("update ").append(CoreSQLUtils.quoteWrap(table))
  				.append(" set ");
  
  		int setValuesSize = values.size();
  		int argsSize = (whereArgs == null) ? setValuesSize
  				: (setValuesSize + whereArgs.length);
  		Object[] args = new Object[argsSize];
  		int i = 0;
  		for (String colName : values.keySet()) {
  			update.append((i > 0) ? "," : "");
  			update.append(CoreSQLUtils.quoteWrap(colName));
  			args[i++] = values.get(colName);
  			update.append("=?");
  		}
  		if (whereArgs != null) {
  			for (i = setValuesSize; i < argsSize; i++) {
  				args[i] = whereArgs[i - setValuesSize];
  			}
  		}
  		if (whereClause != null) {
  			update.append(" WHERE ");
  			update.append(whereClause);
  		}
  		String sql = update.toString();
  
  		PreparedStatement statement = null;
  
  		int count = 0;
  		try {
  			statement = connection.prepareStatement(sql);
  			setArguments(statement, args);
  			count = statement.executeUpdate();
  		} catch (SQLException e) {
  			throw new GeoPackageException(
  					"Failed to execute SQL update statement: " + sql, e);
  		} finally {
  			closeStatement(statement, sql);
  		}
  
  		return count;
  	}
docs: Update table rows
  
  @param connection
  connection
  @param table
  table name
  @param values
  content values
  @param whereClause
  where clause
  @param whereArgs
  where arguments
  @return updated count