我想在用户想要收集日志时将Android logcat转储到文件中.通过adb工具,我们可以使用日志将日志重定向到文件adb logcat -f filename,但是如何以编程方式执行此操作?
我将图像添加到SDCARD上的文件夹中.由于图像和我的文件夹在图库中没有立即可见,我试图让MediaScannerConnection更新并在图库中显示文件夹/图像.这对我来说不是很好,因为Gallery中没有任何内容.我只在Eclipse AVD中测试.
我没有看到很多关于这个的讨论,因为scanFile是自api8以来的新功能.有人能说明这是怎么做的吗?
我在服务和Activity中尝试它但在onScanCompleted时继续获得uri = null.
我计划通过创建一个日志来自动化应用程序的测试,该日志存储应用程序的一些执行结果,后者使用一段python代码解析它并绘制图形.
该应用程序是一个WiFi指纹识别器,即它收集有关周围环境中的wifi设备的信息,如mac id,rss(收到的信号强度和等级(标准化的rss).所以为了测试这个应用程序,我必须把它带到位置和记录结果(截至现在手动).所以logcat不能达到目的.
自动化要求1.将日志存储在设备中2.通过USB访问系统中的日志文件
日志文件的格式:
Snapshot: 1
Fingerprint: 1, Rank: 0.23424, Boolean: true
Fingerprint: 2, Rank: 0.42344, Boolean: false
Fingerprint: 3, Rank: 0.23425, Boolean: true
Snapshot: 2
Fingerprint: 1, Rank: 0.75654, Boolean: false
Fingerprint: 2, Rank: 0.23456, Boolean: true
Fingerprint: 3, Rank: 0.89423, Boolean: true
................
Run Code Online (Sandbox Code Playgroud)
现在我知道持久存储基本上有3种方法(无论如何,SharedPrefs都不适合这种情况).我尝试了内部存储,但即使在设置文件模式之后,因为MODE_WORLD_READABLE无法使用Eclipse中的设备文件资源管理器读取文件.
我仍然担心使用外部存储来存储日志.任何有关如何在设备的USB中写入文件的教程肯定会有所帮助.
我想构建要存储的数据,以便使用SQLite进行存储.但这在数据之间建立了许多不必要的关系(国内和国内)并使其变得复杂.如果没有办法,那么这里就是龙.
基本上我想写一个文件(我想更容易)在设备中,后者在我的系统中通过usb连接到它来读取它.如何做任何帮助将非常感激.
当我只是在Android应用程序中记录消息时,Android Monitor会打印太多额外的垃圾文本,例如:代码:
Log.d(TAG, "From: " + "34369257099");
Log.d(TAG, "Message Notification Body: " + "Hello");
Run Code Online (Sandbox Code Playgroud)
android监视器输出:
10-01 14:15:33.262 18193-23771/com.xxxxx.xxxxxx D/MyFirebaseMsgService: From: 34369257099
10-01 14:15:33.262 18193-23771/com.xxxxx.xxxxxx D/MyFirebaseMsgService: Message Notification Body: Hello
[ 10-01 14:15:33.490 19060:19060 E/ ]
[adb] handle_packet() t->online(1) p->msg.arg0(9871) p->msg.arg1(0) OPEN
[ 10-01 14:15:33.490 19060:19060 E/ ]
[adb] handle the adb command, and the command = adb shell:cat /proc/net/xt_qtaguid/stats | grep 10206
[ 10-01 14:15:33.527 19060:19060 E/ ]
[adb] cuurent command is A_CLSE
[ 10-01 14:15:33.686 19060:19060 E/ ]
[adb] …Run Code Online (Sandbox Code Playgroud) 我是android.i的新开发人员想写一些文件,我已经使用一种方法写入文件,如下所示
public void writeFile(String path,String text){
try{
Writer output = null;
File file = new File(path);
output = new BufferedWriter(new FileWriter(file));
output.write(text);
output.close();
System.out.println("Your file has been written");
}
catch (Exception e) {
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
在这里我传递一个文件和文本的路径写.如果我用这种方式我可以写数据,但以前的数据正在丢失.
如何在不丢失以前文本的情况下将最新文本附加或插入文件?
提前致谢
默认情况下,android中的Log类将日志写入控制台(logcat).有没有简单的方法在某些文件中写入日志?
我是android编程的初学者.我的研究生项目是关于跟踪移动设备,我需要代码来保存位置(不使用GPS)作为文本文件.有人建议我这样做的代码.这对我来说是一个很大的帮助.
我想把我看到的所有logcat Android Studio(比如这里http://i.imgur.com/IJkGcL4.png)都txt file直接保存在我的设备上.
到目前为止我尝试过的是以下代码onCreate:
File logFile = new File(LogcatDir.getAbsolutePath() + "/log.txt" );
try
{
Process process = Runtime.getRuntime().exec( "logcat -c");
process = Runtime.getRuntime().exec( "logcat -f " + logFile + " *:S MyActivity_BUT_WHAT_TO_PUT_HERE");
}
catch ( IOException e ) {e.printStackTrace();}
Run Code Online (Sandbox Code Playgroud)
并在manifest file:
<uses-permission android:name="android.permission.READ_LOGS" />
Run Code Online (Sandbox Code Playgroud)
我故意做了解析错误之类的
long test = Long.parseLong("z");
Run Code Online (Sandbox Code Playgroud)
但实际上只有这个log.txt:
--------- beginning of /dev/log/main
--------- beginning of /dev/log/system
Run Code Online (Sandbox Code Playgroud)
有谁知道,我有什么代码,我得到整个logcat?