Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >值发生变化时启动后台任务

值发生变化时启动后台任务
EN

Stack Overflow用户
提问于 2017-02-11 14:12:01
回答 1查看 62关注 0票数 0

我正在开发一个基于传感器的应用程序,我通过BLE连接不断地收集传感器的数据,并将其显示在图形上。我想添加到应用程序的算法,将运行在每个新值收到,并显示在UI中的结果。由于数据传输是连续进行的,我希望算法将在后台运行,这样数据到图形的速度将保持不变。我正在阅读几种方法(AsyncTask、线程等)。但是作为一个新手: 1.我不能完全理解哪个更好2.我不能正确地实现它。

下面是相关的代码片段:

代码语言:javascript
运行
AI代码解释
复制
         public class MainActivity extends AppCompatActivity implements AdapterView.OnItemSelectedListener, GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener, LocationListener {
//Call to the algorithm class    
RespAlgo myAlgo = new RespAlgo();
        @Override
            protected void onCreate(Bundle savedInstanceState) {
        //Code to initiate the graphs...
        }
         private final BluetoothGattCallback mGattCallback =
                    new BluetoothGattCallback() { 
        public void onCharacteristicChanged(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic) 
        {
        // Here I catch the data from the BLE device
         for (int i_bt_nTs = 0; i_bt_nTs < getResources().getInteger(R.integer.bt_nTs); i_bt_nTs++) {
                                //V2V8, S1, S2, S3
                                // k = R3/(Rs + R4) = V2V8/(ADCval * LSB / Gain + V2V8/2) - 1
                                // Rs = R3/k - R4

                                v2v8_val = v2v8_2_bval * 2 * adc_lsb * vbat_correction;
                                k = v2v8_val / (characteristic.getIntValue(FORMAT_UINT16, 2 + 6 * i_bt_nTs) * adc_lsb / ina_gain + v2v8_val / 2) - 1;
                                rs1 = R3 / k - R4;

                                //run the algorithm. the below should move to parallel task
                                // Add counter to the algorithm
                                        myAlgo.addTime();
                                //Add value from the sensor to the algorithm
                                        myAlgo.setValue(rs1);
                                //Return result to rr1 variable
                                        rr1 = (float)myAlgo.getRR();
                                 // Change the UI with the new value
                                        myRR1.setText(String.valueOf(rr1));

        }
        }
EN

回答 1

Stack Overflow用户

发布于 2017-02-11 14:35:00

创建本地服务,并将传感器数据接收代码绑定到此本地服务。绑定后,您可以将消息发送到服务,让它在后台处理它,并更新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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42176853

复制
相关文章
eclipse启动时和开发时优化
1 eclipse.ini参数优化 -startup plugins/org.eclipse.equinox.launcher_1.3.201.v20161025-1711.jar --launcher.library plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.401.v20161122-1740 #加载jvm -vm C:\Program Files\Java\jre1.8.0_121\bin #注意这是jre的bin
闵开慧
2018/04/02
1K0
eclipse启动时和开发时优化
springboot启动时执行
可以实现CommandLineRunner接口然后重写run方法,在run方法里执行
阿超
2022/08/16
4360
docker启动mysql指定挂载目录时无法启动
使用-it模式启动也会直接退出,通过docker logs 退出的mysql容器id返回下面的提示信息:
johnhuster的分享
2022/03/28
6.2K0
[Android] 后台任务系列之JobScheduler
上次分析Android O广播的问题遗留了一个东西没提,那就是官方推荐使用的JobScheduler。这篇就简单了解一下这是个什么东西。
wOw
2020/01/20
6.5K0
iOS 后台任务
仅当你的app是真的提供给用户音频播放功能,你才能使用音频后台模式。 若我们抱有侥幸心理,为了获得CPU更多时间而利用该模式播放一段无声的音频,apple将会拒绝此类app。 同样的当语音播放完毕之后程序同样会挂起
码客说
2019/10/22
7060
MARATHON启动DOCKER时增加额外的启动参数
如果你用的ceph文件系统做你的后台存储,你就需要在docker  run的时候增加两个参数.
domain0
2018/08/02
1K0
WebRTC 架构格局正在发生变化
对于使用 WebRTC 的实时视频应用来说,没有适用于任何场景的通用应用架构,实际中基于用例以及在后端服务的商业,可以选择的架构有许多,并且差异较大。
用户1324186
2022/05/25
9200
WebRTC 架构格局正在发生变化
Flutter 后台任务
Flutter 是一个非常好用的使用 Dart 编程语言构建漂亮移动应用程序的框架,可以让 Android 和 IOS 上共用同一套代码。
睡觉谁叫
2023/04/22
3.4K0
Flutter 后台任务
selenium启动firefox时加载扩展
    有些时候,我们测试需要用到插件或者已经导入的证书(比如金融和安全加密行业),而selenium启动firefox时会打开一个新的,不含有任何插件和个人证书的firefox(等同于全新安装后第一次打开的那个firefox)这种情况下,我们就要用firefoxprofile了。
流柯
2018/08/30
1.4K0
SAP开关账期后台任务
关于MMPV和OB52,MMPV用于与库存有关的交易,而OB52则用于与财务相关的事务。
matinal
2020/11/27
9260
6.后台任务封装
后台任务封装:在没有网络的时候也可以修改用户名、头像等操作 private void doOk() { String text = etName.getText().toString().trim
六月的雨
2018/05/14
7260
在启动jar包时,发现内存不足无法启动
发现有一command为abrt-hook-ccpp的进程占用较多CPU和内存资源,如上图所示,abrt是AUTOMATIC BUG REPORTING TOOL的缩写。 解决方案 为了解决该问题,可以关闭abrt-hook-ccpp,具体操作如下:
高大北
2022/06/14
2.8K0
在启动jar包时,发现内存不足无法启动
Hive启动时 show databases; 报错
FAILED: SemanticException org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
刘浩的BigDataPath
2021/04/13
1.3K0
Hive启动时 show databases;  报错
启动Linux时自动执行Shell脚本
我们假定使用的是 Bash 作为登录及注销的主 Shell。如果你使用的是其他 Shell,那么有些方法可能会无效。如果有其他的疑问,请参考对应的 Shell 文档。
用户7639835
2021/08/30
4K0
解决 Apache Hadoop 启动时 DataNode 没有启动的问题
解决 Apache Hadoop 启动时 DataNode 没有启动的问题(注意这会删除 HDFS 中原有的所有数据,如果原有的数据很重要请不要这样做)。
白鹿第一帅
2021/03/02
3.5K0
解决 Apache Hadoop 启动时 DataNode 没有启动的问题
【Bug】SpringCloudAlibaba整合Swagger时 启动报错
Parameter 2 of constructor in springfox.documentation.spring.web.readers.parameter.ModelAttributeParameterExpander required a bean of type 'springfox.documentation.spi.schema.EnumTypeDeterminer' that could not be found.
陶然同学
2023/02/27
7150
【Bug】SpringCloudAlibaba整合Swagger时 启动报错
SpringBoot启动时执行指定任务
@EventListener({ApplicationReadyEvent.class})
乐心湖
2020/07/31
7070
启动时获取端口号
我们可以如下写法在boot项目启动时获取端口号 package com.ruben.simplescaffold; import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.Configur
阿超
2022/08/21
5300
SpringBoot启动时执行任务
在 SpringBoot 项目中,main 方法调用了 SpringApplication.run 方法,在 SpringApplication.run 方法执行之前还可以执行一些启动任务。具体的方式是实现 ApplicationRunner 或者 CommandLineRunner 这两个接口。
码农UP2U
2021/04/09
1.1K0
SpringBoot启动时执行任务
点击加载更多

相似问题

启动时启动UWP后台任务

20

启动后台任务时iOS崩溃

116

UWP:请求启动后台任务时出错

10

使用Capistrano启动后台任务

40

启动长时间后台任务

32
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档