Android Spring Framework と Jackson パーサーを使用して Android 3.1 アプリケーションを開発しています。使い方がわからないのでMavenは使っていません。
次の jar をこの順序でプロジェクトのクラスパスに追加しました。
- グアバ-11.0.2.jar
- ジャクソン-注釈-2.0.0.jar
- jackson-core-2.0.0.jar
- jackson-databind-2.0.0.jar
- spring-android-core-1.0.0.RC1.jar
- spring-android-rest-template-1.0.0.RC1.jar
REST リクエストを作成し、JSON 解析を行うクラス:
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.http.converter.json.MappingJacksonHttpMessageConverter;
import org.springframework.web.client.RestTemplate;
import com.google.common.collect.Lists;
import es.viacognita.models.Form;
public class FormSpringController
{
public static List<Form> LoadAll()
{
HttpHeaders requestHeaders = new HttpHeaders();
requestHeaders.setAccept(Collections.singletonList(new MediaType("application","json")));
HttpEntity<?> requestEntity = new HttpEntity<Object>(requestHeaders);
String url = "http://192.168.1.128/RestServiceImpl.svc/forms/";
MappingJacksonHttpMessageConverter messageConverter = new MappingJacksonHttpMessageConverter();
List<HttpMessageConverter<?>> messageConverters = Lists.newArrayList();
messageConverters.add(messageConverter);
RestTemplate restTemplate = new RestTemplate();
restTemplate.setMessageConverters(messageConverters);
ResponseEntity<Form[]> responseEntity = restTemplate.exchange(url, HttpMethod.GET, requestEntity, Form[].class);
Form[] result= responseEntity.getBody();
return Arrays.asList(result);
}
}
ここ:
MappingJacksonHttpMessageConverter messageConverter = new MappingJacksonHttpMessageConverter();
次のエラーが表示されます。
java.lang.VerifyError: org.springframework.http.converter.json.MappingJacksonHttpMessageConverter
このエラーが発生するのはなぜですか?
どうすれば解決できますか?