2017-07-25 53 views
0

如何發佈我的個人信息從android設備發佈到我的api路由。 目前我沒有得到任何響應在我的Android監視器。Android將發佈信息添加到api數據庫

我創建了一個基本的RetrofitBuilder類。 我已創建包含該一個ApiService:

@FormUrlEncoded 
@POST("device") 
Call<DeviceResponse> device(@Field("device_name") String device_name, 
          @Field("device_producer") String device_producer, 
          @Field("device_pixel_width") int device_pixel_width, 
          @Field("device_pixel_height") int device_pixel_height, 
          @Field("device_ratio_width") int device_ratio_width, 
          @Field("device_ratio_height") int device_ratio_height, 
          @Field("device_android_version") int device_android_version, 
          @Field("device_status") int device_status); 

其中包含與設定器和吸氣劑的裝置的構造設備型號。

一個DeviceResponse類:

public class DeviceResponse { 

    List<Device> data; 

    public List<Device> getData() { 
     return data; 
    } 

} 

而且在我的活動我這樣稱呼它:

FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); 
    fab.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 

    tokenManager = TokenManager.getInstance(getSharedPreferences("prefs", MODE_PRIVATE)); 
    service = RetrofitBuilder.createServiceWithAuth(ApiService.class, tokenManager); 

      Integer id = null; 
      String device_name = "samsung"; 
      String device_producer = "apple"; 
      int device_pixel_width = 12312; 
      int device_pixel_height = 123; 
      int device_ratio_width = 12; 
      int device_ratio_height = 23; 
      char device_android_version = 6; 
      int device_status = 1; 

      call = service.device(device_name, device_producer, device_pixel_width, device_pixel_height, device_ratio_width, device_ratio_height, device_android_version, device_status); 

回答

2

只需要添加@POST批註與端點

@FormUrlEncoded 
@POST("endPoint") 
Call<DeviceResponse> device(@Field("device_name") String device_name, 
         @Field("device_producer") String device_producer, 
         @Field("device_pixel_width") int device_pixel_width, 
         @Field("device_pixel_height") int device_pixel_height, 
         @Field("device_ratio_width") int device_ratio_width, 
         @Field("device_ratio_height") int device_ratio_height, 
         @Field("device_android_version") int device_android_version, 
         @Field("device_status") int device_status); 

檢查此更多信息:https://futurestud.io/tutorials/retrofit-send-data-form-urlencoded

+0

對不起,如果我錯了,但我有一個端點或沒有? '@POST(「device」)' – utdev

+0

如果設備是你的端點,那麼你應該在@ Reveofit中加上@POST註釋 –

+0

對不起,我忘了複製那個 – utdev

0

嘗試添加@POST這樣,

@FormUrlEncoded 
@POST("yourURLendpoint") 
Call<DeviceResponse> device(@Field("device_name") String device_name, 
          @Field("device_producer") String device_producer, 
          @Field("device_pixel_width") int device_pixel_width, 
          @Field("device_pixel_height") int device_pixel_height, 
          @Field("device_ratio_width") int device_ratio_width, 
          @Field("device_ratio_height") int device_ratio_height, 
          @Field("device_android_version") int device_android_version, 
          @Field("device_status") int device_status); 
+0

對不起,我有一個端點忘了複製 – utdev

+0

ok ..無論你有什麼終結點,在@Post註解中添加 –

+0

確定它被添加仍然沒有迴應或你是什麼意思? – utdev