2

我想知道从 Android Wear 传输数据以进行进一步分析的最佳方法是什么。我发现很少有选择是将数据存储在 Wear 的本地数据库中,或者使用谷歌云 API 将数据存储在云端。我需要不断收集磨损数据,传输和分析这些数据以进行进一步处理。

4

1 回答 1

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 添加到您的项目的快速入门指南,以及讨论主题的高级用户指南,例如手动发送报告而不发生崩溃以及向所述报告添加自定义信息:

http://www.acra.ch/

https://github.com/ACRA/acra/wiki/AdvancedUsage

于 2014-12-26T21:10:32.890 回答