Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class MainActivity extends AppCompatActivity implements MainActivityView{
- EditText nombre;
- Button agregar;
- Context c;
- Controlador controlador = new Controlador(this);
- Especialidad e;
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- c = MainActivity.this;
- nombre = (EditText) findViewById(R.id.edtNombre);
- agregar = (Button) findViewById(R.id.btnAgregar);
- agregar.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- if (nombre.getText().toString().length() > 0) {
- String nom = nombre.getText().toString();
- e = new Especialidad();
- e.setNombre(nom);
- try {
- controlador.validarEspecialidad(e);
- } catch (IOException e1) {
- e1.printStackTrace();
- }
- } else {
- Toast.makeText(c, "Campo nombre vacio", Toast.LENGTH_LONG).show();
- }
- }
- });
- }
- @Override
- public void existeEspecialidad(Response<Especialidad> response) {
- if(response.body().toString().length() ==0){
- Controlador c = new Controlador(null);
- c.crearEspecialidad(e);
- }
- }
- @Override
- public void errorCargarEspecialidades(String error) {
- }
- }
- public class Controlador extends AppCompatActivity {
- private MainActivityView mView;
- public Controlador(MainActivityView mView) {
- this.mView = mView;
- }
- public void validarEspecialidad(Especialidad especialidad) throws IOException {
- Api c = new Api(mView);
- String nombre = especialidad.getNombre();
- c.getEspecialidad(nombre);
- }
- public void crearEspecialidad(Especialidad especialidad){
- Api c = new Api(mView);
- c.crearEspecialidad(especialidad);
- }
- }
- public class Api {
- public static final String base_url = "http://192.168.1.55:8080/";
- public Retrofit retrofit;
- private MainActivityView mView;
- public Api(MainActivityView view) {
- mView = view;
- }
- public void conectar (){
- retrofit = new Retrofit.Builder()
- .baseUrl(base_url)
- .addConverterFactory(GsonConverterFactory.create(new GsonBuilder().create()))
- .build();
- }
- public Especialidad getEspecialidad(String nombre) throws IOException {
- conectar();
- EspecialidadService service = retrofit.create(EspecialidadService.class);
- Call<Especialidad> call = service.validarEspecialidad(nombre);
- Especialidad response = call.execute().body();
- return response;
- }
- public void crearEspecialidad(final Especialidad especialidad) {
- conectar();
- EspecialidadService service = retrofit.create(EspecialidadService.class);
- Call<Especialidad> call = service.agregarEspecialidad(especialidad);
- call.enqueue(new Callback<Especialidad>() {
- @Override
- public void onResponse(Call<Especialidad> call, Response<Especialidad> response) {
- if (response.isSuccessful()) {
- Log.i(TAG, "La especialidad ha sido agregada correctamente" + response.body().toString());
- }
- }
- @Override
- public void onFailure(Call<Especialidad> call, Throwable t) {
- }
- });
- }
- }
- public interface EspecialidadService {
- @POST("especialidad/agregar")
- Call<Especialidad> agregarEspecialidad(@Body Especialidad especialidad);
- @GET("especialidad/validar/{nombre}")
- Call<Especialidad> validarEspecialidad(@Path("nombre") String nombre);
- }
- public class Especialidad {
- @SerializedName("idEspecialidad")
- @Expose
- private String idEspecialidad;
- @SerializedName("nombre")
- @Expose
- private String nombre;
- public String getIdEspecialidad() {
- return idEspecialidad;
- }
- public void setIdEspecialidad(String idEspecialidad) {
- this.idEspecialidad = idEspecialidad;
- }
- public String getNombre() {
- return nombre;
- }
- public void setNombre(String nombre) {
- this.nombre = nombre;
- }
- }
- compile 'com.google.code.gson:gson:2.6.1'
- compile 'com.squareup.retrofit2:converter-gson:2.1.0'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement