Wednesday, 27 August 2014

Android read and send json object using postmethod


first we need to set up the nesserr jar files after the follow this and do rules inside the manifesto file also

call this method at anyevent like

then call the spicemanager inside the activity


    SpiceManager spiceManager = new SpiceManager(JsonSpiceService.class);
    private String cachekey;
    private BitmapRequest imageRequest;
    private BitmapRequest imageRequest_child;

    @Override
    protected void onStart() {
        super.onStart();
        Logger.d(TAG, "starting service");
        spiceManager.start(this);
    }

    @Override
    protected void onStop() {
        if (spiceManager.isStarted()) {
            spiceManager.shouldStop();
            Logger.d(TAG, "stopping service");
        }
        super.onStop();

    }

performRequest(String user, String pass);


    private void performRequest(String user, String pass)
            throws FileNotFoundException {
        progress = new ProgressDialog(this);
        progress.setMessage("Installing Application....");
        progress.setProgressStyle(ProgressDialog.STYLE_SPINNER);
        this.getWindow().addFlags(
                WindowManager.LayoutParams.FLAG_ALLOW_LOCK_WHILE_SCREEN_ON);
        progress.setIndeterminate(true);
        progress.setCancelable(false);
        progress.show();
        **********.this.setProgressBarIndeterminateVisibility(true);
        ***********request = new PostRequest(
                ***************.this, user, pass);
        spiceManager.execute(request, "json", DurationInMillis.ONE_SECOND,
                new PostRequestListener(user, pass));
       
        Observation.setAdditional_notes("this is new note which must be take by the authur");
       
    }

take the postrequestlistern as insser class in the activity like where we can read the status of the either failure or success


// inner class of your spiced Activity
    private class PostRequestListener implements
            RequestListener<String> {
       PostRequestListener(String user, String pass) {
        }

        @Override
        public void onRequestFailure(SpiceException e) {
            progress.dismiss();

            Logger.d(TAG, "fail");
            Toast.makeText(getApplicationContext(), "Please Check Credential",
                    Toast.LENGTH_SHORT).show();
        }

        @Override
        public void onRequestSuccess(String response) {
            Toast.makeText(getApplicationContext(),
                    "succes request..... " + response, Toast.LENGTH_SHORT)
                    .show();
            progress.dismiss();
            Toast.makeText(getApplicationContext(), "succes request..... ",
                    Toast.LENGTH_SHORT).show();
            // finish();

        }
    }





take the separate class like for post request

==========================================================================



public class PostRequest extends SpringAndroidSpiceRequest<String> {
    Activity activity;
    Helper helper;
    DataBaseHelper helper2;
    WebService service;

    Message message = new Message();
    String url;

    String admin, pass;

    public ObservationPostRequest(Activity activity_, String admin_user,
            String admin_pass) {
        super(String.class);
        activity = activity_;
        admin = admin_user;
        pass = admin_pass;
        Logger.d("constructoe", "i came here");
    }

    @Override
    public String loadDataFromNetwork() throws Exception {

        MultiValueMap<String, String> parameters = new LinkedMultiValueMap<String, String>();
        parameters.set("*******", "******");
        parameters.set("api_*******", "******");
    
       
        /*
         * HttpHeaders headers = new HttpHeaders();
         * headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
         * HttpEntity<MultiValueMap<String, String>> request = new
         * HttpEntity<MultiValueMap<String, String>>(parameters, headers);
         *
    


        Logger.e("information from the onservation ", ""+Observation.getAdditional_notes());
        RestTemplate restTemplate = new RestTemplate();
   
        try {
            // Add the Jackson and String message converters
            /*
             * restTemplate.getMessageConverters().add(new
             * MappingJackson2HttpMessageConverter());
             * restTemplate.getMessageConverters().add(new
             * StringHttpMessageConverter());
             */

            List<HttpMessageConverter<?>> messageConverters = new ArrayList<HttpMessageConverter<?>>();
            messageConverters.add(new FormHttpMessageConverter());
            messageConverters.add(new StringHttpMessageConverter());
            messageConverters.add(new MappingJacksonHttpMessageConverter());
            restTemplate.setMessageConverters(messageConverters);
        } catch (RestClientException e) {
            Log.e("===============", e.getMessage());
            Log.e("===============", "" + restTemplate.toString());
        }

        String response = restTemplate.postForObject(url, parameters,
                String.class);
        Logger.d("response", "**:" + parameters.toString());
        Logger.d("response", "**:" + response);
        return response;

    }

    /**
     * This method generates a unique cache key for this request. In this case
     * our cache key depends just on the keyword.
     *
     * @return
     */
    public String createCacheKey() {
        return "followers." + url;
    }
}




No comments:

Post a Comment