Android Studio 单刷《第一行代码》系列 02 —— 日志工具 LogCat

前情提要(Previously)

本系列将使用 Android Studio 将《第一行代码》(书中讲解案例使用Eclipse)刷一遍,旨在为想入坑 Android 开发,并选择 Android Studio 做为开发 IDE 的同窗开路。
PS:其实我就是现学现卖,但愿我能坚持刷完。html

在第一战中,咱们建立了第一个App project, Hello World,并分析了项目结构,及运行原理。android

连接在此:Android Studio 单刷《第一行代码》系列 01 —— 第一战 HelloWorld正则表达式

摘要(Abstract)

必备技能,使用日志工具 LogCat,并尝试解决真机调试没有日志的问题。app

日志工具(LogCat)

日志在任何项目的开发过程当中都会起到很是重要的做用,在 Android 项目中若是你想要查看日志则必需要使用 LogCat 工具。ide

在 Android Studio 最下方的 Status Bar 中找到 6:Android,点击她。以下图工具

6:Android

LogCat 出现了,以下图测试

LogCat

  1. 这里选择 Devices,固然通常来讲不须要选择,若是只链接了一个设备的话。
  2. 这里选择 Log level,日志级别。包括:Verbose、Debug、Info、Warn、Error、Assert。以上级别依次升高。
  3. 这里选择过滤器,默认会自动生成一个过滤条件是 Package name 是项目包名的过滤器。

使用 LogCat

Android 中的日志工具类是 Log(android.util.Log),提供了以下的几个方法供咱们打印日志。调试

  1. Log.v() 对应 Verbose
  2. Log.d() 对应 Debug
  3. Log.i() 对应 Info
  4. Log.w() 对应 Warn
  5. Log.e() 对应 Error
  6. Log.wtf() 在输出日志的同时,会把此处代码此时的执行路径(调用栈)打印出来。

介绍完毕,咱们来演戏一下吧。打开 HelloWorldActivity,在 onCreat()方法中添加一行打印日志的语句,为了让日志明显一点我加了一些下划线,以下所示:日志

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_hello_world);
    Log.d("HelloWorldActivity","______________onCreate execute______________");
}

Log.d() 方法中传入了两个参数,第一个参数是 tag,通常传入当前的类名就好,主要用于对打印信息进行过滤。第二个参数是 msg,即想要打印的具体内容。code

如今从新运行一下项目,点击工具栏中的绿色小箭头,或者按 Shift+F10。等程序运行完毕,使用模拟器的战友可能已经能看到日志了,以下图

log

使用真机的战友,可能看到的仍是空荡荡的LogCat。须要作这么一件事,菜单栏 Tools → Android → Enable ADB Integration 把这个勾上,而后再次运行。

此次应该能看到日志了吧?看看能不能找到咱们想要打印出来日志信息。过滤器中必定要选中 app:com.xxxx.helloworld 哦。若是有日志,可是找不到咱们想要打印的日志 HelloWorldActivity: ______________onCreate execute______________,那么恭喜你,你用的真机貌似跟个人同样比较高端,是否是有什么黑科技。

咱们来尝试解决这个问题。

  1. 手机的开发人员选项打开了么,其中的 USB 调试打开了么?搞定他们并从新运行,是否能找到咱们的日志?否,转到 2。
  2. 日志中是否有这样 could not disable core file generation for pid 3963: Operation not permitted 的信息么? 是,转到 3;否,那我也不知道怎么搞,或者你能够把日志贴到评论中我看看。
  3. 是华为手机么?是,转到 4;否,你能够参考 4 本身 Google Baidu 一下。
  4. 在拨号界面输入:*#*#2846579#*#* 进入测试菜单界面,而后
    Project Menu → 后台设置 → LOG设置
    LOG 开关 → LOG 打开        LOG 级别设置 → VERBOSE
    Dump&Log → 所有选中
    重启手机,重启 Android Studio。
    PS:根据系统版本的不一样,可能会有些许差别。

重启完毕,打开 Android Studio,运行项目,这下应该能找到咱们的日志了。若是还没找到,对不起洗洗睡吧,我只能帮到这儿了。(或者你能够换个手机)

定制过滤器(Filter)

点击过滤器那个下拉框,选择 Edit Filter Configuration,在弹出的对话框中点击左上角的加号新建立一个 Filter。以下图

filter

含义以下:

  • Name:Filter 名称
  • by Log Tag: 经过日志的 tag 过滤
  • by Log Message:经过日志的 msg 内容过滤
  • by Package Name:经过包名过滤
  • by PID:经过PID过滤
  • by Log Level:经过日志等级过滤
  • regex:表示可使用正则表达式进行匹配

以上过滤条件能够组合。

我建了一个data的过滤器,过滤条件是 tag 等于 data。将 Filter 选择为 data,咱们的日志不见了,由于匹配不到 tag 等于 data 的日志。

如今去把咱们在 onCreate() 方法中的日志的 tag 改成 data。以下所示:

Log.d("data","______________onCreate execute______________");

而后从新运行,将 Filter 选择为 data,咱们的日志出现了。固然还可能会有一些奇奇怪怪的日志也出现了,仔细看看 tag 中都包含有 data。

抑制不住的好奇心

看看这个 Android Studio 最下方的 Status Bar,咱们找到 LogCat 的地方,以下图

6:Android

难道大家很差奇为何 Android 前面有个 6 么?难道是由于用了 LogCat 你的 Android 开发水平就会 666666666?

无论发生什么事件,我相信真相只有一个,以下图:

6:Android

OK,收工了。

其它(Miscellaneous)

尽管我试图在本文中尽可能完整的进行描述,但受限于篇幅和个人我的水平,本文不免有所遗漏,欢迎在评论中指出。
若是您以为阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写做动力!

关于做者(About Me)

addict
原文连接:http://www.cnblogs.com/DebugLife/p/4343570.html

本文谢绝转载,如需转载需征得做者本人赞成,谢谢。

相关文章
相关标签/搜索