我想知道从Android服装传输数据的最佳方法是什么,以便进一步分析。我找到的几个选项是将数据存储在Wear的本地数据库中,或使用Google Cloud Apis在云上存储数据。我需要不断收集磨损数据,传输和分析数据以便进一步处理。
答案 0 :(得分:1)
您可以非常轻松地将相关信息存储在设备的内部存储中,然后在将设备插入计算机时手动检索它。像下面这样的东西会很快捷:
public static void AppendLog(String filename, String text)
{
File log = new File("sdcard/" + filename);
if (!log.exists())
{
try
{
log.createNewFile();
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
BufferedWriter writer = new BufferedWriter(new FileWriter(log, true));
String sLogEntry = Log.Tag(severity) + text;
writer.append(sLogEntry);
writer.newLine();
writer.close();
System.out.println(sLogEntry);
}
此方法将创建一个文本文件(如果尚不存在),并将指定的信息添加到所述文本文件中。每次要添加信息/数据以供日后检索时,只需使用AppendLog("YOUR_FILENAME.txt", "Information you wish to add")
,数据就会自动添加到日志中。然后,当您将设备插入计算机时,只需检索文本文件及其中的数据即可。如果您使用此功能,请确保将WRITE_EXTERNAL_STORAGE
权限添加到清单文件中。
如果您无法访问磨损设备,则需要以无线方式发送数据。一种可能的选择是发送一个简单的电子邮件,其中包含文本文件作为附件。一种简单的方法是将ACRA(Android应用程序崩溃报告)集成到您的应用程序中。虽然这是库主要用于在崩溃后发送信息,但您可以使用框架随时发送信息。 ACRA可以轻松收集有关设备的信息并将其发送到指定的电子邮件地址。您还可以使用ReportField.APPLICATION_LOG
然后指定:
applicationLogFile = "sdcard/YOUR_FILENAME.txt",
applicationLogFileLines = 1000,
只需确保使用applicationLogFileLines
设置的数字等于或大于您希望在日志/数据文件中拥有的行数。我已将链接附加到用于将ACRA添加到项目的快速入门指南,以及讨论诸如手动发送报告而不发生崩溃等主题的高级用户指南,并将自定义信息添加到报告中: