我向Firebase添加了一个ArrayList,但我不知道如何取回它.
mDatabase.child("list").child("person").setValue(myValues);
//This is how I added it to my firebase
Run Code Online (Sandbox Code Playgroud)
我试过的是这个.这是我的错误消息
com.google.firebase.database.DatabaseException:无法将java.util.ArrayList类型的对象转换为Item类型
ValueEventListener postListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot snapshot) {
for (DataSnapshot data : snapshot.getChildren()) {
GenericTypeIndicator<HashMap<String, Item>> t = new GenericTypeIndicator<HashMap<String, Item>>() {};
HashMap<String, Item> beans = data.getValue(t);
Set set = beans.entrySet();
Iterator i = set.iterator();
// Display elements
while (i.hasNext()) {
Map.Entry me = (Map.Entry) i.next();
Toast.makeText(getContext(), me.getKey() + ": ", Toast.LENGTH_LONG).show();
Toast.makeText(getContext(), me.getValue().toString(), Toast.LENGTH_LONG).show();
System.out.println(me.getValue());
}
}
}
@Override
public void onCancelled(DatabaseError …Run Code Online (Sandbox Code Playgroud) 当我在Firebase中寻找列表时,我想在屏幕上显示一个进度条.我怎样才能做到这一点?
现在的代码不显示进度条.如果你能帮助我,谢谢你.
@Override
protected void onResume() {
super.onResume();
openProgressBar();
callConnection();
mDatabaseReference.child("bakeries").addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (dataSnapshot.getChildrenCount() > 0) {
closeProgressBar();
adapter = new FirebaseRecyclerAdapter<Bakery, BakeryViewHolder>(
Bakery.class,
R.layout.card_bakery,
BakeryViewHolder.class,
//referencing the node where we want the database to store the data from our Object
mDatabaseReference.child("bakeries").getRef()
) {
@Override
protected void populateViewHolder(BakeryViewHolder viewHolder, final Bakery model, final int position) {
if (tvNoBakeries.getVisibility() == View.VISIBLE) {
tvNoBakeries.setVisibility(View.GONE);
}
if (icBakery.getVisibility() == View.VISIBLE) {
icBakery.setVisibility(View.GONE);
}
viewHolder.tvBakeryName.setText(model.getFantasyName());
viewHolder.tvPhone.setText(model.getFone());
viewHolder.tvDistrict.setText(model.getAdress().getDistrict()); …Run Code Online (Sandbox Code Playgroud) 我正在开发一个项目,用户请求我们的代客服务,另一方面代客接受请求.
我使用Firebase作为后端,并根据要求客户uid保存在'request'孩子.
当代客接受请求时,客户uid应从"请求"节点移动到"正在进行"节点.
我怎样才能做到这一点?
我正在研究 Firebase Web Javascript,但在我的项目中我想运行一个 PHP 脚本,但我不知道如何运行该脚本。
HTML
<form method="POST" action="./abcd.php">
<input type="email" id="mc-email" name="mc-email" required/>
<input type="submit" value="Submit">
</form>
PHP Script
<?php
echo 'Hello World';
?>
Run Code Online (Sandbox Code Playgroud)
请仔细阅读我上面的帖子,让我知道如何在我的 Firebase Web 项目中运行 PHP 脚本。
我在我的 android 应用程序中使用 Firebase。我的目的是应用程序的用户应该能够将数据写入数据库,但我不希望用户注册,所以我使用匿名登录。
我有一个用户可以提交并将提交到数据库的表单。在提交时,匿名登录可能尚未完成。是否可以在 Firebase 中将写入指令调用到数据库并在本地写入并在用户匿名登录时提交?
我知道 Firebase 确实提供离线功能。但是我假设如果我在登录之前调用 write database,它会给我一个错误。
android firebase firebase-security firebase-authentication firebase-realtime-database
加载node_modules到我的某个网页时遇到问题.我安装了npm(node.js)并且我想require()在我的网站上使用函数来初始化Firebase而我不知道为什么会抛出参考错误
ReferenceError:找不到变量:require.
我正在使用bootstrap模板,并且有一些require()函数可以工作的文件,所以很奇怪.在我调用函数时,文本下面是命令require().(当然Firebase使用保存在node_modules中
npm firebase --save` (`../node_modules/firebase`)
Run Code Online (Sandbox Code Playgroud)
也尝试了类似的东西,require('../firebase')但没有问题):
<script>
var firebase= require('firebase');
var config = {
apiKey: "------------",
authDomain: "------.firebaseapp.com",
databaseURL: "https://-----.firebaseio.com/",
storageBucket: "gs://----.appspot.com",
};
firebase.initializeApp(config);
</script>
Run Code Online (Sandbox Code Playgroud)
有人可以帮我解决我的问题吗?非常感谢!
我已经阅读了有关此问题的所有问题,但我仍然没有找到答案.所以不要将其标记为重复.
我正在使用AngularFire和Angular 2以及Typescript.我正在使用FirebaseListObservable从端点中提取24条最新记录的列表.这是我的代码:
import { Component } from '@angular/core';
import { AngularFire, FirebaseListObservable } from 'angularfire2';
@Component({
selector: 'story-list',
templateUrl: './story-list.component.html',
styleUrls: ['./story-list.component.scss']
})
export class StoryListComponent {
stories: FirebaseListObservable<any[]>;
constructor(af: AngularFire) {
this.stories = af.database.list('/stories', {
query: {
limitToLast: 24
}
});
}
}
Run Code Online (Sandbox Code Playgroud)
这将按预期返回24个最新故事的列表,但是当我在页面上呈现它们时:
<p *ngFor="let story of stories | async">{{ story.title }}</p>
Run Code Online (Sandbox Code Playgroud)
它显示了最古老的故事,最新的故事在底部.我明白为什么会这样,而且我并没有声称这是一个问题,但我该如何扭转呢?我希望能够在查询中反转这一点,但如果这不可能,我会开放以某种方式在渲染中反转它.
无论您的答案是什么,请不要只链接到文档.没有AngularFire的文档可以完全解释这一点.我读过每一个字.请提供真实的工作代码.
但是,我绝对不会接受的一个解决方案是在创建时在记录中存储负数日期,然后根据该日期进行排序.这是我听过的最糟糕的解决方案,真正的数据库系统允许您在查询中执行此操作.所以请不要建议.
如果您有任何想法,我将不胜感激.我不想再使用其他产品,因为我喜欢Firebase.
javascript angularjs firebase angularfire firebase-realtime-database
我有一些函数可以从Firebase读取数据,但有时候我从来没有得到过响应(或者它被大量延迟).我在这里读到,Firebase可能会在收到数据之前关闭套接字连接.看起来这里有人有类似的问题,但从未发布过解决方案.
以下是我从Firebase下载用户数据的代码示例.
// loads the current user's information
static func loadUserDataWithCompletion(completion: (UserInfo) -> Void) {
let ref = FIRDatabase.database().reference()
print("loading current user data...")
let uid = (FIRAuth.auth()?.currentUser?.uid)!
ref.child("users").queryOrderedByKey().queryEqualToValue(uid).observeEventType(.ChildAdded, withBlock: { (snapshot) in
print("found user data!")
if let dictionary = snapshot.value as? [String:AnyObject] {
let info = userFromDict(dictionary)
// execute code slated for completion
completion(info)
}
})
}
Run Code Online (Sandbox Code Playgroud)
有什么方法我可以使用observeEventType?也许那时我至少会获得有关问题发生原因的更多信息.
使用Spring(Java)和Firebase处理后端.我们使用Firebase令牌(附加为身份验证标头)来识别用户,使用内置的UID.
不幸的是,从令牌中提取此UID必须异步完成,因此我只能从onSuccess回调中获取令牌.要提供响应,我必须从下面的deleteUser方法返回一个对象,但是在得到成功/失败回调之前我无法知道响应是什么!
我可以想象一种方法,通过等待一个标志来设置我的回调,或者有一些凌乱的时间,但是我想知道是否有一种干净的方式来处理这个而不引入竞争条件或许多额外的代码.有人可以帮忙吗?
@RequestMapping(value = "/users", method = RequestMethod.DELETE)
public @ResponseBody String deleteUser(@RequestHeader("Authentication") String token) {
FirebaseUtil.getUid(token, new OnSuccessListener<FirebaseToken>() {
@Override
public void onSuccess(FirebaseToken decodedToken) {
String uid = decodedToken.getUid();
//RETURN SUCCESSFUL HERE
}
}, new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
//RETURN FAILURE HERE
}
});
//MUST RETURN SOMETHING HERE?
User userToDelete = userDao.get(uid); //DONT HAVE THE uid HERE
userDao.delete(uid);
clearUserAccounts(userToDelete);
return uid + " was deleted";
} …Run Code Online (Sandbox Code Playgroud) 我需要在Firebase中导入一个包含电子邮件和密码的用户列表.
我正在尝试使用CLI auth:import命令在Firebase中导入用户.(https://firebase.google.com/docs/cli/auth-import)
我选择了HMAC_MD5哈希算法,
我正在使用helpmeplease作为加密的秘密字符串 - >在Base64中,因为aGVscG1lcGxlYXNl
我正在使用mypass作为测试密码:使用HMAC_MD5加密并秘密"helpmeplease"它因为3a52377f6635d298436013953a1ce4dd而在Bas64中因为M2E1MjM3N2Y2NjM1ZDI5ODQzNjAxMzk1M2ExY2U0ZGQ =
我正在使用users.json
{ "users": [
{
"localId": "9997",
"email": "test@test.com",
"passwordHash": "M2E1MjM3N2Y2NjM1ZDI5ODQzNjAxMzk1M2ExY2U0ZGQ=",
"displayName": "9997",
}
] }
Run Code Online (Sandbox Code Playgroud)
我使用命令:
**firebase auth:import --hash-algo='HMAC_MD5' --hash-key='aGVscG1lcGxlYXNl' --project='my-project-name-test' users.json**
Run Code Online (Sandbox Code Playgroud)
结果是:
处理users.json(194字节)
开始导入1个帐户.
✔ 成功导入.
并在用户数据库中导入用户.
但是..当我尝试使用auth()登录时 .igninWithEmailAndPassword('test@test.com','mypass') ..我收到此错误:
{[错误:密码无效或用户没有密码.]代码:'auth/wrong-password',
消息:'密码无效或用户没有密码.' }
我无法弄清楚出了什么问题.你能帮助我吗?
谢谢
firebase ×10
android ×4
java ×3
javascript ×3
angularfire ×1
angularjs ×1
asynchronous ×1
html ×1
ios ×1
node.js ×1
php ×1
spring ×1
swift ×1