我目前在android中开始使用Firebase,因此我在创建数据模型时面临问题。所以请帮助我从android studio创建以下JSON的数据模型。
像:
(function () {
alert('hi');
})();
此代码在firebase中生成一个简单模型并存储数据,但我想存储更多数据,如下所示。
你们的任何帮助都会非常感激。
Firebase ref = new Firebase(Firebase_Url);
ref.child("Student").setValue(anyVariable);
答案 0 :(得分:0)
我找到了解决方案:)
溶液:
1)在Android Studio中创建一个新项目 2)更改数据库规则,无需身份验证即可访问它。像
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中的输出将是这样的