Spring for android RestTemplate object instantiation failed

531 Views Asked by At

I am using spring for android in order to communicate with an existing RestAPI service. I am following this tutorial :

http://spring.io/guides/gs/consuming-rest-android/

I already have my android app, and I integrated this HttpRequestTask in one of my activities

private class HttpRequestTask extends AsyncTask<Void, Void, Greeting> {

        protected Greeting doInBackground(Void... params) {
            try {
                final String url = "http://rest-service.guides.spring.io/greeting"; 
                RestTemplate restTemplate = new RestTemplate();
                restTemplate.getMessageConverters().add(new MappingJackson2HttpMessageConverter());
                Greeting greeting = restTemplate.getForObject(url, Greeting.class);
                return greeting;
            } catch (Exception e) {
                Log.e("MainActivity", e.getMessage(), e);
            }

            return null;
        }


        protected void onPostExecute(Greeting greeting) {
            ....
        }
}

and I then call execute method within the onStart method

@Override
protected void onStart() {
    super.onStart();
    new HttpRequestTask().execute();       
}

Once I access this activity, the app crashes. I debuged it and found that the RestTemplate object fails in the instantiation line: RestTemplate restTemplate = new RestTemplate();

I'am using spring 1.0.1.RELEASE core and rest jars.

1

There are 1 best solutions below

0
On

The problem was that the added external jars are not deployed with the app at runtime, this link solves this issue:

How can I use external JARs in an Android project?