gpt4 book ai didi

android - 为个人用户组织 Firebase 数据库,想法?

转载 作者:行者123 更新时间:2023-11-30 00:06:47 25 4
gpt4 key购买 nike

在我的 Android 应用程序中,我使用 Firebase Auth 程序实现了谷歌登录。作为:

private void signIn() {
Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient);
startActivityForResult(signInIntent, SIGNIN_CODE);
}

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == SIGNIN_CODE) {
Task<GoogleSignInAccount> task = GoogleSignIn.getSignedInAccountFromIntent(data);
try {
// Authenicate with my Firebase
GoogleSignInAccount account = task.getResult(ApiException.class);
ProgressDialog dialog = new ProgressDialog(this); //ProgressDialog.show(this, null, "Please wait while we load sign in..", true);
dialog.setMessage("Please wait while we load sign in..");
dialog.setIndeterminate(true);
Drawable drawable = new ProgressBar(this).getIndeterminateDrawable().mutate();
drawable.setColorFilter(ContextCompat.getColor(this, R.color.progress),
PorterDuff.Mode.SRC_IN);
dialog.setIndeterminateDrawable(drawable);
dialog.show();

firebaseAuthWithGoogle(account);
} catch (ApiException e) {
// Google Sign In failed?
Log.w(TAG, "Google sign in failed", e);
}
}
} //A lot more stuffs etc etc..

我已经有一个 SQlite 离线数据库。现在只针对登录用户,我希望用户可以将 SQlite 数据库的内容与 firebase 数据库同步,用户可以稍后在线访问/同步。

但是如何为具有 UID 等的个人登录用户组织单个 firebase 数据库?

更具体一点的建议/教程会很好 :)

最佳答案

这是可以做到的,您需要限制对数据的访问,以便每个用户只能通过定义如下所示的 firebase 安全规则来访问他/她的数据。

service cloud.firestore {
match /databases/{database}/documents {
match /yourrootnode/{uid} {
allow read, write: if request.auth.uid == uid;
}
}

从应用程序中保存用户特定数据,如下所示,这里的 dataModelObj 对象应包含 uid 字段,您需要从用户对象填充它,如 dataModelObj .setUid(user.getUid());

  firestoreDB.collection("yourrootnode")
.add(dataModelObj)
.addOnSuccessListener(new OnSuccessListener<DocumentReference>() {

.....

然后你可以像这样只读取应用中的用户数据。

 firestoreDB.collection("yourrootnode")
.whereEqualTo("uid", user.getUid())
.get()
.addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
....
}

更多信息您可以查看http://www.zoftino.com/android-firebase-email-password-authentication

关于android - 为个人用户组织 Firebase 数据库,想法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48831813/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com