您好我需要帮助我尝试使用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) {
}
});
}