gpt4 book ai didi

android - 如何在 Firebase 中插入两个表的数据?

转载 作者:行者123 更新时间:2023-11-29 15:40:43 26 4
gpt4 key购买 nike

我是 Firebase 的新手,我打算从 SQLite 切换到 Firebase。

我在 SQLite 中有 2 个表。

  • 第一个是存储库名称。这将对所有用户通用,应用程序的所有用户都可以访问。

  • 第二个是BOOKMARKS。这将特定于特定用户。我知道 Firebase 中没有表结构。

问题是,我如何在 Firebase 中构建此类数据?我曾尝试了解 Firebase 的树结构,但没有获得此类场景的帮助。

最佳答案

要创建两个表,您必须为第二个表创建 DatabaseReference 对象。您还必须创建第二个节点。

public class MainActivity extends AppCompatActivity {

private DatabaseReference mFirebaseDatabase;
private FirebaseDatabase mFirebaseInstance;

//Create an object of DatabaseReference to create second table
private DatabaseReference mFirebaseDatabase1;

private String userId;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

mFirebaseInstance = FirebaseDatabase.getInstance();

// get reference to 'RepositoryName' node
mFirebaseDatabase = mFirebaseInstance.getReference("RepositoryName");

// get reference to 'Bookmarks' node
mFirebaseDatabase1 = mFirebaseInstance.getReference("Bookmarks");

// Save / update the user
btnSave.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String name = inputName.getText().toString();
String email = inputEmail.getText().toString();
String password = inputPassword.getText().toString();
String confirmPassword = inputConfirmPassword.getText().toString();

// Check for already existed userId
if (TextUtils.isEmpty(userId)) {
createUser(name, email, password, confirmPassword);
}
}
});
}

/**
* Creating new user node under 'users'
*/
private void createUser(String name, String email, String password, String confirmPassword) {
// TODO
// In real apps this userId should be fetched
// by implementing firebase auth
if (TextUtils.isEmpty(userId)) {
/*userId store the unique key like KYNGnlMMIf3w11VukqD
in this key store usename and email as JSON format in firebase cloud database*/

// "mFirebaseDatabase" is for table1(i.e RepositoryName)
//userId = mFirebaseDatabase.push().getKey();

// "mFirebaseDatabase1" is for table2(i.e Bookmarks)
userId = mFirebaseDatabase1.push().getKey();
}

User user = new User(name, email, password, confirmPassword);

//insert data in firebase database RepositoryName
mFirebaseDatabase.child(userId).setValue(user);

//insert data in firebase database Bookmarks
mFirebaseDatabase1.child(userId).setValue(user);
}
}

希望这对你有帮助:)

关于android - 如何在 Firebase 中插入两个表的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41031700/

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