使用Retrofit 2在Android中发布数据不起作用

时间:2016-04-25 08:30:37

标签: java android retrofit2

您好我需要帮助我尝试使用retrofit2发布数据,但是当我发布数据时,不会使用我创建的API将数据发送到数据库。 1.i创建了一个类,在该类中我创建了一个接口,用于发布数据,该类称为config.java,其代码如下。

public class Config {

public static final String BASE_URL =     "http://p.eass.cloudapp.azre.com/";

public interface RegisterAPI{
    @FormUrlEncoded
    @POST("register")
    Call<ResponseBody> register(@FieldMap Map<String,String> params);
}
}

2.我创建了另一个pik_join.java类,用于在用户单击注册时处理用户注册,以下是我已实现改造的代码。

public class pik_join extends AppCompatActivity {

private EditText pik, mPhoneNumber, piksiri, piknsiri;
Context ctx = this;

/*network query assistance*/

private Retrofit retrofit;
public String BASE_URL = Config.BASE_URL;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_pik_join);
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
public void onPikPost(){

    String mpik_jina = pikjina.getText().toString().trim();
    String mphone = mPhoneNumber.getText().toString().trim();
    String mpik_siri = piksiri.getText().toString().trim();

    retrofit = new Retrofit.Builder().baseUrl(BASE_URL).build();

    Map<String,String> params = new HashMap<>();
    params.put("name", mpik_jina);
    params.put("phone", mphone);
    params.put("password", mpik_siri);

    RegisterAPI registerAPI = retrofit.create(RegisterAPI.class);

    Call<ResponseBody> registerCallBack = registerAPI.register(params);
    registerCallBack.enqueue(new retrofit2.Callback<ResponseBody>() {
        @Override
        public void onResponse(Call<ResponseBody> call,    retrofit2.Response<ResponseBody> response) {


        }

        @Override
        public void onFailure(Call<ResponseBody> call, Throwable t) {

        }
    });

}

1 个答案:

答案 0 :(得分:-1)

This github repository demonstrates usage of Retrofit 2. Hope that helps.