有没有更简单的方法将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中供用户的浏览器接收.
例如,考虑一个电子商务应用程序,其中用户可以上传尽可能多的项目,并且这些项目具有类别和子类别。
如何在发布的每个项目中将 user_id 设置为外键,以及在用户集合中设置 item_id 以查询特定用户发布的所有项目。
我们如何利用Firestore 中的引用数据类型来设置外键?
还有其他设置外键的方法吗?
数据库结构:
Users/doc_id/name..
Categories/fashion/clothing/auto_doc_id/type:denims
Run Code Online (Sandbox Code Playgroud) 我想知道是否有办法检查 Cloud Firestore 文档中是否存在属性。类似的东西document.contains("property_name")或者是否存在文档属性。
我正在尝试使用Firebase与Glide集成,由于某些原因,
Glide.using()无法解决此方法.我添加了:
compile 'com.firebaseui:firebase-ui-storage:0.6.0'
Run Code Online (Sandbox Code Playgroud)
进入build.gradle并且还:
compile 'com.github.bumptech.glide:glide:4.0.0-RC1'
Run Code Online (Sandbox Code Playgroud)
这是我试图使用Glide的部分:
mStorageRef = FirebaseStorage.getInstance().getReference();
mStorageRef.child("images/Puffer-fish-are-pretty-damn-cute.jpg");
// Load the image using Glide
Glide.with(this)
.using(new FirebaseImageLoader()) // cannot resolve method using!
.load(mStorageRef)
.into(imageView);
Run Code Online (Sandbox Code Playgroud)
我希望你能帮助我,没有在网上找到任何解决方案.
我正在使用Firebase实时数据库制作Android应用程序.当新用户在我的应用上注册时,该用户的数据将保存在Firebase数据库中.
用户必须提供以下详细信息才能注册:
每当新用户尝试注册时,我必须确保每个用户的用户名都是唯一的,因此我检查数据库是否username用户输入的数据库已存在于数据库中.
为此,我编写了以下方法:
private boolean usernameExists(String username) {
DatabaseReference fdbRefer = FirebaseDatabase.getInstance().getReference("Users/"+username);
return (fdbRefer != null);
}
Run Code Online (Sandbox Code Playgroud)
我的这种方法背后的逻辑是,如果getReference方法无法找到引用到指定的路径,它会返回null,这样我可以返回是否fdbRefer是null或不是.如果fdbRefer是null,则表示username数据库中不存在.
此方法的问题在于它始终返回true输入是否username存在于数据库中.这让我相信这fdbRefer永远不会null.
这让我想到了我的问题......
什么getReference方法返回时,它无法找到在指定的路径firebase数据库,什么是检查是否正确的方法username已经在数据库中存在与否?
我有一个看起来像这样的查询:
Query first = ref.orderBy("name", Query.Direction.ASCENDING).limit(10);
Run Code Online (Sandbox Code Playgroud)
这是我向我显示数据的方式RecyclerView.
firestoreRecyclerOptions = new FirestoreRecyclerOptions.Builder<ModelClass>().setQuery(query, ModelClass.class).build();
myFirestoreRecyclerAdapter = new MyFirestoreRecyclerAdapter(firestoreRecyclerOptions);
recyclerView.setAdapter(myFirestoreRecyclerAdapter);
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用此处指定的分页,但我无法解决它.
first.get().addOnSuccessListener(new OnSuccessListener<QuerySnapshot>() {
@Override
public void onSuccess(QuerySnapshot documentSnapshots) {
DocumentSnapshot lastVisible = documentSnapshots.getDocuments().get(documentSnapshots.size() - 1);
Query second = ref.orderBy("name", Query.Direction.ASCENDING).startAfter(lastVisible).limit(10);
//Create a firestoreRecyclerOptions and setting the adapter
}
});
Run Code Online (Sandbox Code Playgroud)
有没有办法通过组合使用查询游标来分页查询FirestoreRecyclerAdapter?这甚至可能吗?
java android firebase android-recyclerview google-cloud-firestore
我得到了一个相当简单的错误:
Document references must have an even number of segments.
Run Code Online (Sandbox Code Playgroud)
我知道它告诉我什么以及如何修复它,但是它在集合引用中给了我这个错误。
CollectionReference collectionReference = getFirebaseInstance()
.collection(Constants.USERS)
.document(userId)
.collection(Constants.CONTACTS);
Run Code Online (Sandbox Code Playgroud)
在我的数据库中,路径是 (COLLECTION) < DOCUMENTS > (COLLECTION) < DOCUMENTS > 我试图在 users/{id}/contacts 处获取用户的所有联系人,但它只是抛出这个错误,有什么想法吗?
getFirebaseInstance 是我创建的一种方法,用于始终获取当前
FirebaseFirestore.getInstance();
Run Code Online (Sandbox Code Playgroud) 我从我的移植Android应用程序的项目GCM来FCM。为此,我在 Android Studio 中使用 Firebase 助手工具并遵循 Google 开发人员指南中的说明。一切顺利,并FCM根据助手工具更改了我的应用程序代码。现在,是时候运行和测试应用程序了。我得到了以下奇怪的错误:
无法访问未找到 com.google.android.gms.internal.zzbfm 的 zzbfm 类文件
我在使用谷歌地图并尝试设置标记位置时遇到此错误。这是我的应用程序级别 gradle :
buildscript {
repositories {
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
classpath 'io.fabric.tools:gradle:1.+'
}
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
repositories {
maven { url 'https://maven.fabric.io/public' }
mavenCentral()
maven { url 'https://dl.bintray.com/kennyc1012/maven' }
}
android {
signingConfigs {
msapp {
}
}
compileSdkVersion 26
buildToolsVersion '27.0.3'
defaultConfig {
applicationId "com.package"
minSdkVersion 16
targetSdkVersion 28
multiDexEnabled true …Run Code Online (Sandbox Code Playgroud) android google-maps firebase android-gradle-plugin firebase-cloud-messaging
我可以通过以下方法将数据传输到 Firebase Firestore 文档:
1) 添加()
2)设置()
我很清楚如何将数据添加到 Firestore,其中没有任何混淆。但是我的问题是 Firebase Firestore 中的“set”方法有两个 setOption,例如合并和合并字段。这两个设置选项有什么区别,我认为这两个选项都在做同样的工作。如何实现 setOption 'mergeFIeld'?我找不到它的任何文档。
如果我有一个简单的集合,例如:
Fruits:
Banana:
title: "Banana"
vitamins: ["potassium","B6","C"]
Apple:
title: "Apple"
vitamins: ["A","B6","C"]
Run Code Online (Sandbox Code Playgroud)
如果我要搜索含有维生素B6的水果,则可以执行以下操作:
db.collection("Fruits").whereField("vitamins", arrayContains: "A").getDocuments() { (querySnapshot, err) in
if let err = err {
print("Error getting documents: \(err)")
} else {
for document in querySnapshot!.documents {
print("\(document.documentID) => \(document.data())")
}
}
}
Run Code Online (Sandbox Code Playgroud)
这样一来,我便可以看到我收藏的所有含有维生素A的水果。但是,我如何能够搜索含有多种维生素(例如维生素B6和C)的水果?我不能简单地搜索["B6","C"],因为那样会寻找数组,而不是独立的字符串。
在Cloud Firestore中甚至有可能吗?如果没有,还有其他替代方法吗?