Ich habe Zweifel bezüglich Android. Das Hauptmerkmal meiner App ist das Fotografieren verschiedener Objekte egal welche Objekte. Ich habe ein Hauptmenü, wo ich das tun kann und eine andere Ansicht habe, wo ich einen Knopf habe, um auch ein Foto zu machen, also kann ich es grundsätzlich in 2 verschiedenen Ansichten machen, der Code sollte gleich sein.Funktion wiederverwenden über mehrere Aktivitäten
Ich möchte den Code in eine leere Erfassungsaktivität einfügen und in verschiedenen Ansichten wiederverwenden, wie kann ich das tun?
Mein Code zu erfassen:
private void sendImage(String encodedImage){
//inicialize a map with pair key value
Map<String, String> params = new HashMap<String, String>();
// Add form fields to the map
params.put("base64", encodedImage);
URL = URL + "\\" + "Tulipa";
Log.d("url",URL);
/**
* Efetua um pedido ao servidor
*
* @param URl url do servidor a aceder
* @param JSONObject objeto json a ser retornado através do access point
*
*/
JsonObjectRequest request = new JsonObjectRequest(URL, new JSONObject(params),
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
//TODO verificar o status code da resposta apenas deverá fazer login caso seja 200
Intent i = new Intent(MainMenu.this,MainMenu.class);
startActivity(i);
finish();
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
String body;
if(error.networkResponse.data!=null) {
String statusCode = String.valueOf(error.networkResponse.statusCode);
try {
body = new String(error.networkResponse.data,"UTF-8");
JSONObject jsonObj = new JSONObject(body);
Log.d("body",String.valueOf(jsonObj.get("message")));
showToast(String.valueOf(jsonObj.get("message")));
} catch (UnsupportedEncodingException e) {
showToast("You need to connect to the internet!");
} catch (JSONException e) {
Log.d("json:","problems decoding jsonObj");
}
}
//do stuff with the body...
}
});
request.setRetryPolicy(new DefaultRetryPolicy(60000, DefaultRetryPolicy.DEFAULT_MAX_RETRIES, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
queue.add(request); // adiciona a request à queue pronta a ser executada
}`