2016-07-06 29 views
0

我要建5個預定義的用戶應用程序,以瞭解Android的工作室, 我不知道如何使用JSON文件,因爲我只需要在我的火力放數據到它 所以這裏的問題,你可以看到有5個用戶每個主題都有一個列表,用戶可以將元素放入其中,其他用戶可以檢查這些元素或不(布爾變量) 問題是,我不知道如何來訪問我的數據將元素添加到列表中,並從我的java類等修改布爾變量..的Android/JSON使用檢索和添加元素的列表

{ 
    "His data" : { 
    "password" : "something", 
    "username" : "someone", 
    "list":[{ 
     "element": null, 
     "Boolean":false 
    } ] 
    }, 
    "His data" : { 
    "password" : "something", 
    "username" : "someone", 
    "list":[{ 
     "element": null, 
     "Boolean":false 
    } ] 
    }, 
    "her data" : { 
    "password" : "something", 
    "username" : "someone", 
    "list":[ { 
     "element": null, 
     "Boolean":false 
    } ] 
    }, 
    "My data" : { 
    "password" : "something", 
    "username" : "someone", 
    "list":[ { 
     "element": null, 
     "Boolean":false 
    } ] 
    }, 
    "her data" : { 
    "password" : "something", 
    "username" : "someone", 
    "list":[{ 
     "element": null, 
     "Boolean":false 
    } ] 
    } 
} 

回答

0

JSON是完美的從APIØ將數據發送到/在Java中工作時並非真正需要的東西。您將要定義簡單的Java對象(PO​​JO)來傳遞您的應用程序。然後使用像GSON這樣的庫來爲您翻譯JSON。

+0

謝謝凱西=) –

0

如果您正在使用火力地堡,實際上你可以閱讀和無需任何圖書館從JSON轉換爲Java對象,反之亦然寫入使用普通老式Java對象(PO​​JO)的數據庫。

以下是Firebase文檔的示例。如果你有一個用戶POJO:

@IgnoreExtraProperties 
public class User { 

    public String username; 
    public String email; 

    public User() { 
     // Default constructor required for calls to DataSnapshot.getValue(User.class) 
    } 

    public User(String username, String email) { 
     this.username = username; 
     this.email = email; 
    } 
} 

您可以使用下面的代碼添加新用戶:

private void writeNewUser(String userId, String name, String email) { 
    User user = new User(name, email); 

    mDatabase.child("users").child(userId).setValue(user); 
} 

所以你基本上是保存整個用戶對象插入到數據庫中。它使得代碼更清晰,因爲您不需要將任何JSON或POJO轉換爲對應的代碼,並且它允許您在代碼中使用對象而不是JSON。

,如果你需要更多的細節,請參考official Firebase documentation

+0

謝謝大衛,我已經嘗試過這種方式使用的數據,但是當我添加新元素到我的清單,我去火力沒有加入的元素我不明白爲什麼,當我想tu使用這個元素我可以使用它沒有問題你能解釋這個嗎?感謝您的幫助=) –

+0

你能證明你所嘗試過的嗎? –