2017-02-10 14 views
1

我見過其他人問這個問題,但在我看來,我已經完成了所有必需的事情,但我仍然沒有得到它上班。我越來越沒有setter /車輛類型上 類沒有setter /場找到了到達時間上 類發現場在 類中的驅動程序數量沒有setter /場的車輛數沒有setter /場發現 類無在 類中找到了出發的時間設定/場階級發現支付部分金額沒有setter /場沒有在類上找到車型的setter /字段com.potenza_pvt_ltd.AAPS.TruckDetailsActivity

public class TruckDetailsActivity { 
     //name and address string 
    @JsonProperty("Transporter") 
     private String Transporter; 
    @JsonProperty("Driver Name") 
    private String DriverName; 

    public void setVehicleType(String vehicleType) { 
     VehicleType = vehicleType; 
    } 

    @JsonProperty("Driver Number") 
     private String DriverNumber; 
    @JsonProperty("Vehicle Number") 
     private String VehicleNumber; 
    @JsonProperty("Date") 
     private String Date; 
    @JsonProperty("aps") 
     private String aps; 
    @JsonProperty("email") 
    private String email; 
    private String key; 
    @JsonProperty("Time of Arrival") 
    private String TimeofArrival; 
    @JsonProperty("Cost") 
    private String Cost; 
    @JsonProperty("Time of Departure") 
    private String TimeofDeparture; 
    @JsonProperty("Partial Amount Paid") 
    private String PartialAmountPaid; 
    @JsonProperty("Vehicle Type") 
    private String VehicleType; 

    @JsonProperty("Cash Handover") 
    private String CashHandover; 

    @JsonProperty("Operator") 
    private String Operator; 
    public TruckDetailsActivity() { 

      /*Blank default constructor essential for Firebase*/ 
     } 
    public TruckDetailsActivity(String a){ 

    } 
    public TruckDetailsActivity(String k, String s, String index, String index1, String index2, String index3) { 
     this.key=k; 
     email=s; 
     Transporter =index; 
     DriverNumber =index1; 
     Date =index2; 
     aps =index3; 
    } 

    @JsonProperty("Key") 
    public String getKey(){ 
     return this.key; 
    } 
    public void setKey(String key){ 
     this.key=key; 
    } 
    //Getters and setters 
    public String getTransporter() { 
      return this.Transporter; 
     } 
    public void setTransporter(String contractorname) { 
      this.Transporter = contractorname; 
     } 

    public String getDriverName() { 
      return this.DriverName; 
     } 

    public void setDriverName(String driverName) { 
     this.DriverName = driverName; 
    } 
    public String getDriverNumber() { 
      return this.DriverNumber; 
     } 
    public String getVehicleNumber() { 
      return this.VehicleNumber; 
     } 

    public String getDate() { 
      return this.Date; 
     } 


    public void setDate(String date) { 
      this.Date = date; 
     } 


    public String getAps() { 
     return this.aps; 
    } 

    public void setAps(String aps) { 
     this.aps = aps; 
    } 

    public String getEmail() { 
     return this.email; 
    } 

    public void setEmail(String email){this.email=email;} 

    public String getTimeofArrival() { 
     return this.TimeofArrival; 
    } 


    public String getCost() { 
     return this.Cost; 
    } 

    public void setCost(String T) { 
     this.Cost = T; 
    } 

    public String getTimeofDeparture() { 
     return TimeofDeparture; 
    } 


    public String getPartialAmountPaid() { 
     return PartialAmountPaid; 
    } 


    public String getVehicleType() { 
     return VehicleType; 
    } 


    public String getCashHandover() { 
     return CashHandover; 
    } 

    public void setCashHandover(String cashHandover) { 
     CashHandover = cashHandover; 
    } 


    public String getOperator() { 
     return Operator; 
    } 

    public void setOperator(String operator){this.Operator=operator;} 

This is my Java file from where i call the above class. 

    Query queryRef = reference.child("users").child("data").orderByChild(sort); 
     queryRef.addValueEventListener(new ValueEventListener() { 
      @Override 
      public void onDataChange(DataSnapshot dataSnapshot) { 
       for(DataSnapshot ds:dataSnapshot.getChildren()){ 
        TruckDetailsActivity post = ds.getValue(TruckDetailsActivity.class); 
        post.setKey(ds.getKey()); 
        Log.d("post", post.getKey()); 
        TruckDetailsActivity obj = new TruckDetailsActivity(post.getKey(), post.getEmail(), post.getTransporter(), post.getDriverNumber(), post.getDate(), post.getAps()); 
        list.add(index, obj); 
        Log.d("list", String.valueOf(list.get(index))); 
        index++; 
       } 
       mAdapter = new MyRecyclerViewAdapter(list); 
       mAdapter.notifyDataSetChanged(); 
       Log.d("count of list", String.valueOf(mAdapter.getItemCount())); 
       mRecyclerView.setAdapter(mAdapter); 
       pb.setVisibility(View.GONE); 
       linearLayout.setVisibility(View.VISIBLE); 

      } 

      @Override 
      public void onCancelled(DatabaseError firebaseError) { 

      } 
     }); 

搖籃構建

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 22 
    buildToolsVersion "22.0.1" 

    defaultConfig { 
     applicationId "com.potenza_pvt_ltd.AAPS" 
     minSdkVersion 15 
     targetSdkVersion 22 
     versionCode 1 
     versionName "1.0" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
    packagingOptions { 
     exclude 'META-INF/LICENSE' 
     exclude 'META-INF/LICENSE-FIREBASE.txt' 
     exclude 'META-INF/NOTICE' 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile 'com.android.support:appcompat-v7:22.2.1' 
    compile 'com.android.support:design:22.2.1' 
    compile 'com.android.support:cardview-v7:22.0.0' 
    compile 'com.android.support:recyclerview-v7:22.0.0' 
    //compile 'com.firebase:firebase-client-android:2.3.1' 
    compile 'com.github.brnunes:swipeablerecyclerview:1.0.2' 
    compile 'com.google.firebase:firebase-database:9.0.0' 
    compile 'com.google.firebase:firebase-auth:9.0.0' 
    compile 'com.google.firebase:firebase-storage:9.0.0' 
    compile files('libs/poi-3.14-20160307.jar') 
    compile files('libs/joda-time-2.9.4.jar') 
    compile files('libs/jackson-annotations-2.2.3.jar') 
} 

apply plugin: 'com.google.gms.google-services' 
+0

使這些字段公開而非私人。 – Linxy

+0

您的代碼包含新SDK的類,例如:DatabaseError。 '@ JsonProperty'是傑克遜的註釋。傑克遜在舊版SDK(2.x.x)中使用,但不是新SDK(9.x.x)。您是否將兩個SDK都包含在您的依賴項中?你可以發佈你的應用程序build.gradle嗎? –

+0

我已經添加了build.gradle。請檢查。 –

回答

2

它看起來像你使用以前的版本創建的火力地堡數據庫y我們的應用程序是使用舊版(2.x.x)SDK構建的。舊版SDK使用Jackson轉換/從JSON轉換。您使用了Jackson註釋@JsonProperty以及包含空格的指定名稱。

您現在已經升級了您的應用程序以使用不使用Jackson的新SDK,而是期望JavaBean getter/setter命名約定將POJO類轉換爲JSON或從JSON轉換POJO類。這會導致數據庫字段的名稱中有空格,例如「Driver Number」。

我知道的唯一解決方案是轉到Firebase控制檯並將數據庫導出到JSON文件,手動對其進行編輯以替換包含空格的字段名稱,然後導入到Firebase中。導出/導入操作可在Firebase控制檯數據庫選項卡右上角的溢出菜單圖標(三個垂直點)中找到。

+0

感謝它的工作。 –

相關問題