Android程序调试
1. 使用Log.d方法输出Debug日志信息。
Log.d方法用来输出DEBUG故障日志信息,该方法有两种重载形式,其中开发人员经常用到的重载形式语法如下:
public static int d(String tag, String msg)
- tag:String字符串,用来标识日志信息,它通常指定为可能出现Debug的类或者Activity的名称。
- msg:String字符串,表示要输出的字符串信息。
下面的实例,单击Android界面中的Button按钮,将会在LogCat管理器中看到Debug日志信息。
1. 修改新建项目下的res/layout目录下的布局文件main.xml,在其中添加一个Button组件,主要代码如下:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.tiaoshi.MainActivity" > <TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
<Button
android:id="@+id/btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Debug日志" /> </LinearLayout>
2. 打开Activity文件,首先根据id获取布局文件中的Button组件,然后为该组件设置单击监听事件,在监听事件中,使用Log.d方法输出Debug日志信息,代码如下:
Button btn = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
this.btn = (Button) findViewById(R.id.btn); //获取Button组件
btn.setOnClickListener(new OnClickListener(){ //设置监听事件 @Override
public void onClick(View arg0) {
Log.d("DEBUG", "Debug日志信息"); //输出Debug日志信息
} });
}
3. 结果如下图所示

2. 使用Log.e方法输出错误信息
Log.e方法用来输出ERROR错误日志信息,该方法有两种重载形式,其中开发人员经常用到的重载形式语法如下:
public static int e(String tag, String msg)
- tag:String字符串,用来标识日志信息,它通常指定为可能出现错误的类或者Activity的名称。
- msg:String字符串,表示要输出的字符串信息。
方法同上。
3. 使用Log.i方法输出程序日志信息
Log.i方法用来输出INFO程序日志信息,该方法有两种重载形式,其中开发人员经常用到的重载形式语法如下:
public static int i(String tag, String msg)
- tag:String字符串,用来标识日志信息,它通常指定为类或者Activity的名称。
- msg:String字符串,表示要输出的字符串信息。
4. 使用Log.v方法输出冗余日志信息
Log.v方法用来输出VERBOSE冗余日志信息,该方法有两种重载形式,其中开发人员经常用到的重载形式语法如下:
public static int v(String tag, String msg)
- tag:String字符串,用来标识日志信息,它通常指定为可能出现冗余的类或者Activity的名称。
- msg:String字符串,表示要输出的字符串信息。
5. 使用Log.w方法输出警告日志信息
Log.w方法用来输出WARN警告日志信息,该方法有3种重载形式,其中开发人员经常用到的重载形式语法如下:
public static int w(String tag, String msg)
- tag:String字符串,用来标识日志信息,它通常指定为可能出现警告的类或者Activity的名称。
- msg:String字符串,表示要输出的字符串信息。
Android程序调试的更多相关文章
- Android 程序调试技巧汇总
1.Android Studio 引入一个项目作为library https://www.cnblogs.com/lixiangyang521/p/7453322.html 2.Android Stu ...
- android学习笔记(9)android程序调试学习
相应若水老师的第十四课 一,Log日志输出 Log.v(tag,message); //verbose模式,打印最具体的日志 Log.d(tag,message); // ...
- 使用wifi连接eclipse进行android程序调试
首先手机必须是root过的.能够使用百度一键root工具. 然后,在手机中打开这个终端(terminal)应用,输入例如以下命令: su setprop service ...
- 57. Android之程序调试LogCat (转)
无论什么样的程序开发过程中,出现错误都是不可避免的,一般情况下,语法错误会被开发环境检测到,并能及时的提示我们错误的位置以及修改的方法,但是逻辑错误就不是那么容易被发现了,通常逻辑错误的定位和分析是一 ...
- 开启Android Apk调试与备份选项的Xposed模块的编写
本文博客地址:https://blog.csdn.net/QQ1084283172/article/details/80963610 在进行Android应用程序逆向分析的时候,经常需要进行Andro ...
- 使用Monitor调试Unity3D Android程序日志输出(非DDMS和ADB)
使用Monitor调试Unity3D Android程序日志输出(非DDMS和ADB) http://www.cnblogs.com/mrkelly/p/4015245.html 以往调试Androi ...
- 真机在wifi下调试android程序
大家好,最近在学习android程序由于手机接口问题,调试程序的时候老是接触不良而不能正常调试,因此感到相当苦恼,于是在网上查找无线调试android的方法.经过研究和尝试现已成功无线调试程序,方法分 ...
- 在ubuntu下真机调试android程序出现设备没有访问权限
今天把android的开发环境从windows平台切换到了ubuntu上. java jdk android-adt android-ndk都下好,环境变量都配好之后, 在调试程序的时候,出现设备没有 ...
- [安卓][转]Android eclipse中程序调试
一:断点调试 用eclipse开发android程序的时,跟VS一样是可以断点单步调试的.步骤如下.1 设置断点:在编码窗体的左边框上用鼠标双击,或者右键点击菜单,选择 Toggle Breakpoi ...
随机推荐
- 【58沈剑架构系列】主从DB与cache一致性
本文主要讨论这么几个问题: (1)数据库主从延时为何会导致缓存数据不一致 (2)优化思路与方案 一.需求缘起 上一篇<缓存架构设计细节二三事>中有一个小优化点,在只有主库时,通过“串行化” ...
- python生成器 协程
生成器 参考文章: 协程 gevent 生成器进阶 看个例子: def gg(): n='' i=0 while True: n=yield i #通过send传入到n if not n: pa ...
- 如何才能通俗易懂地解释JS中的的"闭包"?
看了知乎上的话题 如何才能通俗易懂的解释javascript里面的‘闭包’?,受到一些启发,因此结合实例将回答中几个精要的答案做一个简单的分析以便加深理解. 1. "闭包就是跨作用域访问变量 ...
- Redis实战(一)
一.准备 Redis 是一个开源的使用ANSI C 语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value 数据库.Redis的出现,很大程度补偿了memcached这类key/valu ...
- sublime text3 如何在多行前面快速插入序号
sublime text3 如何在多行前面快速插入序号 1.需要安装InsertNums插件 首选项 -> Package Control -> Install Package -> ...
- 基于原生JS的jsonp方法的实现
基于原生JS的jsonp方法的实现 jsonp,相信大家并不陌生,是在js异步请求中解决跨域的方法之一,原理很简单,有不清楚的同学可以google下,这里就补详细解释了.在Jquery库中,jQuer ...
- 井字棋游戏升级版 - TopTicTacToe项目 简介
一.游戏简介 井字棋是一款世界闻名的游戏,不用我说,你一定知道它的游戏规则. 这款游戏简单易学,玩起来很有意思,不过已经证明出这款游戏如果两个玩家都足够聪明的话, 是很容易无法分出胜负的,即我们得到的 ...
- 洛谷P1345 [USACO5.4]奶牛的电信 [最小割]
题目传送门 奶牛的电信 题目描述 农夫约翰的奶牛们喜欢通过电邮保持联系,于是她们建立了一个奶牛电脑网络,以便互相交流.这些机器用如下的方式发送电邮:如果存在一个由c台电脑组成的序列a1,a2,..., ...
- spring配置多数据源——mybatis
这篇文章是配置mybatis多数据源文章,如果是hibernate的话也是没什么影响,配置都是差不多的. 在这家公司上班差不多一星期了,不小心点开配置文件一看这项目配置了两个数据源,蒙了. 之后上网查 ...
- iOS 9音频应用播放音频之ios9音频基本功能
iOS 9音频应用播放音频之ios9音频基本功能 在iOS 9音频应用开发中最为简单和常用的就是AVFoundation框架中的AVAudioPlayer类.虽然AVAudioPlayer类不能播放网 ...