2016-07-27 58 views
0

您好,我正在構建一個應用程序,使用Firebase上游消息。但是,當我點擊發送上游味精時,我必須在該消息中放入一些對象。這是我的功能,我有一個模型:如何將模型轉換爲上游消息的字符串?

public void getObjectEvent(EventModel data){ 
    Map dataa = new HashMap(); 
    dataa.put("message","Upstream message."); 
    Gson datajson = new Gson(); 
    datajson.toJson(data); 
    FirebaseMessaging fm=FirebaseMessaging.getInstance(); 
    fm.send(new RemoteMessage.Builder(SENDER_ID + "@gcm.googleapis.com") 
      .addData("action","message") 
      .addData("data","{\"message\":\"Upstream Message\"}") 
      .addData("object", data) 
      .build()); 


} 

在這一部分:

.addData("object", data) 

它給了我一個錯誤,因爲該「數據」必須是字符串,但對我的需要我必須發送對象(事件模型) 任何人都可以幫助我嗎?

+0

'data.toString()' –

回答

2

保持返回的toJson值:

String json = datajson.toJson(data); 

而且JSON字符串設定爲addData

.addData("object", json) 

Finaly你的方法是這樣的:

public void getObjectEvent(EventModel data){ 
    Map dataa = new HashMap(); 
    dataa.put("message","Upstream message."); 
    Gson datajson = new Gson(); 
    String json = datajson.toJson(data); 
    FirebaseMessaging fm=FirebaseMessaging.getInstance(); 
    fm.send(new RemoteMessage.Builder(SENDER_ID + "@gcm.googleapis.com") 
      .addData("action","message") 
      .addData("data","{\"message\":\"Upstream Message\"}") 
      .addData("object", json) 
      .build()); 
} 
1

試試這個:

String jsonData = datajson.toJson(data); 

    /// 
    .addData("object", jsonData) 

由此,您可以將模型作爲JSONObject發送。

相關問題