在Android中为此JSON文件创建数据模型

在Android中为此JSON文件创建数据模型,android,json,data-modeling,Android,Json,Data Modeling,我现在开始在安卓系统中使用Firebase,所以我在创建数据模型方面遇到了问题。所以请帮助我从安卓studio为下面的JSON创建数据模型 比如: 这段代码在firebase中生成一个简单的模型并存储数据,但我想存储更多的数据,如下所示 你们的任何帮助都将非常感激 "restaurants" : [ { "name": "Burger Bar", "backgroundImageURL": "http://somthing.com/Images/1.png", "cate

我现在开始在安卓系统中使用Firebase,所以我在创建数据模型方面遇到了问题。所以请帮助我从安卓studio为下面的JSON创建数据模型

比如:

这段代码在firebase中生成一个简单的模型并存储数据,但我想存储更多的数据,如下所示

你们的任何帮助都将非常感激

"restaurants" : [
{
    "name": "Burger Bar",
    "backgroundImageURL": "http://somthing.com/Images/1.png",
    "category" : "Burgers",
    "contact": {
        "phone": "1231231231",
        "formattedPhone": "(123) 123-1231",
        "twitter": "1twitter"
    },
    "location": {
        "address": "5100 Belt Line Road, STE 502",
        "crossStreet": "Dallas North Tollway",
        "lat": 32.950787,
        "lng": -96.821118,
        "postalCode": "75254",
        "cc": "US",
        "city": "Addison",
        "state": "TX",
        "country": "United States",
        "formattedAddress": [
            "5100 Belt Line Road, STE 502 (Dallas North Tollway)",
            "Addison, TX 75254",
            "United States"
        ]
    }
} 
我找到了解决办法:)

解决方案:

1) 在Android Studio中创建一个新项目 2) 更改数据库的规则以无需身份验证即可访问它。像

3) 首先,您必须在Firebase控制台上创建新项目

4) 在build.gradle(模块:app)中添加此依赖项

5) 添加新类Restaurants.java

public class Restaurants {

    String name;
    String imageUrl;
    String catagory;
    Contacts contacts = new Contacts();
    Location location = new Location();

    public Restaurants(String name, String imageUrl, String catagory, Contacts contacts, Location location) {
        this.name = name;
        this.imageUrl = imageUrl;
        this.catagory = catagory;
        this.contacts = contacts;
        this.location = location;
    }

    public String getCatagory() {
        return catagory;
    }

    public void setCatagory(String catagory) {
        this.catagory = catagory;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getImageUrl() {
        return imageUrl;
    }

    public void setImageUrl(String imageUrl) {
        this.imageUrl = imageUrl;
    }

    public Location getLocation() {
        return location;
    }

    public void setLocation(Location location) {
        this.location = location;
    }

    public Contacts getContacts() {
        return contacts;
    }

    public void setContacts(Contacts contacts) {
        this.contacts = contacts;
    }
}
6) 创建类Contacts.java

public class Contacts {

    String phone, formattedPhone, twitter;

    // 0 argument constructor to initialize the Contatcs Object in Resturants.java
        public Contacts() {}

        public Contacts(String phone, String formattedPhone, String twitter) {
            this.phone = phone;
            this.formattedPhone = formattedPhone;
            this.twitter = twitter;
        }

        public String getPhone() {
            return phone;
        }

        public void setPhone(String phone) {
            this.phone = phone;
        }

        public String getFormattedPhone() {
            return formattedPhone;
        }

        public void setFormattedPhone(String formattedPhone) {
            this.formattedPhone = formattedPhone;
        }

        public String getTwitter() {
            return twitter;
        }

        public void setTwitter(String twitter) {
            this.twitter = twitter;
        }
    }
7) 创建class Location.java

public class Location {

    String address, city, state, country;
    ArrayList<Address> addressList;

    public Location(){}

    public Location(String address, String city, String state, String country, ArrayList<Address> addressList) {
        this.address = address;
        this.city = city;
        this.state = state;
        this.country = country;
        this.addressList = addressList;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public String getState() {
        return state;
    }

    public void setState(String state) {
        this.state = state;
    }

    public String getCountry() {
        return country;
    }

    public void setCountry(String country) {
        this.country = country;
    }

    public ArrayList<Address> getAddressList() {
        return addressList;
    }

    public void setAddressList(ArrayList<Address> addressList) {
        this.addressList = addressList;
    }
}
9) 现在MainActivity.java类将是这样的

public class MainActivity extends AppCompatActivity {

    ArrayList<Restaurants> restaurantsList;
    ArrayList<Address> addressList;

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

        Firebase.setAndroidContext(this);

        //Initializing the ArrayLists
        restaurantsList = new ArrayList<Restaurants>();
        addressList = new ArrayList<Address>();

        //Adding data to ArrayLists
        addressList.add(new Address("Street 5", "Mohafiz Town"));
        addressList.add(new Address("Street 6", "Wapda Town"));

        restaurantsList.add(new Restaurants("Ehsan", "url1", "student", new Contacts("0303-5367228", "no", "my Twitter"),
               new  Location("202-A", "GRW","pak","Pakistan", addressList)));

        //Storing Data to Firebase
        Firebase ref = new Firebase("https://fir-datamodelingprac.firebaseio.com/");
        ref.setValue(restaurantsList);
    }
}
public类MainActivity扩展了AppCompatActivity{
ArrayList餐厅列表;

ArrayList

您尝试过做什么?这真的与firebase相关还是只是将JSON反序列化为模型对象?您使用Android Studio吗?我的Android应用程序数据库模型与此代码非常相似,我想在firebase中创建模型并存储数据。是的,我使用的是Android Studios,我不知道如何在firebase中存储数据通过在android studio中编码,使用上层关系格式
public class Location {

    String address, city, state, country;
    ArrayList<Address> addressList;

    public Location(){}

    public Location(String address, String city, String state, String country, ArrayList<Address> addressList) {
        this.address = address;
        this.city = city;
        this.state = state;
        this.country = country;
        this.addressList = addressList;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public String getState() {
        return state;
    }

    public void setState(String state) {
        this.state = state;
    }

    public String getCountry() {
        return country;
    }

    public void setCountry(String country) {
        this.country = country;
    }

    public ArrayList<Address> getAddressList() {
        return addressList;
    }

    public void setAddressList(ArrayList<Address> addressList) {
        this.addressList = addressList;
    }
}
public class Address {

    String street, area;

    // 0 argument constructor to initialize the Address Object in Restaurants.java
    public Address(){}

    public Address(String street, String area) {
        this.street = street;
        this.area = area;
    }

    public String getStreet() {
        return street;
    }

    public void setStreet(String street) {
        this.street = street;
    }

    public String getArea() {
        return area;
    }

    public void setArea(String area) {
        this.area = area;
    }
}
public class MainActivity extends AppCompatActivity {

    ArrayList<Restaurants> restaurantsList;
    ArrayList<Address> addressList;

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

        Firebase.setAndroidContext(this);

        //Initializing the ArrayLists
        restaurantsList = new ArrayList<Restaurants>();
        addressList = new ArrayList<Address>();

        //Adding data to ArrayLists
        addressList.add(new Address("Street 5", "Mohafiz Town"));
        addressList.add(new Address("Street 6", "Wapda Town"));

        restaurantsList.add(new Restaurants("Ehsan", "url1", "student", new Contacts("0303-5367228", "no", "my Twitter"),
               new  Location("202-A", "GRW","pak","Pakistan", addressList)));

        //Storing Data to Firebase
        Firebase ref = new Firebase("https://fir-datamodelingprac.firebaseio.com/");
        ref.setValue(restaurantsList);
    }
}