我收到此错误:
未找到成员:“FirebaseAppPlatform.verifyExtends”。FirebaseAppPlatform.verifyExtends(_delegate);
flutter clean
flutter pub get
pod install
Run Code Online (Sandbox Code Playgroud) 无法部署 Firebase 功能。我有两个项目别名,它对于第一个项目(dev)工作正常,但对于第二个项目(prod)则不然。
每当我写作时,firebase deploy --only functions我都会收到以下消息
i deploying functions
i functions: ensuring required API cloudfunctions.googleapis.com is enabled...
i functions: ensuring required API cloudbuild.googleapis.com is enabled...
i artifactregistry: ensuring required API artifactregistry.googleapis.com is enabled...
+ functions: required API cloudbuild.googleapis.com is enabled
+ artifactregistry: required API artifactregistry.googleapis.com is enabled
+ functions: required API cloudfunctions.googleapis.com is enabled
i functions: preparing codebase default for deployment
! functions: package.json indicates an outdated version of firebase-functions. Please upgrade
using npm install --save firebase-functions@latest …Run Code Online (Sandbox Code Playgroud) firebase google-cloud-platform google-cloud-functions firebase-cli
我对Java没有多少经验.我不确定这个问题是不是很愚蠢,但是我需要从Firebase实时数据库中获取用户名,并且由于此方法而返回此名称.所以,我想出了如何获得这个值,但我不明白如何返回它作为这个方法的结果.最好的方法是什么?
private String getUserName(String uid) {
databaseReference.child(String.format("users/%s/name", uid))
.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
// How to return this value?
dataSnapshot.getValue(String.class);
}
@Override
public void onCancelled(DatabaseError databaseError) {}
});
}
Run Code Online (Sandbox Code Playgroud) 我在 Jetpack Compose 中实现了一列按钮。我们意识到可以一次单击多个项目(例如用多个手指),并且我们想禁用此功能。
是否有一种开箱即用的方法可以通过使用父列修饰符来禁用对子可组合项的多个同时单击?
这是我的 UI 当前状态的示例,请注意有两个选定的项目和两个未选定的项目。
这是一些如何实现的代码(精简)
Column(
modifier = modifier
.fillMaxSize()
.verticalScroll(nestedScrollParams.childScrollState),
) {
viewDataList.forEachIndexed { index, viewData ->
Row(modifier = modifier.fillMaxWidth()
.height(dimensionResource(id = 48.dp)
.background(colorResource(id = R.color.large_button_background))
.clickable { onClick(viewData) },
verticalAlignment = Alignment.CenterVertically
) {
//Internal composables, etc
}
}
Run Code Online (Sandbox Code Playgroud) android multi-touch multi-select kotlin android-jetpack-compose
该文档没有关于如何向文档添加子集合的任何示例.我知道如何将文档添加到集合以及如何将数据添加到文档,但是如何向文档添加集合(子集合)?
不应该有这样的方法:
dbRef.document("example").addCollection("subCollection")
Run Code Online (Sandbox Code Playgroud) 我刚刚更新了 Android Studio 并开始了一个新项目。但现在项目等级文件似乎有所不同。
以下是几行:
plugins {
id 'com.android.application' version '7.1.0' apply false
id 'com.android.library' version '7.1.0' apply false
}
task clean(type: Delete) {
delete rootProject.buildDir
}
Run Code Online (Sandbox Code Playgroud)
例如,现在我需要将 Firebase 行粘贴到项目级别 Gradle 文件中。我应该在哪里做?
这是 Firebase 代码:
buildscript {
repositories {
google() // Google's Maven repository
}
dependencies {
classpath 'com.google.gms:google-services:4.3.10'
}
}
allprojects {
repositories {
google() // Google's Maven repository
}
}
Run Code Online (Sandbox Code Playgroud)
在我之前的所有项目中,Gradle 结构也是这样。现在我有点困惑该怎么办。
android gradle firebase google-play-services google-cloud-platform
我有一个Challenge对象,它有自己的属性,我可以像这样成功地将它添加到数据库:
DocumentReference challengeRef=usersRef.document(loggedUserEmail).collection("challenges_feed").
document(callengeID);
challengeRef.set(currentChallenge);
Run Code Online (Sandbox Code Playgroud)
这就是它在数据库中的样子:
我想在数据库中创建一个新领域(在这个挑战下)latestUpdateTimetamp.它应该是这样的(我手动添加):
我试图将它设置constructor为object这样:
private Map<String,String> latestUpdateTimestamp;
public Challenge(String id, String senderName, String senderEmail) {
this.senderName=senderName;
this.senderEmail = senderEmail;
this.latestUpdateTimestamp= ServerValue.TIMESTAMP;
}
Run Code Online (Sandbox Code Playgroud)
但这就是我得到的database:
我想加入latestUpdateTimestamp到Challenge与Challenge在同一通话对象本身的数据库.可能吗?
在添加之前,我可以以某种方式将此timestamp作为属性添加到此object吗?
我知道我可以拨打新电话并添加此字段,但我想知道是否可以立即进行.
Firebase 宣布了一项名为 Firebase Authentication with Identity Platform 的新可选升级,但新功能已存在于 GCP Identity Platform 上。
正如这里的文档中提到的
Identity Platform 充当带有 Identity Platform 的 Firebase 身份验证的后端,并且提供的功能是相同的。
我想知道:
firebase google-cloud-platform firebase-authentication google-identity
有没有更简单的方法将Google Earth Engine(javascript)应用程序嵌入到网页中,而不遵循Google EE演示应用程序提供的折磨路线?
在地球引擎代码的环境,使得它快速和快速发展的核心GEE应用.但是,将GEE应用程序嵌入到网页中的时间比使用GEE应用程序要多10倍.
所有演示应用程序似乎都需要(a)使用Google App Engine,(b)使用Python重新编码GEE应用程序,(c)使用jinja2模板引擎将python代码链接到网页,以及(d)仍有一些挥之不去的javascript .
例如,在Trendy Lights演示中,服务器端脚本编写器server.py App Engine会启动并快速复杂化.(即使是更简单的演示也会走这条路.)
当用户首次在浏览器中加载应用程序时,他们的请求将被我们正在使用的框架webapp2路由到MainHandler类中的get()函数.
get()函数返回主网页(来自index.html)以及浏览器呈现地球引擎地图所需的信息以及要在地图上显示的多边形的ID.此信息通过名为Jinja2的模板引擎注入index.html模板,该引擎将Python上下文中的信息放入HTML中供用户的浏览器接收.
我将上述数据结构存储在Cloud Firestore中.我想保存dungeon_group存储在Firestore中的字符串数组.
我很难获取数据并存储为数组.我只能得到一个奇怪的字符串,但任何方法存储为字符串数组?以下是我使用的代码.
我可以在Swift中实现这一点,但不知道如何在Android中做同样的事情.
//迅速
Firestore.firestore().collection("dungeon").document("room_en").getDocument { (document, error) in
if let document = document {
let group_array = document["dungeon_group"] as? Array ?? [""]
print(group_array)
}
}
Run Code Online (Sandbox Code Playgroud)
// JAVA Android
FirebaseFirestore.getInstance().collection("dungeon").document("room_en").get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
@Override
public void onComplete(@NonNull Task<DocumentSnapshot> task) {
DocumentSnapshot document = task.getResult();
String group_string= document.getData().toString();
String[] group_array = ????
Log.d("myTag", group_string);
}
});
Run Code Online (Sandbox Code Playgroud)
控制台OutPut如下:{dungeon_group = [3P,紧急,任务挑战,下降,协作,每日,技术,正常]}
firebase ×8
android ×6
java ×4
dart ×1
firebase-cli ×1
flutter ×1
gradle ×1
ios ×1
javascript ×1
kotlin ×1
multi-select ×1
multi-touch ×1
xcode ×1