Spring Rest Rest Template с Maven и Android 3.0 или выше - PullRequest
1 голос
/ 29 февраля 2012

Через пару месяцев работаю с Android и у меня возникла проблема.У меня есть проект с Maven и Spring-Android отдых с использованием шаблона.Проект корректно работает с версиями Android до 3.0.Я искал решения или примеры и не получил его на работу.Я хотел бы знать, если сбой моей конфигурации pom.xml, зависимости старые ... Я был бы признателен за помощь.В настоящее время я использую следующий файл pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.blablabla</groupId>
<artifactId>BlaBLa</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>apk</packaging>
<name>BlaBla</name>

<properties> 
    <android-platform>12</android-platform>
    <android-emulator>12</android-emulator>
    <maven-android-plugin-version>2.8.4</maven-android-plugin-version>
    <maven-compiler-plugin-version>2.3.2</maven-compiler-plugin-version>
    <maven-eclipse-plugin-version>2.8</maven-eclipse-plugin-version>
    <android-version>3.1_r3</android-version>

    <java-version>1.6</java-version>
    <spring-android-version>1.0.0.M4</spring-android-version>
    <spring-social-version>1.0.0.RC1</spring-social-version>
    <jackson-version>1.8.3</jackson-version>
    <gson-version>1.7.1</gson-version>
    <simple-version>2.6</simple-version>
</properties>

<dependencies>
    <dependency>
        <groupId>com.google.android</groupId>
        <artifactId>android</artifactId>
        <version>${android-version}</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.android</groupId>
        <artifactId>spring-android-rest-template</artifactId>
        <version>${spring-android-version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.android</groupId>
        <artifactId>spring-android-auth</artifactId>
        <version>${spring-android-version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-crypto</artifactId>
        <version>3.1.0.RC2.crypto</version>
        <exclusions>
            <!-- Exclude in favor of Spring Android Core -->
            <exclusion>
                <artifactId>spring-core</artifactId>
                <groupId>org.springframework</groupId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>org.springframework.social</groupId>
        <artifactId>spring-social-core</artifactId>
        <version>${spring-social-version}</version>
        <exclusions>
            <!-- Exclude in favor of Spring Android RestTemplate -->
            <exclusion>
                <artifactId>spring-web</artifactId>
                <groupId>org.springframework</groupId>
            </exclusion>
            <!-- Provided by Android -->
            <exclusion>
                <artifactId>commons-logging</artifactId>
                <groupId>commons-logging</groupId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>org.springframework.social</groupId>
        <artifactId>spring-social-twitter</artifactId>
        <version>${spring-social-version}</version>
        <exclusions>
            <!-- Provided by Android -->
            <exclusion>
                <artifactId>commons-logging</artifactId>
                <groupId>commons-logging</groupId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>org.springframework.social</groupId>
        <artifactId>spring-social-facebook</artifactId>
        <version>${spring-social-version}</version>
        <exclusions>
            <!-- Provided by Android -->
            <exclusion>
                <artifactId>commons-logging</artifactId>
                <groupId>commons-logging</groupId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <!-- Using Jackson for JSON marshaling -->
        <groupId>org.codehaus.jackson</groupId>
        <artifactId>jackson-mapper-asl</artifactId>
        <version>${jackson-version}</version>
    </dependency>
    <dependency>
        <!-- Using Gson for JSON marshaling -->
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
        <version>${gson-version}</version>
    </dependency>
    <dependency>
        <!-- Using Simple for XML marshaling -->
        <groupId>org.simpleframework</groupId>
        <artifactId>simple-xml</artifactId>
        <version>${simple-version}</version>
        <exclusions>
            <!-- StAX is not available on Android -->
            <exclusion>
                <artifactId>stax</artifactId>
                <groupId>stax</groupId>
            </exclusion>
            <exclusion>
                <artifactId>stax-api</artifactId>
                <groupId>stax</groupId>
            </exclusion>
            <!-- Provided by Android -->
            <exclusion>
                <artifactId>xpp3</artifactId>
                <groupId>xpp3</groupId>
            </exclusion>
        </exclusions>
    </dependency>
</dependencies>

<build>
    <finalName>${project.artifactId}</finalName>
    <sourceDirectory>src</sourceDirectory>
    <plugins>
        <plugin>
            <groupId>com.jayway.maven.plugins.android.generation2</groupId>
            <artifactId>maven-android-plugin</artifactId>
            <version>${maven-android-plugin-version}</version>
            <configuration>
                <sdk>
                    <platform>${android-platform}</platform>
                </sdk>
                <emulator>
                    <avd>${android-emulator}</avd>
                </emulator>
                <deleteConflictingFiles>true</deleteConflictingFiles>
                <undeployBeforeDeploy>true</undeployBeforeDeploy>
            </configuration>
            <extensions>true</extensions>
        </plugin>
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>${maven-compiler-plugin-version}</version>
            <configuration>
                <source>${java-version}</source>
                <target>${java-version}</target>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-eclipse-plugin</artifactId>
            <version>${maven-eclipse-plugin-version}</version>
            <configuration>
                <downloadSources>true</downloadSources>
                <downloadJavadocs>true</downloadJavadocs>
            </configuration>
        </plugin>
    </plugins>
</build>

<repositories>
    <!-- For testing against latest Spring snapshots -->
    <repository>
        <id>org.springframework.maven.snapshot</id>
        <name>Spring Maven Snapshot Repository</name>
        <url>http://maven.springframework.org/snapshot</url>
        <releases><enabled>false</enabled></releases>
        <snapshots><enabled>true</enabled></snapshots>
    </repository>
    <!-- For developing against latest Spring milestones -->
    <repository>
        <id>org.springframework.maven.milestone</id>
        <name>Spring Maven Milestone Repository</name>
        <url>http://maven.springframework.org/milestone</url>
        <snapshots><enabled>false</enabled></snapshots>
    </repository>
</repositories>

Я нашел другой пример по этой ссылке, но не смог заставить его работать: https://github.com/SpringSource/spring-android-samples/blob/master/spring-android-showcase/client/pom.xml

Вызовотдых в коде является базовым примером:

RestTemplate restTemplate = new RestTemplate();
    String url = "https://ajax.googleapis.com/ajax/services/search/web?v=1.0&q={query}";
    String result = restTemplate.getForObject(url, String.class, "whatever");

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...