android 应用开发 log,Android应用开发Android logcat信息记录到手机文件的方法

本文将带你了解Android应用开发Android logcat信息记录到手机文件的方法,希望本文对大家学Android有所帮助。

这里介绍两种方法:目前使用   方法一

方法一:

添加权限:

示例代码:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

public class MyApp extends Application {

private Process mLogProcess;

@Override

public void onCreate() {

super.onCreate();

try {

int pid =   android.os.Process.myPid();

Log.d("MyApp",   "PID is " + pid);

Calendar calendar =   Calendar.getInstance();

String filename =   String.format("/sdcard/MyApp_Log_%04d%02d%02d_%02d%02d%02d.txt",

calendar.get(Calendar.YEAR),

calendar.get(Calendar.MONTH),

calendar.get(Calendar.DAY_OF_MONTH),

calendar.get(Calendar.HOUR_OF_DAY),

calendar.get(Calendar.MINUTE),

calendar.get(Calendar.SECOND));

mLogProcess =   Runtime.getRuntime().exec(String.format("logcat -v time -f %s",   filename));

} catch (IOException e) {

e.printStackTrace();

}

}

@Override

public void onTerminate() {

super.onTerminate();

if(mLogProcess != null ){

mLogProcess.destroy();

}

}

}

方法二:

添加权限 同上;

示例代码:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

package com.way.util;

import java.io.BufferedReader;

import java.io.File;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStreamReader;

import android.content.Context;

import android.os.Environment;

/**

* log日志统计保存

*

* @author way

*

*/

public class LogcatHelper {

private static LogcatHelper INSTANCE   = null;

private static String   PATH_LOGCAT;

private LogDumper mLogDumper =   null;

private int mPId;

/**

*

* 初始化目录

*

* */

public void init(Context context)   {

if (Environment.getExternalStorageState().equals(

Environment.MEDIA_MOUNTED)) {// 优先保存到SD卡中

PATH_LOGCAT =   Environment.getExternalStorageDirectory()

.getAbsolutePath() + File.separator + "miniGPS";

} else {//   如果SD卡不存在,就保存到本应用的目录下

PATH_LOGCAT =   context.getFilesDir().getAbsolutePath()

+ File.separator   + "miniGPS";

}

File file = new   File(PATH_LOGCAT);

if (!file.exists()) {

file.mkdirs();

}

}

public static LogcatHelper   getInstance(Context context) {

if (INSTANCE == null) {

INSTANCE = new   LogcatHelper(context);

}

return INSTANCE;

}

private LogcatHelper(Context   context) {

init(context);

mPId =   android.os.Process.myPid();

}

public void start() {

if (mLogDumper == null)

mLogDumper = new   LogDumper(String.valueOf(mPId), PATH_LOGCAT);

mLogDumper.start();

}

public void stop() {

if (mLogDumper != null) {

mLogDumper.stopLogs();

mLogDumper = null;

}

}

private class LogDumper extends   Thread {

private Process logcatProc;

private BufferedReader   mReader = null;

private boolean mRunning =   true;

String cmds = null;

private String mPID;

private FileOutputStream out   = null;

publicbody{ }

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之Android频道!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值