我正在使用Firebase Recycler Adapter(Firebase UI库)来填充Recycler View.我想在条件上隐藏项目(行).我有一个包含回收者视图的LinearLayout.
我在populateViewHolder()循环器视图适配器的方法中将线性布局可见性设置为Gone .
@Override
protected void populateViewHolder(UsersViewHolder viewHolder, User user, int position) {
if (user.getUserEmail().equals(Utils.decodeEmail(userEmail))) {
viewHolder.llMain.setVisibility(View.GONE);
return;
}
viewHolder.tvUserEmail.setText(user.getUserEmail());
}
Run Code Online (Sandbox Code Playgroud)
它隐藏了LinearLayout,但行仍留有空白.
是否有任何方法我应该覆盖以克服这个或有什么方法来实现结果?
android firebase android-recyclerview firebase-realtime-database firebaseui
我知道你可以在web,ios和android中提取服务器时间戳 - 但是新的Cloud Functions for Firebase呢?我无法弄清楚如何获得服务器时间戳?用例是我想在收到电子邮件时为其添加时间戳.
在Web上,它是Firebase.database.ServerValue.TIMESTAMP
但这似乎在功能节点服务器接口中不可用?
我觉得已经很晚了,我可能会忽略这一点......
编辑
我正在这样初始化
admin.initializeApp(functions.config().firebase);
const fb = admin.database()
Run Code Online (Sandbox Code Playgroud)
然后,就像这样被调用..
Firebase.database.ServerValue.TIMESTAMP
Run Code Online (Sandbox Code Playgroud)
但是,这是来自客户端集成.在功能上,Firebase未像这样初始化.我试过了
admin.database().ServerValue.TIMESTAMP
Run Code Online (Sandbox Code Playgroud)
和
fb.ServerValue.TIMESTAMP
Run Code Online (Sandbox Code Playgroud) node.js firebase firebase-realtime-database google-cloud-functions firebase-admin
好吧,我是Firebase的新手,我希望在将新数据推送到数据库时拥有自己的密钥.
问题:
FireBase.push().setValue(mapped_values);
Run Code Online (Sandbox Code Playgroud)
这给出了如下结构:

如何在那里创建自己的自定义密钥?如用户名或其他东西.
我正在尝试从早期的firebase版本升级到我的离子项目中的最新版本.我按照本教程进行了升级.在这个页面的第4步中,我被困在最后一个声明中firebase.database().ref();.
错误信息
TypeError: firebase.database is not a function
Run Code Online (Sandbox Code Playgroud)
以下是我的代码.请帮助.
...
// Initialize Firebase
this.config = {
apiKey: "some-api-key",
authDomain: "myapp.firebaseapp.com",
databaseURL: "https://myapp.firebaseio.com",
storageBucket: "project-somenumber.appspot.com",
};
...
this.authWithOAuthPopup = function(type) {
var deferred = $q.defer();
console.log(service.config); // ---> Object {apiKey: "some-api-key", authDomain: "myapp.firebaseapp.com", databaseURL: "https://myapp.firebaseio.com", storageBucket: "project-somenumber.appspot.com"}
firebase.initializeApp(service.config);
console.log(firebase); // ---> Object {SDK_VERSION: "3.0.5", INTERNAL: Object}
service.rootRef = firebase.database().ref(); //new Firebase("https://rsb2.firebaseio.com"); ---> I am getting error on this line "TypeError: firebase.database is not a function" …Run Code Online (Sandbox Code Playgroud) javascript angularjs firebase ionic-framework firebase-realtime-database
我有一个应用程序,每5秒左右就会有新的孩子被添加到Firebase.我有成千上万的孩子.
在应用程序加载时,我想要处理最初的数千个,而不是每隔5秒钟处理一次的后续子节点.
您可能建议我使用值,处理所有内容,然后使用children_added.但我相信如果处理时间过长,我有可能错过一点.
有没有办法在Firebase中做到这一点,保证我不会错过任何一点?
我正在使用谷歌Firebase的实时数据库,我正在尝试检查一个孩子是否存在.
我的数据库结构如下
- / (root)
- /users/
–- /james/
-- /jake/
- /rooms/
-- /room1/
--- (room 1 properties)
-- /room2/
--- (room 2 properties)
Run Code Online (Sandbox Code Playgroud)
我想检查room1是否存在.我尝试过以下方法:
let roomName:String = "room1"
roomsDB.child(roomName).observeSingleEventOfType(.Value) {
(snap:FIRDataSnapshot) in
let roomExists:Bool = snap.value != nil ? "TAKEN" : "NOT TAKEN"
}
Run Code Online (Sandbox Code Playgroud)
在访问snap.value它时返回该房间属性的JSON,但我如何检查room(/rooms/room1/)是否在那里开始?
评论是否需要澄清
我正在创建我的第一个Firebase应用程序.它的一个要求是它在网络不可用时运行.Firebase指南指出:
启用磁盘持久性使我们的应用程序即使在应用程序重新启动后也能保持其所有状态.我们只需一行代码即可启用磁盘持久性. FirebaseDatabase.getInstance()setPersistenceEnabled(真). 启用磁盘持久性后,我们的同步数据和写入将在应用程序重新启动后持久保存到磁盘,我们的应用程序应在脱机情况下无缝工作.
另一个要求是使用Google登录.所以在我MainActivity检查用户是否已登录时,如果没有,我启动了SignInActivity.( SignInActivity来自Firebase示例.)SignInActivity工作,用户登录,并MainActivity再次启动.现在我的应用程序在代码行崩溃,FirebaseDatabase.getInstance().setPersistenceEnabled(true); 并显示以下消息:
必须在FirebaseDatabase实例的任何其他使用之前调用setPersistenceEnabled().
现在,如果我重新启动我的应用程序,用户已登录,SignInActivity未启动,我的应用运行正常.
用户登录后如何避免此崩溃的任何建议?
当我发布这个问题时,我收到了一个重新安置FirebaseDatabase.getInstance().setPersistenceEnabled(true);
到我的"应用程序类"的建议.我得到完全相同的结果...... SignInActivity开始,完成,然后我就崩溃了setPersistenceEnabled.
以下是我的MainActivity onCreate:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Calls to setPersistenceEnabled() must be made before any other usage of FirebaseDatabase instance.
// Crash here upon returning from SignInActivity.
FirebaseDatabase.getInstance().setPersistenceEnabled(true);
mFirebaseDbReference = FirebaseDatabase.getInstance().getReference();
// Initialize Firebase Auth
mFirebaseAuth = FirebaseAuth.getInstance();
mFirebaseUser = mFirebaseAuth.getCurrentUser();
if (mFirebaseUser == null) {
// …Run Code Online (Sandbox Code Playgroud) firebase中是否有方法可以检查DB中是否存在值?Firebase有方法.exists(),但根据文档,它只检查键.
我有以下结构:
{
"users": {
"-KKUmYgLYREWCnWeHCvO": {
"fName": "Peter",
"ID": "U1EL9SSUQ",
"username": "peter01"
},
"-KKUmYgLYREWCnWeHCvO": {
"fName": "John",
"ID": "U1EL5623",
"username": "john.doe"
}
}
}
Run Code Online (Sandbox Code Playgroud)
我想检查是否U1EL5623存在具有值的ID .
我在firebase中推送数据,但我想在我的数据库中存储唯一的id.有人可以告诉我,如何推送具有唯一ID的数据.
我是这样想的
writeUserData() {
var key= ref.push().key();
var newData={
id: key,
websiteName: this.webname.value,
username: this.username.value,
password : this.password.value,
websiteLink : this.weblink.value
}
firebase.database().ref().push(newData);
}
Run Code Online (Sandbox Code Playgroud)
错误是"ReferenceError:ref未定义"
firebase ×10
firebase-realtime-database ×10
android ×3
javascript ×3
angularjs ×1
fire-sharp ×1
firebaseui ×1
java ×1
node.js ×1
reactjs ×1
swift ×1