如何将数据从活动发送到接口

时间:2016-03-31 06:44:42

标签: android retrofit retrofit2

我有一项活动。它让我成为用户ID。我想把它变成一个界面,(对我来说似乎也是一个愚蠢的问题)

例如。 代码段。 (显示我想要完成的事情)

活性

class MainActivity extends Activity{

         public static string user;
         public void onCreate(Bundle savedInstanceState)
         {
                super.onCreate(savedInstanceState);
                user="1";  //I WANT TO SEND THIS VALUE TO MY INTERFACE SHOWN BELOW
         }
}     

接口

package random.test.done;

import retrofit2.Call;
import retrofit2.http.GET;

public interface RequestExample{

    @GET("claim.php?id=1" + MainActivity.user); /// how to get that user data here ? 
    Call<JSONResponseClaim> getJSONClaim();
}

@GET(&#34; claim.php?id = 1&#34; + MainActivity.user); //将鼠标悬停在MainActivity.user上时,界面中的这一行会出错(属性值必须是常量)

问题出现在上面代码段的评论中

1 个答案:

答案 0 :(得分:0)

首先,您应该修复RequestExample方法

@GET("/claim.php")
Call<JSONResponseClaim> getJSONClaim(
    @Query("id") Integer id,
    @Query("user") String user
);

然后在你的活动上使用它

Retrofit retrofit = new Retrofit.Builder()
    .baseUrl("https://myendpoint.com")
    .build();

RequestExample service = retrofit.create(RequestExample.class);

Call<JSONResponseClaim> call = service.getJSONClaim(1, user);

希望它有所帮助。

另外,如果你想检查一些样品:

  

https://github.com/square/retrofit/tree/master/samples/src/main/java/com/example/retrofit