package com.devsmart.android; import android.database.Cursor; import android.util.Log; public class Utils { public static String printCursor(Cursor cursor) { StringBuilder retval = new StringBuilder(); retval.append("|"); final int numcolumns = cursor.getColumnCount(); for(int column=0;column<numcolumns;column++){ String columnName = cursor.getColumnName(column); retval.append(String.format("%-20s |", columnName.substring(0, Math.min(20, columnName.length())))); } retval.append("\n|"); for(int column=0;column<numcolumns;column++){ for(int i=0;i<21;i++){ retval.append("-"); } retval.append("+"); } retval.append("\n|"); while(cursor.moveToNext()){ for(int column=0;column<numcolumns;column++){ String columnValue = cursor.getString(column); if(columnValue != null){ columnValue = columnValue.substring(0, Math.min(20, columnValue.length())); } retval.append(String.format("%-20s |", columnValue)); } retval.append("\n"); } return retval.toString(); } private static String logstr(String msg, StackTraceElement element){ return String.format("[%s::%s:%d] %s", element.getClassName(), element.getMethodName(), element.getLineNumber(), msg ); } public static void log(String msg) { StackTraceElement element = Thread.currentThread().getStackTrace()[3]; Log.i("", logstr(msg, element)); } public static void logerror(String msg, Exception e){ StackTraceElement element = Thread.currentThread().getStackTrace()[3]; Log.e("", logstr(msg, element), e); } }