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

时间:2017-02-16 21:36:05

标签: android json data-modeling

我目前在android中开始使用Firebase,因此我在创建数据模型时面临问题。所以请帮助我从android studio创建以下JSON的数据模型。

像:

(function () {
  alert('hi');
})();

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

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

Firebase ref = new Firebase(Firebase_Url);
ref.child("Student").setValue(anyVariable);

1 个答案:

答案 0 :(得分:0)

我找到了解决方案:)

溶液:

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

enter image description here

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

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

compile 'com.firebase:firebase-client-android:2.4.0'

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)创建类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;
    }
}

8)创建类Address.java

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

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

10)运行应用程序

11)firebase中的输出将是这样的

enter image description here