我想知道从 Android Wear 传输数据以进行进一步分析的最佳方法是什么。我发现很少有选择是将数据存储在 Wear 的本地数据库中,或者使用谷歌云 API 将数据存储在云端。我需要不断收集磨损数据,传输和分析这些数据以进行进一步处理。
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
您还可以通过使用然后指定手动将文本文件添加到 ACRA 报告:
applicationLogFile = "sdcard/YOUR_FILENAME.txt",
applicationLogFileLines = 1000,
只需确保您设置的数字applicationLogFileLines
等于或大于您希望在日志/数据文件中包含的行数。我已将链接附加到用于将 ACRA 添加到您的项目的快速入门指南,以及讨论主题的高级用户指南,例如手动发送报告而不发生崩溃以及向所述报告添加自定义信息: