我想創建類似下面的我的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的功能嗎? –