1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103
| join.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
// cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT,Uri.fromFile(file));
startActivityForResult(cameraIntent, CAMERA_REQUEST);
}
});
send.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
cod = code.getText().toString().trim();
li = lieu.getText().toString().trim();
nbr = nb.getText().toString().trim();
nombre = Integer.parseInt(nbr);
Log.d("cod", cod);
Log.d("li", li);
Log.d("nombre", "" + nombre);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
photo.compress(Bitmap.CompressFormat.PNG, 100, baos);
Log.d("baos", "onClick: " + baos);
Log.d("bitmap", "onClick: " + Bitmap.CompressFormat.PNG);
byte[] b = baos.toByteArray();
Log.d("cod", "" + b);
String ts = null;
ts = Base64.encodeToString(b, Base64.DEFAULT);
Materiel materiel = new Materiel(categorie, li, new Date(), cod, ClientActivity.id, b, clic, nombre, null, 0);
materialViewmodel.insert(materiel);
materialViewmodel.insertM(categorie, li, new Date(), cod, ClientActivity.id, b, clic, nombre);
Toast.makeText(SaveMaterial.this, "Votre signalement a été bien envoyé!\n Merci de votre participation à la gestion du patrimoine mobilier", Toast.LENGTH_LONG).show();
vide();
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
if (requestCode == CAMERA_REQUEST&&resultCode==RESULT_OK) {
photo = (Bitmap) data.getExtras().get("data");
Log.d("data", "onActivityResult: "+photo);
Log.d("data", "onActivityResult: "+data.getAction());
image.setImageBitmap(photo);
}
else
{
Toast.makeText(this, "Aucune photo prise", Toast.LENGTH_SHORT).show();
}
}
la methode qui fait appel au serveur:
public void insertM(String category, String lieu, Date date, String code, int user_fk, byte[] image, String message, int nbr)
{
final MaterialService materialService= Webprovide.getClient().create(MaterialService.class);
Materiel material1=new Materiel(category,lieu,date,code,user_fk,image,message,nbr);
Log.d(TAG, "insertM: "+image.length);
Log.d(TAG, "insertM: "+image.clone());
File file = null;
file = new File(String.valueOf(file));
RequestBody requestb=RequestBody.create(MediaType.get("multipart/data"),file);
MultipartBody.Part request=MultipartBody.Part.createFormData("image",file.getName(),requestb);
material1.setCategory(category);
material1.setLieu(lieu);
material1.setDate(date);
material1.setCode(code);
material1.setUser_fk(user_fk);
material1.setImage(image);
material1.setNombre(nbr);
Log.d(TAG, "insertM: "+requestb.contentType());
Log.d(TAG, "insertM: "+request.body());
Call<ResponseBody> callm=materialService.createMaterial(material1.getCategory(),material1.getLieu(),material1.getDate(),material1.getCode(),
material1.getUser_fk(),request,material1.getMessage(),material1.getNombre());
Log.d(TAG, "insertM: "+callm.request());
callm.enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
Log.d(TAG , "insertS: "+call);
Log.d(TAG, "onResponse: "+response.body());
//response.body();
if(response.code()==200)
{
Log.d(TAG, "onResponse: ok");
}
}
@Override
public void onFailure(Call<ResponseBody> call, Throwable t) {
Log.d(TAG, "onFailure: "+call.request());
Log.d(TAG , "onFailure: "+t.getLocalizedMessage() );
Log.d("getmessage", "onFailure: "+t.getMessage());
Log.d("Userservieces", "onFailure: "+materialService.toString());
Log.d("on", "onFailure: ");
}
});
}
mon endpoint:
@Multipart
@POST("insertionM.php")
Call<ResponseBody> createMaterial(@Part("category") String category, @Part("lieu") String lieu,
@Part("date_sent") Date date, @Part("code")String code,
@Part("user_fk") int user_fk, @Part MultipartBody.Part image,
@Part("message") String message, @Part("nombre") int nbr); |
Partager