Avatar billede arsa Nybegynder
25. januar 2012 - 22:22 Der er 9 kommentarer og
1 løsning

REST/JSON Java + Android

Er igang med at udvikle en Android applikation. Applikationen skal kunne sende og modtage data over en linux server (apache) som har forbindelse til MYSQL database. Der hvor problemet ligger er at jeg ikke har ret stor kendskan til Java eller android udvikling (arbejder med c#) og har svært ved at finde ud af hvilke udviklings platforme er bedst at bruge med hensyn til udvikling af både serveren og android. Har læst lidt omkring og umiddelbart ser det ud til at brug af Jersey (Jax-RS) kunne være en løsning på server siden (tænker på REST/JSON), men er ikke helt sikker på med android delen. Programmering foregå i Eclipse indigo.
Hvis der er nogen der har et godt forslag vil det være fantastisk.
På forhånd tak!!
Avatar billede arne_v Ekspert
25. januar 2012 - 22:32 #1
Server side:
* du boer bruge JAX-RS standarden
* der er flere implementationer bl.a. Jersey, Restlet, Resteasy
* du skal bruge en servlet container til at koere det i
* Tomcat er den mest brugte servlet container
* du skal bruge MySQL JDBC driver for at connecte til MySQL
* Eclipse i Java EE udgave er glimrende til udvikling
Avatar billede arne_v Ekspert
25. januar 2012 - 22:36 #2
Client side:
* du skal bruge HTTP support
* det er indbygget i Android SDK (org.apache.http pakken)
* du skal bruge JSON support
* det er indbygget i Android SDK (org.json pakken)
* Eclipse med Android plugin er den anbefalede IDE for Android udvikling
Avatar billede arsa Nybegynder
25. januar 2012 - 23:33 #3
Super, du skal have mange tak for hjælp!! nu kan jeg endeligt komme igang!!
Avatar billede arne_v Ekspert
25. januar 2012 - 23:44 #4
Jeg smider et svar.

PS: Jeg har nogle smaa JAX-RS eksempler paa lageret.
Avatar billede arne_v Ekspert
25. januar 2012 - 23:44 #5
om igen
Avatar billede arsa Nybegynder
26. januar 2012 - 00:18 #6
Det kunne være super at se par eksempler hvis det er muligt.
Avatar billede arne_v Ekspert
26. januar 2012 - 01:55 #7
package test;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Consumes;
import javax.ws.rs.Produces;
import javax.ws.rs.WebApplicationException;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;

@Path("/person")
public class PersonManager {
    private static List<Person> data = Collections.synchronizedList(new ArrayList<Person>());
    static {
        data.add(new Person(1, "A A", "A vej 1"));
        data.add(new Person(2, "B B", "B vej 2"));
    }
    @POST
    @Consumes({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
    public void add(Person p) {
        data.add(p);
    }
    @GET
    @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
    public List<Person> getAll() {
        return data;
    }
    @GET
    @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
    @Path("/{id}")
    public Person getOne(@PathParam("id") int id) {
        for(Person p : data) {
            if(p.getId() == id) {
                return p;
            }
        }
        throw new WebApplicationException(Response.Status.NOT_FOUND);
    }
}
Avatar billede arne_v Ekspert
26. januar 2012 - 01:56 #8
package test;

import javax.ws.rs.Path;
import javax.ws.rs.GET;
import javax.ws.rs.Produces;

@Path("/TestJson")
public class TestJsonResource {
    @GET
    @Produces("application/json")
    public T1 get() {
        T1 o = new T1(123, "ABC");
        return o;
    }
}
Avatar billede arne_v Ekspert
26. januar 2012 - 01:56 #9
package test;

import javax.ws.rs.Path;
import javax.ws.rs.GET;
import javax.ws.rs.Produces;
import javax.ws.rs.PathParam;

@Path("/TestPJson/{f1}/{f2}")
public class TestPJsonResource {
    @GET
    @Produces("application/json")
    public T1 get(@PathParam("f1") int f1, @PathParam("f2") String f2) {
        T1 o = new T1(f1, f2);
        return o;
    }
}
Avatar billede arne_v Ekspert
26. januar 2012 - 01:58 #10
Min client side eksempler bruger gson ikke json.org, saa de er nok ikke helt saa relevante
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester