目前,我已经编写了一个语音助手的代码,可以用用户的语音进行书写。我使用 pip 中的 python 键盘模块。但是当我执行代码时,它告诉我没有root就无法写入。
代码如下,
elif (t.find("type") != -1):
le = t.find("type") + len("type") + 1
t = t[le:]
try:
print("Typing> ", t)
keyboard.write('' + t+". ")
except:
print("Can't Type")
Run Code Online (Sandbox Code Playgroud) 我可以googleapis在前台将文件上传到谷歌驱动器,但我需要在我的 flutter 应用程序的后台上传文件。我试图上传,workmanager但它不起作用。这是我的应用程序这篇文章的代码的一些必要部分:
...
@override
void initState() {
WidgetsFlutterBinding.ensureInitialized();
Workmanager.initialize(callbackDispatcher, isInDebugMode: true);
Workmanager.registerPeriodicTask("1", "simplePeriodicTask",
existingWorkPolicy: ExistingWorkPolicy.replace,
frequency: Duration(hours: 1),
initialDelay:
Duration(seconds: 5),
constraints: Constraints(
networkType: NetworkType.connected,
));
super.initState();
login()
}
...
Run Code Online (Sandbox Code Playgroud)
...
这是后台任务:
...
void callbackDispatcher() {
Workmanager.executeTask((task, inputData) {
login();
_HomeState().uploadFileL();
print('Background Services are Working!');
return Future.value(true);
});
}
...
Run Code Online (Sandbox Code Playgroud)
...
这是用于上传文件:
...
Future<void> uploadFileL() async {
final filename = 'Location.db';
final gFile = ga.File();
gFile.name = filename;
final dir = await getExternalStorageDirectory(); …Run Code Online (Sandbox Code Playgroud) 我想将一些数据发布到 Flutter WebView 中的 URL 主体。那么,我该怎么做呢?
在我的应用程序中,我需要在后台执行一些任务(当应用程序不在前台运行时)。我可以在后台执行一些方法,但是,我需要在后台执行一个异步方法,但我不能。
这是我的代码的一部分:
void main() {
runApp(MaterialApp(
home: Home(),
));
Workmanager.initialize(callbackDispatcher, isInDebugMode: true);
Workmanager.registerPeriodicTask("1", "simplePeriodicTask",
existingWorkPolicy: ExistingWorkPolicy.replace,
frequency: Duration(minutes: 15),
initialDelay:
Duration(seconds: 5),
constraints: Constraints(
networkType: NetworkType.connected,
));
}
void callbackDispatcher() {
Workmanager.executeTask((task, inputData) {
_HomeState().manager();//This is not Working
print('Background Services are Working!');//This is Working
return Future.value(true);
});
}
class Home extends StatefulWidget {
@override
_HomeState createState() => _HomeState();
}
class _HomeState extends State<Home> {
@override
void initState() {
login();
super.initState();
}
void manager() async {
if (account == null) { …Run Code Online (Sandbox Code Playgroud) 我需要的索引号的forEach,因为我想更新我的数据表可迭代的值。但是为了更新数据表,我需要列 ID。这就是为什么我想要每个值的索引号并将其分配给 > i。有类似的问题解释了如何获取可迭代的索引。但就我而言,我无法映射CallLogEntry,这就是为什么我无法获得此可迭代值的索引的原因。
Future callLogDB() async {
Iterable<CallLogEntry> cLog = await CallLog.get();
final dbHelper = DatabaseHelper.instance;
int i = 0;
cLog.forEach((log) async {
i++;
// row to insert
Map<String, dynamic> row = {
//DatabaseHelper.columnId: 2,
DatabaseHelper.columnName: '${log.name}',
DatabaseHelper.columnNumber: '${log.number}',
DatabaseHelper.columnType: '${log.callType}',
DatabaseHelper.columnDate:
'${DateTime.fromMillisecondsSinceEpoch(log.timestamp)}',
DatabaseHelper.columnDuration: '${log.duration}'
};
await dbHelper.insert(row);
print('CallLog $i:: $row');
});
return cLog;
}
Run Code Online (Sandbox Code Playgroud) 我用 sqflite 创建了一个数据表。但它向我显示了语法错误。你能告诉我这里的语法错误在哪里吗?
Future _onCreate(Database db, int version) async {
await db.execute('''
CREATE TABLE $table (
$columnId INTEGER PRIMARY KEY,
$columnfid VARCHAR,
$columnfname TEXT,
)
''');
}
Run Code Online (Sandbox Code Playgroud)
这是错误:
Exception has occurred.
SqfliteDatabaseException (DatabaseException(near ")": syntax error (code 1 SQLITE_ERROR): , while compiling: CREATE TABLE fid_table (
id INTEGER PRIMARY KEY,
fid VARCHAR,
fname TEXT,
)) sql ' CREATE TABLE fid_table (
id INTEGER PRIMARY KEY,
fid VARCHAR,
fname TEXT,
)
' args []})
Run Code Online (Sandbox Code Playgroud) 有没有办法检查 Dart/Flutter 中是否有已监听的活动 Stream?
假设有一个 Stream 在一个 Screen 上已被监听。但是,我需要在另一个屏幕上收听该流。所以我需要检查是否有任何已收听的活动流。
flutter ×6
dart ×4
database ×2
async-await ×1
drive ×1
file-upload ×1
foreach ×1
google-api ×1
iterable ×1
keyboard ×1
post ×1
python ×1
sqflite ×1
stream ×1
webview ×1