我正在开发一种基于传感器的应用程序,我收集传感器'数据通过BLE连接连续显示在图表上。我想在应用程序中添加一个算法,该算法将在收到的每个新值上运行,并在UI中显示结果。由于数据传输是连续进行的,我希望算法将在后台运行,因此图形数据将保持速度。 我正在阅读几种方法(AsyncTask,Thread等...),但作为一个新手: 我不完全明白哪个更好 我无法正确实现它。
以下是相关的代码:
public Date getTheDateLoaned()
{
System.out.println("What day was it loaned out in dd/MM/yyyy format?");
String dateFormat = "dd/MM/yyyy";
Scanner scanner = new Scanner(System.in);
try
{
return new SimpleDateFormat(dateFormat).parse(scanner.nextLine());
}
catch (ParseException ex)
{
System.out.println("This was not in the right format. The format"
+ "needs to be dd/MM//yyyy");
}
return null;
}
答案 0 :(得分:1)
创建本地服务,让您的传感器数据接收代码绑定到此本地服务。绑定后,您可以向服务发送消息并让它在后台处理并更新UI或其他任何内容。您可以在此处详细了解服务 - https://developer.android.com/guide/components/bound-services.html
另一个新的构造是使用一个事件总线,它将使你的代码完全脱离并消除大部分行李(你刚接触Android会发现这更容易)。点击此处 - https://code.tutsplus.com/tutorials/quick-tip-how-to-use-the-eventbus-library--cms-22694