在 logcat 中打印变量值以在 android 中进行调试
Posted
技术标签:
【中文标题】在 logcat 中打印变量值以在 android 中进行调试【英文标题】:printing values of variables in logcat for debugging in android 【发布时间】:2011-10-10 20:19:34 【问题描述】:我的活动中有浮点类型的变量/字段。有什么方法可以在 logcat 中记录这些值,因为 Log.w、Low.v、Log.i 对我没有帮助...
【问题讨论】:
查看以下对您有帮助的链接。点击here 【参考方案1】:Log.d("ADebugTag", "Value: " + Float.toString(myFloatVar));
【讨论】:
它给了我这个错误:- 无法在原始类型 float 上调用 toString() @aromero ,它再次给我以下错误:- Log 类型中的方法 d(String, String) 不适用于参数 (String, float) @ruchira 抱歉(再次)。 Log.d 首先是一个“标签”,然后是消息的字符串。此“标签”用于过滤目的。例如,假设您有一个名为“MyActivity”的活动,那么您可以使用“MyActivity”标记该活动中的所有日志,并使用此标记过滤您的 logcat。编辑了我的答案。 log.d的头文件是什么?【参考方案2】:Log.d("tag", "Value: " + float);
会转成字符串
【讨论】:
【参考方案3】:Log.d("值:" + Float.toString(myFloatVar));
【讨论】:
谢谢!它起作用了。我唯一需要删除的是“+”号。我使用了语法 Log.d("Value: " Float.toString(myFloatVar)); @ruchira 该表达式的语法无效 @aromero 但是当我删除“+”号时它编译没有给我错误。 @ruchira 不错!重要的是对你有帮助。【参考方案4】:只需使用
Log.d("TAG", String.valueOf(variable_name));
例如,如果 int x=10;那么
Log.d("value of x is ", String.valueOf(x));
给 10
【讨论】:
【参考方案5】:您可以使用 String.format 打印浮点数-
Log.d("TAG", String.format(Locale.US, "Value = %f", x));
【讨论】:
【参考方案6】:您不需要使用任何类型的toString
方法。只需在 Kotlin 中使用转换为模板的字符串连接即可。
import android.util.Log
...
Log.d("my_debug", "my_vars: $my_var1 $my_var2")
【讨论】:
【参考方案7】: int maxLogStringSize = 1000;
for(int i = 0; i <= veryLongString.length() / maxLogStringSize; i++)
int start = i * maxLogStringSize;
int end = (i+1) * maxLogStringSize;
end = end > veryLongString.length() ? veryLongString.length() : end;
Log.i(TAG, veryLongString.substring(start, end));
【讨论】:
以上是关于在 logcat 中打印变量值以在 android 中进行调试的主要内容,如果未能解决你的问题,请参考以下文章
python 使用.format()在Python中打印变量值