在Android中为此JSON文件创建数据模型
我现在开始在安卓系统中使用Firebase,所以我在创建数据模型方面遇到了问题。所以请帮助我从安卓studio为下面的JSON创建数据模型 比如: 这段代码在firebase中生成一个简单的模型并存储数据,但我想存储更多的数据,如下所示 你们的任何帮助都将非常感激在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
"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);
}
}