Using java String.format on a android sqlite arguments
-
12-06-2021 - |
Question
Android sqlite commands are like db.delete(table, whereClause, whereArgs); whereClause is a string such as "column1 = ? and column2 = ?" whereArgs is a string array that holds the values that will be substituted in the whereClause. Is there an easy way for me to get the decoded string from this (for logging purposes). String.format seems close, but not quite. This is what I am aiming for:
Log.e(MY_DEBUG_TAG,
"Error executing Delete(" + table + ", " +
String.format(whereClause, whereArgs + ")");
Solution
If only for logging purposes you may try:
Log.e(MY_DEBUG_TAG,
"Error executing Delete(" + table + ", " +
String.format(whereClause.replaceAll("\\?", "%s"), (Object[])whereArgs) + ")");
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow