小编Mal*_*dus的帖子

如何在flutter项目中更改Android minSdkVersion

我试图用一个使用蓝牙进行通信的App开始一个颤动的项目.为此,我使用的是蓝色.

不幸的是,当我尝试运行(在Android设备上)我创建的第一个示例时遇到了以下错误:

FAILURE: Build failed with an exception.

  * What went wrong:
  Execution failed for task ':app:processDebugManifest'.
  > Manifest merger failed : uses-sdk:minSdkVersion 16 cannot be smaller than version 19 declared in library [:flutter_blue] /home/maldus/Projects/flutter/polmac/build/flutter_blue/intermediates/manifests/full/debug/AndroidManifest.xml as the library might be using APIs not available in 16
    Suggestion: use a compatible library with a minSdk of at most 16,
            or increase this project's minSdk version to at least 19,
            or use tools:overrideLibrary="com.pauldemarco.flutterblue" to force usage (may lead to runtime …
Run Code Online (Sandbox Code Playgroud)

android android-sdk-tools flutter

23
推荐指数
14
解决办法
2万
查看次数

无法在赋值表达式中设置字段值

在 Python 3.8 中引入了赋值表达式,允许在条件和 lambda 表达式中赋值,如下所示:

if x := True:
    print(x)

Run Code Online (Sandbox Code Playgroud)

然而,这似乎并没有扩展到属性分配,因为试图做这样的事情

from typing import NamedTuple 

class Test(NamedTuple): 
    field : bool

test = Test(field=False) 

if test.field := True: 
    print(test.field)
Run Code Online (Sandbox Code Playgroud)

会导致以下错误:

SyntaxError: cannot use named assignment with attribute 
Run Code Online (Sandbox Code Playgroud)

是否真的只能更新赋值语句中的属性(而不是赋值表达式),如果是,为什么会有这个限制?

python syntax attributes python-3.8

9
推荐指数
1
解决办法
1279
查看次数

如何通过 Dart TCP 套接字发送原始字节

我被困在我能想到的最愚蠢的障碍上。我正在开发一个 flutter 应用程序,它应该通过 TCP 套接字(在本地 wifi 网络上)发送一个字节数组。

所述字节是原始的,不代表任何编码中有意义的字符(我有 0xFF 等值)。我的代码使用套接字write方法成功连接和发送数据。不幸的是,该方法仅将编码String作为参数,而从字符代码创建一个会破坏我的消息。

这是我的代码:

var message = Uint8List(4);
var bytedata = ByteData.view(message.buffer);

bytedata.setUint8(0, 0x01);
bytedata.setUint8(1, 0x07);
bytedata.setUint8(2, 0xFF);
bytedata.setUint8(3, 0x88);

socket.write(String.fromCharCodes(message))
Run Code Online (Sandbox Code Playgroud)

当 0x01 和 0x07 被正确接收时,0xFF 和 0x88 被转换成几个其他字节,0xC3BF 和 0xC287(用netcat -l 8080 | hexdump命令检查)。

我已经用谷歌搜索了一段时间,寻找一种发送原始字节而不将它们编码为字符串的方法,但找不到任何东西。难道根本就没有考虑过吗?我意识到 Flutter 和 Dart 是用于高级 Web 开发的,但在我看来这很荒谬。

sockets encoding byte dart flutter

6
推荐指数
1
解决办法
3994
查看次数

使用python sdk阅读facebook消息

我正在尝试使用python脚本阅读页面的facebook对话.有了这段代码

import facebook

at = "page access token"
pid = "page id"
api = facebook.GraphAPI( at )
p = api.get_object( 'me/conversations')
print p
Run Code Online (Sandbox Code Playgroud)

我得到一个包含以下内容的字典

{'paging': {'next': 'https://graph.facebook.com/v2.5/1745249635693902/conversations?access_token=<my_access_token>&limit=25&until=1454344040&__paging_token=<my_access_token>', 'previous': 'https://graph.facebook.com/v2.5/1745249635693902/conversations?access_token=<my_access_token>&limit=25&since=1454344040&__paging_token=<my_access_token>'}, 'data': [{'link': '/Python-1745249635693902/manager/messages/?mercurythreadid=user%3A100000386799941&threadid=mid.1454344039847%3A2e3ac25e0302042916&folder=inbox', 'id': 't_mid.1454344039847:2e3ac25e0302042916', 'updated_time': '2016-02-01T16:27:20+0000'}]}
Run Code Online (Sandbox Code Playgroud)

这些领域是什么?如何获取消息的文本?

编辑:我尝试通过添加来询问"消息"字段

    msg = api.get_object( p['data'][0]['id']+'/messages')
    print msg
Run Code Online (Sandbox Code Playgroud)

但它只返回相同的字段.我已经在API文档中搜索了一段时间,但我没有找到任何有用的信息.甚至可以使用python阅读facebook页面对话的消息内容吗?

python facebook

2
推荐指数
1
解决办法
4833
查看次数