赞
踩
在学习别人开发的例子时经常看到Log.v()Log.d()Log.i()Log.w()和Log.e()方法的使用,但是不知道这个log类是用来干什么的,下面我将对这个类进行讲解
android.util.Log继承自java.lang.Object
构造
public final class Logextends Object
通常使用Log.v()、Log.d()、Log.i()、Log.w()和Log.e()方法
v是VERBOSE(冗长):Logcat下调试颜色为黑色的,任何消息都会输出
d是DEBUG(调试):Logcat下输出颜色是蓝色的,仅输出debug调试的意思,但他会输出上层的信息,过滤起来可以通过DDMS的Logcat标签来选择
i是INFO(信息):Logcat下输出为绿色,一般提示性的消息information,它不会输出Log.v和Log.d的信息,但会显示i、w和e的信息
w是WARN(警告):Logcat下为橙色,可以看作为warning警告,一般需要我们注意优化Android代码,同时选择它后还会输出Log.e的信息
e是ERROR(错误):Logcat下为红色,可以想到error错误,这里仅显示红色的错误信息,这些错误就需要我们认真的分析,查看栈的信息了
方法和参数
Log.v(String tag, String msg);
Log.d(String tag, String msg);
Log.i(String tag, String msg);
Log.w(String tag, String msg);
Log.e(String tag, String msg);
参数tag是一个标识,可以是任意字符串,通常可以使用类名+方法名, 主要是用来在查看日志时提供一个筛选条件
参数msg是需要打印的信息
有时候查看我们的手机文件经常看见很多文档像下面这些就是应用运行日记
当我们的程序出现问题崩溃了,我们希望能够收集到出现异常的原因进行分析,所以可以把Log日志保存到一个文件中,放在SD卡程序创建的目录下。也可以在用户联网的情况下,在程序的后台把出异常的Log日志文件上传到服务端,方便程序员进行分析,解决bug。
还有就是使用log来进行调试程序
当程序出现错误时,我们最希望的就是这个Log类能帮我们定位到是哪个类的哪个方法,甚至于是那一行出现了错误。这样就能给我们的调试带来很大的便利。当然自己测试用的log最好是在应用发布前就删除或注释掉,这样是防止别人通过日记破解应用。
下面写个简单logtest
xml布局只是添加一个Button控件
下面是主代码
package com.example.logtest;
import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
public class MainActivity extends Activity implements OnClickListener{
private static final String ACTIVITY_TAG="Logtest";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//通过findViewById找到Button资源
findViewById(R.id.bt).setOnClickListener(this);
//增加事件响应
}
public void onClick(View arg0) {
switch (arg0.getId()) {
case R.id.bt:
Log.v(ACTIVITY_TAG, "This is Verbose.");
Log.d(ACTIVITY_TAG, "This is Debug.");
Log.i(ACTIVITY_TAG, "This is Information");
Log.w(ACTIVITY_TAG, "This is Warnning.");
Log.e(ACTIVITY_TAG, "This is Error.");
break;
default:
break;
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}

效果图
注意:如果msg信息太长,信息可能会被截断
可转载,请保留出处!!!
http://blog.csdn.net/a18076758745/article/details/51145173
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。