安卓开发技巧

Android开发中LogCat工具的使用

LogCat是Android中一个命令行工具,可以用于得到程序的log信息,本附录讲解其使用方法和其中的一些技巧。

1.使用方法

LogCat使用方法如下所示:

LogCat [options] [filterspecs]

LogCat的选项包括:

-s                    设置过滤器,如指定 ‘*:s‘.

-f <filename>   输出到文件,默认情况是标准输出。

-r [<kbytes>]   Rotate log every kbytes. (16 if unspecified). Requires –f。

-n <count>      Sets max number of rotated logs to <count>, default 4。

-v <format>     设置log的打印格式,  <format> 是下面的一种:

brief process tag thread raw time threadtime long。

-c                   清除所有log并退出。

-d                   得到所有log并退出 (不阻塞)。

-g                   得到环形缓冲区的大小并退出。

-b <buffer>     请求不同的环形缓冲区(‘main‘ (默认), ‘radio‘, ‘events‘)。

-B                   输出log到二进制中。

过滤器的格式是一个这样的串:

<tag>[:priority]

其中 <tag> 表示log的component, tag (或者使用 * 表示所有) , priority 如下所示:

V    Verbose

D    Debug

I    Info

W   Warn

E    Error

F    Fatal

S    Silent

事实上LogCat的功能是由Android的类android.util.Log决定的,在程序中log的使用方法如下所示:

Log.v() -------------------- VERBOSE

Log.d() -------------------- DEBUG

Log.i() -------------------- INFO

Log.w() -------------------- WARN

Log.e() -------------------- ERROR

以上log的级别依次升高,Debug信息应当只存在于开发中,INFO、 WARN、ERROR这3种log将出现在发布版本中。

对于Java类,可以声明一个字符串常量TAG,LogCat可以根据它来区分不同的log,例如,在计算器(Calculator)的类中,定义如下所示:

public class Calculator extends Activity {

/* ...... */

private static final String LOG_TAG = "Calculator";

private static final boolean DEBUG  = false;

private static final boolean LOG_ENABLED = DEBUG ? Config.LOGD : Config.LOGV;

/* ...... */

由此,所有在Calculator中使用的log,均以“Calculator”为开头。

安卓开发技巧

时间: 2024-08-28 12:35:41

安卓开发技巧的相关文章

delphi XE5下安卓开发技巧

delphi XE5下安卓开发技巧 一.手机快捷方式显示中文名称 project->options->Version Info-label(改成需要显示的中文名即可),但是需要安装到安卓手机才可以(IOS的没有试过) 二.使用Sqllite存储中文 SqlLite中,字段类型要设置为nvarchar,保存时,有两种方式1)用Post时,对中文的字段要进行UTF8转换先用一个string变量转换一下(不转换的话Win32编译没有问题,Android编译时出错)str_temp:=UTF8ENCO

安卓开发技巧二:自定义日志工具类XLog的实现

我们在开发过程中,打印日志是必不可少的一个调试环节,然而,直接使用系统自带的Log日志类,并不能满足我们实际项目的需求:假如我们现在在开发一款比较大的项目,用到打印日志的地方肯定特别多,等到真正上线的时候,我们是不希望日志依旧能够打印出的,原因很简单,不仅多少有些影响效率,更有可能导致信息的泄露,所以我们就需要把所有的日志打印语句全部取消掉,难道我们真的一个一个的去删除这些打印日志的语句吗?项目那么大,就是想删除,也得耗费大量的时间和精力!大家不用怕,笔者这就给大家带来一款控制线上版本和线下版本

安卓开发技巧一:深入理解Android布局中Layout_weight的属性

今天开始将要为大家介绍一些安卓开发过程将要用到的一些技巧,这些技巧全部来自网络搜集,或者自己在企业做项目的时候总结出来的,利用这些技巧将会对我们开发带来非常方便的便捷性. 先来记录一下这一段时间的技巧目录,方便大家以后方便查阅(大概有不到三十种的技巧总结,大概每周分享两个技巧,笔者将尽可能写的详细,以及提供实例源码): 安卓开发技巧一:深入理解Android布局中Layout_weight的属性 安卓开发技巧二:自定义日志工具类 安卓开发技巧三:Activity的启动模式 安卓开发技巧四:分享一

安卓开发技巧三:知晓当前是哪一个活动

如何根据当前的界面判断出该界面属于哪一个活动呢? 我们在研发的过程中,大多的时候都会去接手其他人写的代码,我们为了修改某一个页面的一些非常简单的东西,但是却不知道该界面属于哪一个活动,因此我们也就无从修改.只好慢慢的找,这样效率不仅低,而且感觉特没劲,因此该技巧就到了用武之地了,下面请看: public class BaseActivity extends Activity{ private String TAG = "BaseActivity"; @Override protecte

安卓开发技巧四:手机分辨率处理工具类

/** * * @Description:手机分辨率处理工具类 * @author: * @see: * @since: * @copyright © * @Date:2014年8月13日 */ public class DensityUtil { /** * 根据手机的分辨率从 dp 的单位 转成为 px(像素) */ public static int dip2px(Context context, float dpValue) { final float scale = context.g

《安卓开发必知的50个技巧》读书笔记

记录一下看<安卓开发必知的50个技巧>觉得有用的一下技巧. include标签使用注意事项 如果想在标签中覆盖被包含布局所指定的任何android:layout_*属性,必须在标签中同时指定android:layout_width和android:layout_height属性,我们可以通过指定被包含布局的layout_width和layout_height属性都为0dp,这样做的目的是由被包含布局的使用者在标签中指定layout_width和layout_height属性,如果使用者不指定这

安卓开发必须收藏的网站

Bookmarks 干货链接 Android源码下载 cleopard的资源 - 下载频道 - CSDN.NET 2014年下载频道人气资源大集合,免积分!-CSDN论坛-CSDN.NET-中国最大的IT技术社区 新鲜干货来了 2015年1.2.3.4.5月最热下载资源大集合-CSDN论坛-CSDN.NET-中国最大的IT技术社区 新鲜干货来袭 2015年5月最热资源大集合-CSDN论坛-CSDN.NET-中国最大的IT技术社区 2015年6月下载频道最热资源汇总-CSDN论坛-CSDN.NET

web app开发技巧总结

Web APP开发技巧总结 一.META/LINK相关: 1.百度禁止转码 通过百度手机打开网页时,百度可能会对你的网页进行转码,往你页面贴上它的广告,非常之恶心.不过我们可以通过这个meta标签来禁止它: <meta http-equiv="Cache-Control" content="no-siteapp" /> 相关链接:SiteApp 转码声明 2.添加到主屏后的标题(IOS) <meta name="apple-mobile-

安卓开发中内存问题分析(一)工具篇

内存泄漏和内存溢出是安卓开发中经常碰到的问题,如何能够快速有效的发现并追踪内存泄漏或者内存溢出的源头,是每个开发者都需要掌握的技巧,今天我给大家带来常见的内存分析工具使用方法,希望对大家今后的开发带来帮助. 使用Eclipse分析应用内存使用情况 具体步骤如下: 1.启动eclipse后,切换到DDMS透视图,并通过Window-ShowView打开Devices视图.Heap视图 2.连接手机或者模拟器后,在DDMS的Devices视图中将会显示手机设备或模拟器的序列号,以及设备中正在运行的部