连续更新条目中的值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了连续更新条目中的值相关的知识,希望对你有一定的参考价值。

我仍然是Xamarin的初学者。

我创建了一个应用程序,以使用移动应用程序(Xamarin.forms)与机器连接。

我创建了一个按钮,单击该按钮后,我会在条目(只读)中接收数据(生产的产品数量)。

<ContentPage Title="Production Data">
    <StackLayout>

        <Label Text="Packs Produced"></Label>

        <Entry x:Name="Packs" IsReadOnly="True"></Entry>

        <Button x:Name="ReadData" Text="Read" Clicked="ReadData_Clicked"></Button>

    </StackLayout>
</ContentPage>

然后

        private void ReadData_Clicked(object sender, EventArgs e)
    {
        Packs.Text = string.Format();
    }

我需要每5秒更新一次packs.text。

我对使用Windows Form的另一个应用程序使用计时器(当单击ReadData按钮时,启用了计时器)和timer_tick(每5秒钟读取一次数据)进行了同样的操作。

可以使用xiamarin完成吗?

答案

您可以轻松地使用Matcha.BackgroundService插件来实现。更多信息https://github.com/winstongubantes/MatchaBackgroundService

您可以使用此插件每X秒或每分钟启动一次任务。

单击按钮,您可以像启动计时器服务

  private  void Button_Tapped(object sender, EventArgs e)
        {
            //Register Periodic Tasks
            BackgroundAggregatorService.Add(() => new PeriodicCall(5));

            //Start the background service
            BackgroundAggregatorService.StartBackgroundService();
  }

并且在您的定期通话中

public class PeriodicCall : IPeriodicTask
{
    public PeriodicCallTest(int seconds)
    {
        Interval = TimeSpan.FromSeconds(seconds);
    }

    public TimeSpan Interval { get; set; }

    public Task<bool> StartJob()
    {
        // YOUR CODE HERE
        // THIS CODE WILL BE EXECUTE EVERY INTERVAL

        // You can update the value of entry by using messeging centre here.
        return true; //return false when you want to stop or trigger only once
    }
}

以上是关于连续更新条目中的值的主要内容,如果未能解决你的问题,请参考以下文章

从数据条目(如工作表)复制值并将它们粘贴到单个工作表中,根据一个单元格中的某个值连续粘贴

通过计算每组条目的天数差异来汇总系统状态中的天数

更新 Firebase 时从 ListView 中删除旧条目

根据另一列中的值更新 BigQuery 中的嵌套数组

从生成的复选框将多个条目插入数据库

循环访问 Access 中的两个记录集并更新条目