微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何以 xamarin 形式加入 BLE 通知中的值?

如何解决如何以 xamarin 形式加入 BLE 通知中的值?

我在 BLE 通知中以 20 字节块的形式获取数据。我正在将其转换为字符串,但我需要将所有字符串连接在一起。这是我的代码

characteristicRead.ValueUpdated += (o,e) =>
            {
                Device.BeginInvokeOnMainThread(() =>
                {
                    //var readvalue2 = characteristics.Value;
                    var bytes = e.Characteristic.Value;
                    //var readvalue = await characteristics.ReadAsync();
                    BLEresultnew = System.Text.Encoding.UTF8.GetString(bytes);

                    Console.WriteLine(BLEresultnew);
                    var termsList = new List<string>();
                    //var joinedStrings = termsList.Join(",");
                    termsList.Add(BLEresultnew);
                    concat = String.Join(" ",termsList.ToArray());
                    //int listdata=termsList.Count();
                    //string valuel = listdata.ToString();
                });
            };
            await characteristicRead.StartUpdatesAsync();

这是我需要加入并显示在字符串或数组中的日志中的数据。

01-07 13:07:07.340 I/mono-stdout( 4797): {"name":"Lime","stat
us":"Available"},{"n
01-07 13:07:07.448 I/mono-stdout( 4797): us":"Available"},{"n
ame":"Peach","statu
01-07 13:07:07.568 I/mono-stdout( 4797): ame":"Peach","statu
s":"Available"},{{"n
01-07 13:07:07.650 I/mono-stdout( 4797): s":"Available"},{{"n

我尝试过 string.Join 但它不起作用。我已经尝试过字符串生成器,但仍然没有加入所有字符串,如下所示。

Console.WriteLine(BLEresultnew);
                    StringBuilder sb = new StringBuilder(BLEresultnew);
                   //sb.Append(BLEresultnew);
                    concat= sb.Append(BLEresultnew).ToString();

有什么建议可以解决这个问题吗?

解决方法

StringBuilder 效率更高,但简单地这样做应该可以工作(假设 concat 是一个类级变量)

concat += BLEresultnew;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。