2017-04-08 20 views
0

への書き込み:私はたびにユニークなIDを持つ新しいユーザーを新しいノードを作成したいFirebaseアンドロイド - 私は私のAndroidアプリのために以下のようなデータベースを作成しようとしていますデータベース

enter image description here

レジスタ。一意のIDは、Firebaseが生成したIDではなく、電子メール登録のものです。私はそのIDを取得する方法を知っています。設定あなたのFirebaseアプリでFirebase

への接続の作成

答えて

0

は、XcodeとオープンGroceryListTableViewController.swiftに行きます。プロパティが定義されている場合は、次の行を追加します。

let ref = FIRDatabase.database().reference(withPath: "grocery-items") 

これは、提供パスを使用してFirebaseデータベースへの接続を確立します。ドキュメントでは、これらのFirebaseプロパティは、Firebaseデータベース内の場所を参照するため、参照と呼ばれています。

要するに、このプロパティを使用すると、指定した場所にデータを保存して同期することができます。

ベースURLが使用されていないことがわかります。代わりに、それは食料雑貨品の子供の道を使用します。 FirebaseデータベースはJSONNoSQLデータベースなので、すべてのデータはJSONとして保存されます。

JSONは、階層キー値データ構造です。キーは、他のオブジェクトを指す値を含むことができるオブジェクトを指します。 JSONデータは単純にキー値のペアのツリーです。

Firebaseの場合、キーはURLで、値は数値、文字列、ブール値またはオブジェクトの任意のデータです。

0

あなたの要件を達成するために、コードの下に使用することができます。

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); 

ここで、のuserDataはモデルクラスです:

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; 
} 

}

ホープ、このことができます。

+0

ありがとうございます!それは大いに役立ちます。 –

+0

こんにちは、答えをupvote。 –

+0

完了。また、updateChildrenの機能について説明してください。 –

0
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); 
関連する問題