13、显示管理和日志.avi

主要是介绍了两个工具类。

/**

* 提示信息的管理

*/

public class PromptManager {

private static ProgressDialog dialog;

public static void showProgressDialog(Context context) {

dialog = new ProgressDialog(context);

dialog.setIcon(R.drawable.icon);

dialog.setTitle(R.string.app_name);

dialog.setMessage("请等候,数据加载中……");

dialog.show();

}

public static void closeProgressDialog() {

if (dialog != null && dialog.isShowing()) {

dialog.dismiss();

}

}

/**

* 当判断当前手机没有网络时使用

*

* @param context

*/

public static void showNoNetWork(final Context context) {

AlertDialog.Builder builder = new Builder(context);

builder.setIcon(R.drawable.icon)//

.setTitle(R.string.app_name)//

.setMessage("当前无网络").setPositiveButton("设置", new OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

// 跳转到系统的网络设置界面

Intent intent = new Intent();

intent.setClassName("com.android.settings", "com.android.settings.WirelessSettings");

context.startActivity(intent);

}

}).setNegativeButton("知道了", null).show();

}

/**

* 退出系统

*

* @param context

*/

public static void showExitSystem(Context context) {

AlertDialog.Builder builder = new Builder(context);

builder.setIcon(R.drawable.icon)//

.setTitle(R.string.app_name)//

.setMessage("是否退出应用").setPositiveButton("确定", new OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

android.os.Process.killProcess(android.os.Process.myPid());

// 多个Activity——懒人听书:没有彻底退出应用

// 将所有用到的Activity都存起来,获取全部,干掉

// BaseActivity——onCreated——放到容器中

}

})//

.setNegativeButton("取消", null)//

.show();

}

/**

* 显示错误提示框

*

* @param context

* @param msg

*/

public static void showErrorDialog(Context context, String msg) {

new AlertDialog.Builder(context)//

.setIcon(R.drawable.icon)//

.setTitle(R.string.app_name)//

.setMessage(msg)//

.setNegativeButton(context.getString(R.string.is_positive), null)//

.show();

}

public static void showToast(Context context, String msg) {

Toast.makeText(context, msg, Toast.LENGTH_LONG).show();

}

public static void showToast(Context context, int msgResId) {

Toast.makeText(context, msgResId, Toast.LENGTH_LONG).show();

}

// 当测试阶段时true

private static final boolean isShow = true;

/**

* 测试用 在正式投入市场:删

*

* @param context

* @param msg

*/

public static void showToastTest(Context context, String msg) {

if (isShow) {

Toast.makeText(context, msg, Toast.LENGTH_LONG).show();

}

}

}

/**

* 日志记录

*

*/

public class LogUtil {

/**

* 开发阶段

*/

private static final int DEVELOP = 0;

/**

* 内部测试阶段

*/

private static final int DEBUG = 1;

/**

* 公开测试

*/

private static final int BATE = 2;

/**

* 正式版

*/

private static final int RELEASE = 3;

/**

* 当前阶段标示

*/

private static int currentStage = DEVELOP;

private static String path;

private static File file;

private static FileOutputStream outputStream;

private static String pattern = "yyyy-MM-dd HH:mm:ss";

static {

if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {

File externalStorageDirectory = Environment.getExternalStorageDirectory();

path = externalStorageDirectory.getAbsolutePath() + "/zcw/";

File directory = new File(path);

if (!directory.exists()) {

directory.mkdirs();

}

file = new File(new File(path), "log.txt");

android.util.Log.i("SDCAEDTAG", path);

try {

outputStream = new FileOutputStream(file, true);

} catch (FileNotFoundException e) {

}

} else {

}

}

public static void info(String msg) {

info(LogUtil.class, msg);

}

public static void info(Class clazz, String msg) {

switch (currentStage) {

case DEVELOP:

// 控制台输出

Log.i(clazz.getSimpleName(), msg);

break;

case DEBUG:

// 在应用下面创建目录存放日志

break;

case BATE:

// 写日志到sdcard

Date date = new Date();

String time = DateFormatUtils.format(date, pattern);

if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {

if (outputStream != null) {

try {

outputStream.write(time.getBytes());

String className = "";

if (clazz != null) {

className = clazz.getSimpleName();

}

outputStream.write(("    " + className + "\r\n").getBytes());

outputStream.write(msg.getBytes());

outputStream.write("\r\n".getBytes());

outputStream.flush();

} catch (IOException e) {

}

} else {

android.util.Log.i("SDCAEDTAG", "file is null");

}

}

break;

case RELEASE:

// 一般不做日志记录

break;

}

}

}

来自为知笔记(Wiz)

时间: 2024-10-10 21:07:39

13、显示管理和日志.avi的相关文章

python实现websocket服务器,可以在web实时显示远程服务器日志

一.开始的话 使用python简单的实现websocket服务器,可以在浏览器上实时显示远程服务器的日志信息. 之前做了一个web版的发布系统,但没实现在线看日志,每次发布版本后,都需要登录到服务器上查看日志,非常麻烦,为了偷懒,能在页面点几下按钮完成工作,所以这几天查找了这方面的资料,实现了这个功能,瞬间觉的看日志什么的,太方便了,以后也可以给开发们查日志,再也不用麻烦运维了,废话少说,先看效果吧. 二.代码 在实现这功能前,看过别人的代码,发现很多都是只能在web上显示本地的日志,不能看远程

《linux 内核完全剖析》chapter 13 内存管理 (不含swap.c)

内存管理(memory.c 和swap.s 部分) "倒着看" 先看memory management,很明显,前面各种阻力,都是因为涉及内存管理.不先看这个,我估计前面看了也是白看 我估算着理论打基础砸了差不多一个星期的时间在memory management上面了...感觉很有收获,是时候用实践(code)印证理论了! <modern operating system>讲内存管理那一章 http://blog.csdn.net/cinmyheart/article/de

使用logrotate管理nginx日志文件

本文转载自:http://linux008.blog.51cto.com/2837805/555829 描述:linux日志文件如果不定期清理,会填满整个磁盘.这样会很危险,因此日志管理是系统管理员日常工作之一.我们可以使用"logrotate"来管理linux日志文件,它可以实现日志的自动滚动,日志归档等功能.下面以nginx日志文件来讲解下logrotate的用法. 配置:1.在/etc/logrotate.d目录下创建一个nginx的配置文件"nginx"配置

Oracle 11g R2 管理归档日志文件

oracle数据库有两种运行方式:归档(ARCHIVELOG)方式和非归档(NO ARCHIVELOG)方式.在非归档模式下,日志切换时直接覆盖以前的重做日志文件,不产生归档日志.数据库在归档方式下运行,在日志切换后,ARCH进程会对已写满的重做日志文件进行存档,默认情况下,oracle采用非归档模式下运行,主要因为归档方式会给系统带来一定的性能问题.只有当数据库运行在归档方式时,ARCH进程才存在.ARCH进程是oracle的可选后台进程,将日志存档,以便保存对数据库的所有更改.这样即使在数据

linux下的系统服务管理及日志管理

1.ntsysv服务配置工具 用来配置哪些服务开启或关闭,图形界面,使用键盘来操作. 安装ntsysv服务的命令:yum install -y ntsysv 直接运行命令ntsysv 弹出配置界面: 按键盘的上下方向键进行移动,按空格键选择,中括号内显示有 * 表示开启,否则不开启.通过这个工具可以看到目前系统中的所有服务.建议除“crond,iptables,network,sshd,syslog,irqbalance,sedmail,microcode_ctl”外其他服务全部停掉.按tab键

Linux系统服务管理 ntsysv,日志, exec,xargs , screen ,curl,

                linux系统服务管理 1. Linux系统服务管理 工具ntsysv 类似图形界面管理工具,如果没有该命令使用安装 安装:yum install -y ntsysv  常用服务:crond, iptables, network, sshd, syslog, irqbalance, sendmail, microcode_ctl chkconfig --list:列出所的服务以及在每个级别是否开启 chkconfig --add/del servicename 关

linux-RAID磁盘阵列、进程管理、日志管理、systemctl控制

RAID磁盘阵列 廉价冗余磁盘阵列RAID – Redundant Arrays of Inexpensive Disks – 通过硬件/软件技术,将多个较小/低速的磁盘整合成一个大磁盘 – 阵列的价值:提升I/O效率.硬件级别的数据冗余 – 不同RAID级别的功能.特性各不相同 RAID 0,条带模式(至少要有两块磁盘) – 同一个文档分散存放在不同磁盘 – 并行写入以提高效率 RAID 1,镜像模式(至少要有两块磁盘) – 一个文档复制成多份,分别写入不同磁盘 – 多份拷贝提高可靠性,效率无

日志管理-rsyslog日志服务器及loganalyzer

一,日志基础 日志:记录时间,地点,任务,事件 格式:日期时间 主机 进程[pid]: 事件内容 rsyslog 特性: 多线程,UDP, TCP, SSL, TLS, RELP,MySQL, PGSQL, Oracle实现日志存储 强大的过滤器,可实现过滤记录日志信息中任意部分,自定义输出格式 日志分类:facility(不同类存放于不同文件) auth, authpriv, cron, daemon,ftp,kern, lpr, mail, news, security(auth), use

Linux下进程概念,进程管理和日志系统

程序(procedure):不太精确地说,程序就是执行一系列有逻辑.有顺序结构的指令,帮我们达成某个结果.就如我们去餐馆,给服务员说我要牛肉盖浇饭, 她执行了做牛肉盖浇饭这么一个程序,最后我们得到了这么一盘牛肉盖浇饭.它需要去执行,不然它就像一本武功秘籍,放在那里等人翻看. 进程(process):进程是程序在一个数据集合上的一次执行过程,在早期的UNIX.Linux 2.4及更早的版本中,它是系统进行资源分配和调度的独立基本单位. 同上一个例子,就如我们去了餐馆,给服务员说我要牛肉盖浇饭,她执