我想创建类似下面的我的Android应用程序数据库:火力地堡的Android - 写入数据库
我希望每次都创建一个新的节点具有唯一ID的新用户寄存器。唯一ID来自电子邮件注册 - 而不是Firebase生成的ID。我知道如何获得该ID。
我想创建类似下面的我的Android应用程序数据库:火力地堡的Android - 写入数据库
我希望每次都创建一个新的节点具有唯一ID的新用户寄存器。唯一ID来自电子邮件注册 - 而不是Firebase生成的ID。我知道如何获得该ID。
创建到Firebase
与您Firebase
的应用程序设置,去Xcode
和开放GroceryListTableViewController.swift
。其中属性定义,添加以下内容:
let ref = FIRDatabase.database().reference(withPath: "grocery-items")
这将建立使用提供的路径,你Firebase
数据库的连接。在文档中,这些Firebase
属性被称为引用,因为它们引用您的Firebase
数据库中的某个位置。
简而言之,此属性允许将数据保存并同步到给定位置。
您会注意到基本URL未被使用。相反,它使用杂货项目的子路径。 Firebase
数据库是一个JSON
NoSQL
数据库,所以所有的数据存储为JSON
。
JSON
是一个分层的键值数据结构 - 键是指可以包含指向其他对象的值的对象。数据只是一个关键值对的树。
使用Firebase
,键是一个URL,值是可以是数字,字符串,布尔值或对象的任意数据。
您可以使用下面的代码,以达到您的要求:
private DatabaseReference mDatabase;
mDatabase = FirebaseDatabase.getInstance().getReference();
UserData userData = new UserData();
Map<String, Object> postValues = userData.toMap();
childUpdates.put("/Users/" + UniqueId, postValues);
mDatabase.updateChildren(childUpdates);
这里,用户数据是一个模型类:
public class UserData {
public String getLat() {
return Lat;
}
public void setLat(String Lat) {
this.Lat= Lat;
}
public String getLng() {
return Lng;
}
public void setLng(String Lng) {
this.Lng= Lng;
}
public String Lat;
公共字符串LNG;
public UserData (String Lat, String Lng) {
this.Lng= Lng;
this.Lat= Lat;
}
@Exclude
public Map<String, Object> toMap() {
HashMap<String, Object> result = new HashMap<>();
result.put("Lat", Lat);
result.put("Lng", Lng);
return result;
}
}
希望,这会有所帮助。
BHelper db =new DBHelper();// your dbHelper
ContentValues values = new ContentValues();
values.put("firstName","Ahmad");
values.put("lastName","Aghazadeh");
long insertedId= db.getSQLiteDatabase().insert("user", "", values) ;
String sql = "INSERT INTO [user](firstName,lastName) VALUES (\"Ahmad\",\"Aghazadeh\"); select last_insert_rowid()";
DBHelper itemType =new DBHelper();// your dbHelper`enter code here`
c = db.rawQuery(sql, null);
if (c.moveToFirst())
result = c.getLong(0);
谢谢!这有很大帮助。 –
请问,答案是肯定的。 –
完成。另外,你能解释一下updateChildren的功能吗? –