2017-04-15 25 views
1

我正在使用Firebase數據庫與我的Android應用程序和FirebaseUI庫。從Firebase數據庫檢索失敗值,獲得null而非預期字符串

enter image description here

我設計數據模型(故意不包括某些鍵現在):

/** 
Retrieving CarPark object from Firebase db 
*/ 

public class CarParkData { 

    private String mTitle; 
    private String mSponsor; 
    private String mAddress; 
    private String mDesc; 

    // default parameters constructor required for Firebase for data retrieval 
    public CarParkData() { 

    } 

    // constructor 
    public CarParkData(String title, String sponsor, String description, String address1) { 
     mTitle = title; 
     mSponsor = sponsor; 
     mAddress = address1; 
     mDesc = description; 
    } 

    public String getTitle() { 
     return mTitle; 
    } 

    public void setTitle(String title) { 
     mTitle = title; 
    } 

    public String getSponsor() { 
     return mSponsor; 
    } 

    public void setSponsor(String sponsor) { 
     mSponsor = sponsor; 
    } 

    public String getAddress() { 
     return mAddress; 
    } 

    public void setAddress(String address1) { 
     mAddress = address1; 
    } 

    public String getDesc() { 
     return mDesc; 
    } 

    public void setDesc(String description) { 
     mDesc = description; 
    } 
} 

和所使用的FirebaseListAdapter

mAdapter = new FirebaseListAdapter<CarParkData>(getActivity(), CarParkData.class, 
       R.layout.test, ref) { 

      @Override 
      protected void populateView(View v, CarParkData model, int position) { 
       ((TextView)v.findViewById(R.id.text_one)).setText(model.getTitle()); 
       ((TextView)v.findViewById(R.id.text_two)).setText(model.getAddress()); 
       ((TextView)v.findViewById(R.id.text_three)).setText(model.getSponsor()); 

       String test = model.getTitle(); // test: "Q-Park Victoria Square 
       String test2 = model.getSponsor(); // test2: "false" 
       String test3 = model.getAddress(); // test3: "null" 
       String test4 = model.getDesc(); // test4: "null" 
使用

JSON對象:

{ 
    "-KhguCEtT6TpPPmuvMvY": { 
     "title": "Q-Park Victoria Square", 
     "owner": "Q-Park", 
     "address1": "Victoria Street 1", 
     "address_line2": { 
      "post_code": "BT1 4QG", 
      "city": "Kekity" 
     }, 
     "description": "Located in the heart of Kekistan, Q-Park Victoria Square has direct access to each floor of Victoria Square Mall", 
     "image_url": "image_url", 
     "parking_capacity": 1000, 
     "available_spaces": 70, 
     "max_vehicle_height": 2.1, 
     "schedule": { 
      "monday": { 
       "24_7": true, 
       "open": "null", 
       "close": "null" 
      }, 
      "tuesday": { 
       "24_7": true, 
       "open": "null", 
       "close": "null" 
      }, 
      "wednesday": { 
       "24_7": true, 
       "open": "null", 
       "close": "null" 
      }, 
      "thursday": { 
       "24_7": true, 
       "open": "null", 
       "close": "null" 
      }, 
      "friday": { 
       "24_7": true, 
       "open": "null", 
       "close": "null" 
      }, 
      "saturday": { 
       "24_7": true, 
       "open": "null", 
       "close": "null" 
      }, 
      "sunday": { 
       "24_7": true, 
       "open": "null", 
       "close": "null" 
      } 
     }, 
     "pricing": { 
      "24_7": true, 
      "schedule": { 
       "day": { 
        "hourly_rate": 3.00, 
        "start_time": "8:00", 
        "end_time": "19:00" 
       }, 
       "night": { 
        "hourly_rate": 4.50, 
        "start_time": "8:00", 
        "end_time": "19:00" 
       } 
      }, 
      "24_7_pass": 18.00, 
      "day_pass": "null", 
      "night_pass": "null" 
     }, 
     "free_until": 0, 
     "disabled_access": true, 
     "city_picker": "kekity", 
     "sponsor": "false", 
     "location": "null" 
    } 

getTitlegetSponsor返回預期值,而getAddressgetDesc在預期字符串時返回空值。任何人都可以識別發生了什麼?

回答

2

模型中的getter/setter名稱必須完全匹配數據庫中的屬性名稱。在你的數據庫中,你使用address1description。這些屬性的吸氣劑/吸附劑必須是:

public String getAddress1() { 
    return mAddress; 
} 

public void setAddress1(String address1) { 
    mAddress = address1; 
} 

public String getDescription() { 
    return mDesc; 
} 

public void setDescription(String description) { 
    mDesc = description; 
} 
相關問題