- 浏览: 199495 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
guoshijie1990:
写的不错
Android Https通信 -
xiaochi_84:
你好,我想问一下。为什么我在java工程里测试没有问题。但是到 ...
Android导出xls文件 -
Visual_chenpeng:
Android Https通信 -
jasonpeak:
求jasonpeak 写道我的为什么按返回键还是不关闭呢?求破 ...
Android关于ProgressDialog按返回键关闭 -
jasonpeak:
我的为什么按返回键还是不关闭呢?
Android关于ProgressDialog按返回键关闭
首先我说一下,这个代码还是有一些缺陷的,比如只年显示你自己想要输出的日志程序,系统自动生成的日志不能输出;其次里面有一个删除日志的代码也有一个缺陷,就是只能删除7天前的日志,如果8天前,则不能进行删除。可能有些人觉得我这样封装没有任何意义,但是这样的封装可以为你的开发带来极大的便利,比如程序在测试的时候,对方没有开发环境,无法查看日志输出,而你又不在现场,或者你不能重现对方的错误,那么这时候日志输出到文件就显得尤为重要了,其次日志开关可以让你在正式交付时,关闭日志输出。本代码使用十分方便,比如:MyLog.i("OK","OK");
import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import android.util.Log; /** * 带日志文件输入的,又可控开关的日志调试 * * @author BaoHang * @version 1.0 * @data 2012-2-20 */ public class MyLog { private static Boolean MYLOG_SWITCH=true; // 日志文件总开关 private static Boolean MYLOG_WRITE_TO_FILE=true;// 日志写入文件开关 private static char MYLOG_TYPE='v';// 输入日志类型,w代表只输出告警信息等,v代表输出所有信息 private static String MYLOG_PATH_SDCARD_DIR="/sdcard/";// 日志文件在sdcard中的路径 private static int SDCARD_LOG_FILE_SAVE_DAYS = 0;// sd卡中日志文件的最多保存天数 private static String MYLOGFILEName = "Log.txt";// 本类输出的日志文件名称 private static SimpleDateFormat myLogSdf = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss");// 日志的输出格式 private static SimpleDateFormat logfile = new SimpleDateFormat("yyyy-MM-dd");// 日志文件格式 public static void w(String tag, Object msg) { // 警告信息 log(tag, msg.toString(), 'w'); } public static void e(String tag, Object msg) { // 错误信息 log(tag, msg.toString(), 'e'); } public static void d(String tag, Object msg) {// 调试信息 log(tag, msg.toString(), 'd'); } public static void i(String tag, Object msg) {// log(tag, msg.toString(), 'i'); } public static void v(String tag, Object msg) { log(tag, msg.toString(), 'v'); } public static void w(String tag, String text) { log(tag, text, 'w'); } public static void e(String tag, String text) { log(tag, text, 'e'); } public static void d(String tag, String text) { log(tag, text, 'd'); } public static void i(String tag, String text) { log(tag, text, 'i'); } public static void v(String tag, String text) { log(tag, text, 'v'); } /** * 根据tag, msg和等级,输出日志 * * @param tag * @param msg * @param level * @return void * @since v 1.0 */ private static void log(String tag, String msg, char level) { if (MYLOG_SWITCH) { if ('e' == level && ('e' == MYLOG_TYPE || 'v' == MYLOG_TYPE)) { // 输出错误信息 Log.e(tag, msg); } else if ('w' == level && ('w' == MYLOG_TYPE || 'v' == MYLOG_TYPE)) { Log.w(tag, msg); } else if ('d' == level && ('d' == MYLOG_TYPE || 'v' == MYLOG_TYPE)) { Log.d(tag, msg); } else if ('i' == level && ('d' == MYLOG_TYPE || 'v' == MYLOG_TYPE)) { Log.i(tag, msg); } else { Log.v(tag, msg); } if (MYLOG_WRITE_TO_FILE) writeLogtoFile(String.valueOf(level), tag, msg); } } /** * 打开日志文件并写入日志 * * @return * **/ private static void writeLogtoFile(String mylogtype, String tag, String text) {// 新建或打开日志文件 Date nowtime = new Date(); String needWriteFiel = logfile.format(nowtime); String needWriteMessage = myLogSdf.format(nowtime) + " " + mylogtype + " " + tag + " " + text; File file = new File(MYLOG_PATH_SDCARD_DIR, needWriteFiel + MYLOGFILEName); try { FileWriter filerWriter = new FileWriter(file, true);//后面这个参数代表是不是要接上文件中原来的数据,不进行覆盖 BufferedWriter bufWriter = new BufferedWriter(filerWriter); bufWriter.write(needWriteMessage); bufWriter.newLine(); bufWriter.close(); filerWriter.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } /** * 删除制定的日志文件 * */ public static void delFile() {// 删除日志文件 String needDelFiel = logfile.format(getDateBefore()); File file = new File(MYLOG_PATH_SDCARD_DIR, needDelFiel + MYLOGFILEName); if (file.exists()) { file.delete(); } } /** * 得到现在时间前的几天日期,用来得到需要删除的日志文件名 * */ private static Date getDateBefore() { Date nowtime = new Date(); Calendar now = Calendar.getInstance(); now.setTime(nowtime); now.set(Calendar.DATE, now.get(Calendar.DATE) - SDCARD_LOG_FILE_SAVE_DAYS); return now.getTime(); } }
发表评论
-
Android获取设备信息
2012-11-22 00:10 1391转http://blog.csdn.net/gumanr ... -
Android列表索引实现
2012-07-15 10:47 6688最近做一个项目用到了列表索引,所以在网上找了一下,发现一个博客 ... -
Android开发环境搭建(Windows)
2012-07-03 13:37 792什么都不说来,直接下载附件好了,这个图文的不好发布 -
Linux下Android环境搭建
2012-07-03 13:34 1232--以Ubuntu为例 Linux下Android环境 ... -
Android ListView 滑动背景为黑色的解决办法
2012-06-28 22:08 1070转至:http://blog.163.com/zh ... -
Android蓝牙开发
2012-06-26 15:38 1527今天查了一些资料,然后发现一篇文章挺好,关于蓝牙的,原文网址: ... -
Android自定义对话框
2012-06-22 11:36 2503这时我封装的一个对话框工具类 package com. ... -
Android语音采集
2012-06-18 10:55 15588Android端的语音采集主要是调用AudioRecord,首 ... -
Android语音识别
2012-06-18 09:28 2272Android由于有了Google的支持,那么他的语音识别做起 ... -
Android监控
2012-06-08 20:04 1508Android的监控一般都是需要用到Jni的,然后进行NDK编 ... -
Android视频播放
2012-05-24 19:55 1901视频播放优好多种,一种是播放系统可以播放的视频文件,一种是播放 ... -
重写android返回键
2012-05-24 19:23 21911在Activity里面加入下面代码: @Overrid ... -
Android图像处理工具类
2012-04-09 09:37 2520还是最近整理代码、、发现了一个师兄写的图片工具类,感觉还是蛮有 ... -
Android导出xls文件
2012-04-08 15:45 6609整理硬盘的时候找到了这些代码,看了一下,发现还有点用处,所以就 ... -
android的文字跑马灯效果
2012-04-03 21:04 7306今天问了解决文本内容过长的显示问题,而用了一个android自 ... -
Android超级简单的TabView实现
2012-04-03 20:56 7178可能很多人都有想要实现一个导航栏,但是不知道改怎么弄,因为an ... -
ImageView的属性android:scaleType
2012-04-03 20:04 2053ImageView的属性android:scaleType ... -
关于Android程序的全屏显示
2012-04-03 19:53 1011对于Android开发来说,全屏和无标题是我们常用的几行代码, ... -
Android文件下载
2012-03-19 16:45 1367嘿嘿,也不知道什么时候写的代码,清理硬盘的时候发现了,而且还能 ... -
Android视图的截图
2012-03-19 16:38 6897在pc上的截图软件很多,但是android上的比较少,所以就自 ...
相关推荐
// 将日志写入SD卡的myapp.log文件 } } ``` 3. **使用Logger**:现在,你可以在代码中使用Logger进行日志记录了。创建一个Logger实例,然后调用其相应的方法,如debug、info、warn或error: ```java import org....
通常,我们会在外部存储(外部SD卡或内部存储的公共目录)的特定子目录下创建日志文件,以避免污染用户的数据。文件名可以包含时间戳,以便区分不同时间段的日志。例如: ```java String logDir = Environment....
如果应用需要在外部存储(如SD卡)上操作文件,需要在`AndroidManifest.xml`中添加`READ_EXTERNAL_STORAGE`和`WRITE_EXTERNAL_STORAGE`权限。 此外,为了提供更好的用户体验,我们应考虑到异步处理文件操作,可以...
在这个例子中,日志被保存到了SD卡上的logs.txt文件。请注意,为了能在外部存储器写入文件,你需要在AndroidManifest.xml中添加`WRITE_EXTERNAL_STORAGE`权限: ```xml <uses-permission android:name="android....
Android捕获全局异常并写日志保存到sd卡,捕获异常消息后输出这个消息,可避免APP强制退出,抛出NullPointException玩玩哈,捕获全局异常是因为有的异常我们捕获不到,捕获时我们采用同步方法,以免单例多线程环境下...
在Android系统中,文件管理是应用程序开发中必不可少的一部分,尤其是涉及到外部存储,如SD卡时。这个"安卓SD卡文件管理更新信息相关-Android建立文件夹和文件并向文件写入文本的demo.rar"的资源包提供了关于如何在...
然后,初始化`microlog4android`,并设置一个将日志写入SD卡的Handler。以下是一个简单的示例: ```java import org.microlog.Logger; import org.microlog.handler.FileHandler; public class MyApplication ...
6. 为了能够写入SD卡,必须在`AndroidManifest.xml`中添加写外部存储的权限: ```xml <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> ``` 在默认情况下,`Microlog4android`会...
1. **Android权限**:在AndroidManifest.xml文件中,我们需要添加写外部存储的权限,因为我们要将日志信息写入SD卡。添加以下代码: ```xml <uses-permission android:name="android.permission.WRITE_EXTERNAL_...
本文将深入探讨如何在Android中进行文件的写入与读取操作,以及相关工具的使用。 一、Android私有文件夹的结构与访问权限 Android系统为每个应用分配一个私有存储区域,路径通常是 `/data/data/<package_name>/...
总结起来,这个示例教会我们如何在Android应用中自定义日志输出,将其保存到SD卡以便后续分析。这对于远程测试、用户反馈收集或长期的日志监控非常有用。同时,要注意处理可能的异常情况,如SD卡不可用或没有写权限...
"Android异常日志保存"这个Demo提供了一个实用的方法,将应用程序运行时的错误日志保存到设备的外部存储(SD卡)上,以便于开发者进行测试和调试。下面我们将详细探讨这一技术。 1. **Android异常处理基础** 在...
在Android开发中,有时我们需要将应用的运行日志保存到外部存储,比如SD卡上,以便于调试或者问题排查。这个过程涉及到Android系统的文件操作、权限管理以及日志记录库的使用。本篇将详细讲解如何在Android中实现将...
此外,由于Android系统的安全性和隐私政策,使用SD卡存储敏感数据(如用户信息或应用内部数据)可能并不理想。在实际开发中,通常会考虑使用更安全的途径,如数据库、内部存储或云服务来存储和管理异常信息。 总的...
在Android系统中,文件读写是一项基础且重要的操作,它涉及到对SD卡上的文件和应用程序内部资源文件的处理。理解并掌握文件读写是开发Android应用的必要技能,特别是对于存储用户数据、日志记录或者资源加载等场景。...
在Android中,我们可以创建一个文件并使用`FileOutputStream`和`BufferedWriter`等类将日志写入文件。确保在写入前获取了必要的文件读写权限,并处理可能的异常。同时,为了提高效率,可以定期将缓存的日志信息批量...
然后,可以使用以下方法将String对象写入SD卡上的TXT文件: ```java public static void saveStringToTXT(String str, String filePath) { try { // 检查SD卡是否挂载 if (Environment.getExternalStorageState...
如果想将日志保存到SD卡,需要检查外部存储写入权限,并在XML配置文件中使用不同的文件路径: ```xml <file>/storage/emulated/0/yourApp/log.txt ... ``` 这里的`/storage/emulated/0/yourApp/log.txt`是SD卡...
在Android开发中,文件操作是不可或缺的一部分,无论是存储用户数据、日志,还是保存应用程序的配置文件,都需要对文件进行读写操作。本教程将针对Android中的文件操作进行详细介绍,帮助新手快速掌握这一基础技能。...
本文将详细介绍一个Android日志文件的读写工具类,帮助开发者更方便地进行此类操作。这个工具类包括文件的写入和删除功能,以适应不同的应用场景。 首先,我们来了解如何在Android中实现日志文件的写入。在...