尝试初始化数据时得到这个。
构建 UserProfile(dirty, state: _UserProfileState#752a9): LateInitializationError: Field '_userData@32329253' has not been initialized 时抛出了以下 LateError 错误。”
这是代码:
late final User _user;
late final DocumentSnapshot _userData;
@override
void initState() {
super.initState();
_initUser();
}
void _initUser() async {
_user = FirebaseAuth.instance.currentUser!;
try {
_userData = await FirebaseFirestore.instance
.collection('users')
.doc(_user.uid)
.get();
} catch (e) {
print("something went wrong");
}
}
Run Code Online (Sandbox Code Playgroud)
构建函数甚至没有运行,因为我试图打印 _user 和 _userData 以检查它们是否已被初始化。
如果我尝试在 initUser() 函数中打印 _user 和 _userData,则会在错误语句之后打印 _user 和 _userData。
请帮助我找到解决此错误的方法。
FCM是否需要.用户必须在手机上安装Play服务才能接收通知吗?
你看GCM了,但是现在我打算转到FCM,希望它没有...我在测试之前怎么知道?
以下代码困扰我: -
class mytest:
name="test1"
tricks=list()
def __init__(self,name):
self.name=name
#self.tricks=[name]
self.tricks.append(name)
t1=mytest("hello world")
t2=mytest("bye world")
print t1.name,t2.name
print t1.tricks,t2.tricks
Run Code Online (Sandbox Code Playgroud)
输出是: -
hello world bye world
['hello world', 'bye world'] ['hello world', 'bye world']
Run Code Online (Sandbox Code Playgroud)
这意味着列表tricks由两个实例t1和t2共享,这已在https://docs.python.org/3/tutorial/classes.html的 9.3.5节中解释过.
但是,如果我执行以下代码: -
class mytest:
name="test1"
tricks=list()
def __init__(self,name):
self.name=name
self.tricks=[name]
self.tricks.append(name)
t1=mytest("hello world")
t2=mytest("bye world")
x=t1.tricks
if type(x) is list:
print 'a list'
elif type(x) is tuple:
print 'a tuple'
else:
print 'neither a tuple or a list'
print t1.name,t2.name
print t1.tricks,t2.tricks …Run Code Online (Sandbox Code Playgroud) 我在Android上制作了一个聊天应用程序,它使用google firebase来存储用户互相写入的消息.要向用户显示这些消息,我从数据库中读取这些消息,并将它们组织到带有ListAdapter的自定义ListView中.这工作正常,直到我更新我的依赖项,特别是firebase ui到:
com.firebaseui:firebase-ui:3.1.0
Run Code Online (Sandbox Code Playgroud)
现在构建列表适配器的代码不起作用,是:
adapter = new FirebaseListAdapter<ChatMessage>(FirebaseDatabase.getInstance().getReference("Lobbies").child(leaderID).child("Messages"), ChatMessage.class, R.layout.message, this) {
@Override
protected void populateView(View v, ChatMessage model, int position) {
// Get references to the views of message.xml
TextView messageText = (TextView)v.findViewById(R.id.message_text);
TextView messageUser = (TextView)v.findViewById(R.id.message_user);
TextView messageTime = (TextView)v.findViewById(R.id.message_time);
// Set their text
messageText.setText(model.getMessageText());
messageUser.setText(model.getMessageUser());
// Format the date before showing it
messageTime.setText(DateFormat.format("dd-MM-yyyy (HH:mm:ss)",
model.getMessageTime()));
}
};
Run Code Online (Sandbox Code Playgroud)
为了解决这个问题,我更新了代码以符合新的firebase ui要求,使代码变为:
FirebaseListOptions<ChatMessage> options = new FirebaseListOptions.Builder<ChatMessage>()
.setQuery(FirebaseDatabase.getInstance().getReference("Lobbies").child(leaderID).child("Messages"), ChatMessage.class).setLayout(R.layout.message).build();
adapter = new FirebaseListAdapter<ChatMessage>(options) {
@Override
protected void populateView(View v, …Run Code Online (Sandbox Code Playgroud) 我有一个数据结构,如:
我想在"第一个"对象中编辑"test"键的值.我按照https://firebase.google.com/docs/firestore/manage-data/add-data上的文档进行操作
但它对我不起作用.
nodejs代码:
var setAda = dbFirestore.collection('users').doc('alovelace').update({
first : {
test: "12345"
}
});
Run Code Online (Sandbox Code Playgroud)
"test2"键消失了.但是,我只想更新"test"的值并保留"test2".
解决这个问题的任何方法?
我尝试在centos 7.4上配置Mysql服务器.将Mysql 8.0安装到我的系统后,systemctl重启mysqld失败.
请参阅错误日志/var/log/mysqld.log.
[系统] [MY-010116] [服务器]/usr/sbin/mysqld(mysqld 8.0.11)从进程320开始[错误] [MY-013168] [InnoDB]无法升级服务器早于5.7到8.0 [错误] [ MY-011013] [服务器]无法初始化DD存储引擎.[错误] [MY-010020] [服务器]数据字典初始化失败.[错误] [MY-010119] [服务器]正在中止[系统] [MY-010910] [服务器]/usr/sbin/mysqld:关闭完成(mysqld 8.0.11)MySQL社区服务器 - GPL.
我正在为Android平台使用Firebase应用分发服务。对于自动分发,我已经按照docs中提到的步骤设置了Gradle文件。设置和身份验证成功。分发也成功。但是,一旦我使用Firebase的Android应用测试器应用下载了该应用,就会导致应用未安装错误。这同时适用于:调试和发行版本。
我在停用Google Play保护后尝试安装该应用,但问题仍然存在。有人可以帮我吗?
我正在检查调用的布尔字段是否attending存在,但我不知道该怎么做。
有没有类似的功能.child().exists()我可以使用?
firebaseFirestore.collection("Events")
.document(ID)
.collection("Users")
.get()
.addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if(task.isSuccessful()) {
for(QueryDocumentSnapshot document: task.getResult()){
attending = document.getBoolean("attending");
}
}
}
});
Run Code Online (Sandbox Code Playgroud) 每当我添加com.google.firebase:firebase-firestore:19.0.0到Gradle并运行应用程序时,都会发生以下错误。
E/AndroidRuntime: FATAL EXCEPTION: main
Process: meter.meter, PID: 13588
java.lang.NoSuchMethodError: No virtual method setTokenProvider(Lcom/google/firebase/internal/InternalTokenProvider;)V in class Lcom/google/firebase/FirebaseApp; or its super classes (declaration of 'com.google.firebase.FirebaseApp' appears in /data/app/meter.meter-Qosf8nECYGfI4HI93CwJrw==/split_lib_dependencies_apk.apk!classes2.dex)
at com.google.firebase.auth.zzp.create(Unknown Source:4)
at com.google.firebase.components.ComponentRuntime.lambda$new$0(com.google.firebase:firebase-common@@17.0.0:66)
at com.google.firebase.components.ComponentRuntime$$Lambda$1.get(Unknown Source:4)
at com.google.firebase.components.Lazy.get(com.google.firebase:firebase-common@@17.0.0:53)
at com.google.firebase.components.ComponentRuntime.initializeEagerComponents(com.google.firebase:firebase-common@@17.0.0:155)
at com.google.firebase.FirebaseApp.initializeAllApis(com.google.firebase:firebase-common@@17.0.0:642)
at com.google.firebase.FirebaseApp.initializeApp(com.google.firebase:firebase-common@@17.0.0:358)
at com.google.firebase.FirebaseApp.initializeApp(com.google.firebase:firebase-common@@17.0.0:321)
at com.google.firebase.FirebaseApp.initializeApp(com.google.firebase:firebase-common@@17.0.0:305)
at com.google.firebase.provider.FirebaseInitProvider.onCreate(com.google.firebase:firebase-common@@17.0.0:53)
at android.content.ContentProvider.attachInfo(ContentProvider.java:1917)
at android.content.ContentProvider.attachInfo(ContentProvider.java:1892)
at com.google.firebase.provider.FirebaseInitProvider.attachInfo(com.google.firebase:firebase-common@@17.0.0:47)
at android.app.ActivityThread.installProvider(ActivityThread.java:6391)
at android.app.ActivityThread.installContentProviders(ActivityThread.java:5938)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5853)
at android.app.ActivityThread.access$1100(ActivityThread.java:199)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1650)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6669)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858) …Run Code Online (Sandbox Code Playgroud) android firebase firebase-authentication firebaseui google-cloud-firestore
Future<void> _getUserData() async {
final database = Firestore.instance;
try {
FirebaseUser _currentUser = await FirebaseAuth.instance.currentUser();
String authid =_currentUser.uid;
String email = _currentUser.email;
Map<String, String> userData = {
'AuthUserId':'$authid',
'Email':'$email',
'FullName': '',
'MobileNum': '',
'Address': '',
'City/Village': '',
'District': '',
'State': '',
'PinCode': '',
};
database.collection('UserData').add(userData).catchError((e) {
print(e);
});
} catch (e) {
print(e);
}
}
@override
void initState() {
super.initState();
_getUserData();
}
Run Code Online (Sandbox Code Playgroud)
"I am trying to insert the data into the cloud firestore and i have called this function in …