本人菜鸟一枚,极大发挥了搜索的功能。现记录一番,以备后患。

用断点真的很烦,因为之前写linux的时候,就是用最蠢但是也是挺有帮助的printf()来进行调试。

其实用Log输出日志的原理也是差不多的,都是打印想输出的东西,看看编译器执行到哪个位置了。

为什么要用Log呢?

--Android Studio不能用print或者println来输出,本人亲自测试了(网上说println可以,但是我的还是不行,只能尝试Log方法了,然后一下子就调试成功了)

基本知识

1、Log需要导入的包为:import android.util.Log

2、Log.v 的调试颜色为黑色的,任何消息都会输出,这里的v代表verbose(冗长,啰嗦),平时使用就是Log.v("随便一个字符串用作标签","随便一个字符串用作输出的东西")。

3、Log.d的输出颜色是蓝色的,仅输出debug调试的意思,它会输出上层的信息,过滤起来可以通过DDMS的Logcat标签来选择,这个用得就比较多了。

4、Log.i的输出为绿色,一般提示性的消息information,它不会输出Log.v和Log.d的信息,但会显示i、w和e的信息。

5、Log.w的意思为橙色,可以看作为warning警告,一般需要我们注意优化Android代码,同时选择它后还会输出Log.e的信息。

6、Log.e为红色,可以想到error错误,这里仅显示红色的错误信息,这些错误就需要我们认真的分析,查看栈的信息了。

用法简单介绍

1.如下,一个简单函数(用kotlin写的一个函数)

 fun showDialog(view: View) {
Log.d("TAG","***********1")//这里是日志测试1
myDialog= MyDialog(this, R.layout.create_user_dialog, onClickListener)
Log.d("TAG","***********4")//这里是日志测试4
myDialog?.show()
} val onClickListener = object : View.OnClickListener { override fun onClick(v: View?) { Log.d("TAG","***********2")//这里是日志测试2
when (v?.getId()) { R.id.btn_save -> { val name = myDialog?.text_name?.getText().toString().trim()
val mobile = myDialog?.text_mobile?.getText().toString().trim()
val info = myDialog?.text_info?.getText().toString().trim() println(name + "——" + mobile + "——" + info)
}
}
Log.d("TAG","***********3")//这里日志测试3
}

  

2.点击左下角的Android Monitor,然后看到有一个logcat,就是主要观察点了

可以查看到Log输出信息:********1等信息,通过这些信息可以判断函数怎么执行的。

3.还可以把logcat窗口拖出来,方便查看。

Android Studio的Log日志调试的更多相关文章

  1. LogBoy 之Android Studio控制台输出日志太多清空

    在使用Android studio的时候,有时候会由于手机输出的日志太多,导致控制台瞬间清空,尤其是遇见一些FATAL Exception时候,瞬间控制台就被清空了,根本捕获不到,导致其他调试的日志也 ...

  2. .Net程序员之不学Java做安卓开发:Android Studio中的即时调试窗口

    对学.Net的人来说,JAVA开发是一场噩梦. .net中的即时窗口,调试时直接在里面写代码,对程序中的各种方法/属性进行调用,很方便. Android Studio中找了好久,参考如下网址,也有类似 ...

  3. Android Studio 连接真机调试

    以小米4为例,先将手机通过USB连接电脑,在设备管理器中确保驱动安装正确. 对手机的设置 1.设置手机为开发者模式(设置->关于手机->连续点击MIUI版本--开启成功) 2.在更多设置中 ...

  4. Mac电脑使用Android Studio进行真机调试

    第一步: 为mac电脑配置 adb 命令的环境变量,分为2小步 1.找到 Android Studio 为你安装的 SDK : 打开电脑中 Android studio 的工具的软件,在启动 Andr ...

  5. Android Studio连接真机调试

    1.安装配置Android studio2.2 2.下载手机驱动或者安装手机助手(360手机助手) 3.用手机助手连接用于调试的手机 注意手机要开启开发者模式->允许USB调试 4.查看手机连接 ...

  6. 关于 Android Studio 如何连接手机调试

    第一步:设置-> 打开开发者选项,以及USB调试模式 第二步:关于手机->版本号,点击版本号会弹出提示:已经处于开发者模式,无需操作 第三步:设置->在搜索框中输入HDB,此时会弹出 ...

  7. cordova开发插件,并在android studio中开发、调试

    之前用过cordova Lib包装H5页面,自己写插件,但做法是野路子,不符合cordova插件的开发思路,这次项目又需要包装H5页面,同时需要自定义插件.所以又折腾了一次cordova自定义插件. ...

  8. Android studio关于真机调试DDMS中的data文件夹打不开的解决方法

    由于做开发的时候想打开查看数据库存放的内容,在eclipse中数据库文件默认就在/data/data/应用包名/databases/数据库名,而用Android studio打开DDMS下面找时发现点 ...

  9. android studio上代码编译调试中遇到的一些异常记录

    下面是记录的在平时代码编写或编译时的一些异常,答案有自己摸索出来的,也有参考其他程序猿朋友的,参考文章过多,就不一一贴出来了. ① E/JavaBinder: !!! FAILED BINDER TR ...

随机推荐

  1. Eclipse Action

    Interface IAction package org.eclipse.jface.action; import org.eclipse.core.commands.IHandlerAttribu ...

  2. SpringBoot常用应用程序属性

    参考地址: https://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.h ...

  3. VS 打开时默认使用管理员权限

    1. 打开VS的安装目录,找到devenv.exe,右键,选择“兼容性疑难解答”. 2. 选择“疑难解答程序” 3. 选择“该程序需要附加权限” 4. 确认用户帐户控制后,点击测试程序,不然这个对话框 ...

  4. linux上传、下载文件rz、sz命令

    1.介绍 sz命令是利用ZModem协议来从linux服务器传送文件到本地,一次可以传送一个或多个文件.相对应的从本地上传文件到Linux服务器,可以使用rz命令. 2.参数说明 -a,以文本方式传输 ...

  5. String Painter, Chengdu 2008, LA4394

    题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_ ...

  6. IOS SVN源代码管理工具使用

    01.    源代码管理工具概述(PPT)===================================================* 源代码管理工具的作用:# 能追踪一个项目从诞生一直到 ...

  7. 页面文本超出后CSS实现隐藏的方法

    text-overflow: ellipsis !important; white-space: nowrap !important; overflow: hidden !important; dis ...

  8. robotframework实战三--自定义关键字

    在rf的实战1中,我的登录获取验证码就使用了自定义关键字,具体怎么做的,如下 1.新建文件夹 新建一个文件夹,我的MyLibrary,并且存放在site-packages下 2.编写代码 在pytho ...

  9. LA 3635 派

    题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_ ...

  10. python web应用--web框架(三)

    了解了WSGI框架,我们发现:其实一个Web App,就是写一个WSGI的处理函数,针对每个HTTP请求进行响应. 但是如何处理HTTP请求不是问题,问题是如何处理100个不同的URL. 每一个URL ...