草庐IT

flutter - 登录时可以显示名称等,但如果退出则仅显示 'null'。不是像 'Not signed in' 这样的消息

为了了解使用Google登录,我使用了一个简单的示例来登录和注销。这个想法是在登录时显示用户名,或者在退出时显示“未登录”。如果我登录,则用户名会正确显示。如果我注销,则显示“null”而不是“未登录”消息。代码:StringdisplayName=_profile!=null?'${_profile['displayName'].toString()}':'Notsignedin';未将“未登录”分配给displayName。我已经尝试测试_profile和displayName的长度和其他选项,但有些事情我就是不明白。主.dartimport'package:flutter/mat

visual-studio-code - 如果在 Flutter 中仅按下空格键,则会出现 VSCode 智能感知

我正在使用VSCode开发Flutter应用程序,但是,只有当我先按空格键时,智能感知才会出现。例如,当我在小部件树中创建任何小部件时,例如IconButton(icon:),只有当我按下空格键,或者在属性被完全键入之后,如果它被删除,下次键入时,智能感知工作正常。有没有人遇到同样的问题?它在VSCode中是可配置的吗?还是flutter插件错误? 最佳答案 根据日期,我认为您可能遇到了以下问题之一:https://github.com/Dart-Code/Dart-Code/issues/1374https://github.co

flutter - 在 Flutter 中,为什么有些动画类需要 vsync 而有些则不需要?

在Flutter中,有些动画类需要你在构造函数中传递vsync,而有些则不需要。例如,AnimatedSize需要垂直同步。AnimatedContainer没有。1)为什么有些动画类需要它而有些不需要?2)这与那些具有状态(它们自己的内部垂直同步)的类有关吗?3)所有使用vsync的类都可以变成不使用的类吗?权衡取舍是什么? 最佳答案 vsync是表示TickerProvider的属性(即,Tick类似于时钟的滴答声,这意味着在每个特定的持续时间内TickerProvider将呈现类状态并重绘对象。)只有当我们需要渲染我们的组件或

flutter - Dart:如果 JSON 不符合对象定义,则返回空值

假设我有一个定义如下的数据模型:classGymInfo{finalStringopenDate;finalStringphoneNumber;finalStringstate;finalStringclubRegion;finalStringemail;finalinthasKeypad;finalintisPlatinum;finalStringlinkClub;finalintid;finalintis24Hour;finalStringfullname;finalStringtype;GymInfo({this.openDate,this.phoneNumber,this.st

dart - 如果嵌套在子 : <Widget>[] 中,则不会呈现 StreamBuilder 小部件

我正在尝试从Firebase的FireStore数据库中读取数据并在flutter应用程序中显示为列表。我遇到了这个问题,我需要使StreamBuilder成为WidgetArray的一部分。如果StreamBuilder小部件是小部件的单个子部件,则它可以正常呈现。但如果是子小部件数组的一部分,它就不起作用。例如下面是我使用StreamBuilder的WidgetWidgetpostsListWidget=newStreamBuilder(stream:Firestore.instance.collection('baby').snapshots(),builder:(context

flutter - 如果 Open Keyboard 的 Textfield 位于命名 Route 的 bottomSheet 中,则 Open Keyboard 意外关闭

在我们现在正在编写的应用程序中,我们遇到了一个问题,即如果将焦点放在底部工作表中的文本字段,键盘会在短暂的闪烁后消失。在尝试修复它数小时后,我试图隔离这种奇怪的行为并提出了以下错误:如果我在不是主页的页面的脚手架的底部工作表中点击TextField,键盘就会消失。(见示例)我已经在https://github.com/flutter/flutter/issues/36271上发布了这个但还没有得到回应。有人知道吗?这真的是一个错误还是我在路线上做错了什么?提前致谢。马库斯示例代码import'package:flutter/material.dart';voidmain()=>runA

android - 如何防止在 sqlite 数据库中插入重复值(如果重复则覆盖)

我在我的数据库中创建了两个表,我在两个表中同时插入值,现在我想做的是,我想在第二个表中插入记录,但条件是,如果有是两条相同的记录那么我只想插入一条记录而不是重复的值,在第二个表中有两个字段,一个是id,第二个是category,当用户插入两个相同的类别时那个时候我只想插入一个条目,下面是我的代码不能正常工作,它插入所有记录接受重复值..publiclongInsertCat(Stringidd,Stringcat){try{SQLiteDatabasedb;longrows=0;db=this.getWritableDatabase();ContentValuesVal=newCont

python - 如果 sqlite 安装在非标准位置,则构建 python 2.6 w/sqlite3 模块

我正在尝试构建支持sqlite3模块的python2.6。我已经成功构建并将sqlite-amalgamation安装到非标准路径:./configure--prefix=/my/non/standard/install/path/sqlite/3.6.20/制作进行安装我希望python2.6构建使用此路径并构建sqlite3模块。我检查了“./configure--help”但没有看到任何类型的“--with-sqlite-dir=path”选项。如何让python的配置知道sqlite在哪里? 最佳答案 与其重建python,

sqlite - 如果 SQLite 中不存在,则更改表添加列

我们最近需要向一些现有的SQLite数据库表中添加列。这可以通过ALTERTABLEADDCOLUMN来完成.当然,如果表已经被修改过,我们不想管它。不幸的是,SQLite不支持ALTERTABLE上的IFNOTEXISTS子句。我们当前的解决方法是执行ALTERTABLE语句并忽略任何“重复列名”错误,就像thisPythonexample(但在C++中)。但是,我们设置数据库模式的常用方法是使用包含CREATETABLEIFNOTEXISTS和CREATEINDEXIFNOTEXISTS语句的.sql脚本,这可以使用sqlite3_exec或sqlite3命令行工具执行。我们不能将

sqlite - 如果不存在则插入其他更新?

对于经典的“如何插入新记录或更新已存在的记录”,我找到了一些“可能”的解决方案,但我无法让其中任何一个在SQLite中工作。我有一个定义如下的表:CREATETABLEBookIDINTEGERPRIMARYKEYAUTOINCREMENT,NameVARCHAR(60)UNIQUE,TypeIDINTEGER,LevelINTEGER,SeenINTEGER我想要做的是添加一条具有唯一名称的记录。如果名称已经存在,我想修改字段。谁能告诉我如何做到这一点? 最佳答案 看看http://sqlite.org/lang_conflict