Bästa sättet för att skicka data

Diskussion i 'Frågor, support och diskussion' startad av greyhound, 13 jul 2009.

  1. greyhound

    greyhound Teen Droid Medlem

    Blev medlem:
    15 jun 2009
    Inlägg:
    327
    Mottagna gillanden:
    19

    MINA ENHETER

    Tjena

    Jag håller på med en app som skickar och läser data från en webbserver.
    Idag använder jag JSON-format men det känns inte riktigt optimalt, finns det bättre sätt att ladda över en lista på namn och adresser? XML känns som alltid att det har lite väl mycket overhead. Jag vill minimera mängden minne min app kräver och mängden bandbredd som min app behöver.
     
  2. johnAls

    johnAls Youth Droid Medlem

    Blev medlem:
    28 maj 2009
    Inlägg:
    158
    Mottagna gillanden:
    58

    MINA ENHETER

    jag skulle använda något form av REST, och då kanske med en minimal xml eller någon annan metainfo. Kör du java på servern så rekomenderar jag resteasy
     
  3. greyhound

    greyhound Teen Droid Medlem

    Blev medlem:
    15 jun 2009
    Inlägg:
    327
    Mottagna gillanden:
    19

    MINA ENHETER

    Har du någon bra howto för REST?
     
  4. johnAls

    johnAls Youth Droid Medlem

    Blev medlem:
    28 maj 2009
    Inlägg:
    158
    Mottagna gillanden:
    58

    MINA ENHETER

  5. kigurai

    kigurai Kid Droid Medlem

    Blev medlem:
    23 jun 2009
    Inlägg:
    63
    Mottagna gillanden:
    2

    MINA ENHETER

    Du kan ju kika på Protocol Buffers. Eftersom det är ett Googleprojekt från början och det finns Javabindningar så är väl chansen stor att de finns med i Android också?

    http://en.wikipedia.org/wiki/Protocol_Buffers

    Annars tror jag att du helt enkelt får hacka ihop ett eget format om nu inte JSON är tillräckligt litet.
     
  6. johannilsson

    johannilsson Adult Droid Medlem

    Blev medlem:
    23 jun 2009
    Inlägg:
    577
    Mottagna gillanden:
    8

    MINA ENHETER

    Själv började jag med json libbet som kommer är med i android.jar men tyckte att det var rätt klumpigt att använda. Annars så gillar jag verkligen json som format. Alternativa parsers?

    Till sthlm traveling kör jag xml som jag parsar med sax, inte dirkekt modernt men snabbt och effektivt och gör vad det ska. Själv vill jag helst hålla nere på externa libbar så långt det går.

    Om du letar efter något till din server så gillar jag verkligen jaxrs/jersey som har en väldigt skön rest impl. Om man vill köra soap så kan jag även rekommendera jax-ws men då har du ju en del overhead.
     
  7. greyhound

    greyhound Teen Droid Medlem

    Blev medlem:
    15 jun 2009
    Inlägg:
    327
    Mottagna gillanden:
    19

    MINA ENHETER

    Glömde skriva i mitt första inlägg att jag läst att JSON-libbet drog mycket minne och det är därför jag kollar på andra alternativ.
     
  8. Kaj

    Kaj Senior Droid Medlem

    Blev medlem:
    12 jun 2009
    Inlägg:
    1 768
    Mottagna gillanden:
    44

    MINA ENHETER

    Iom att XPath inte finns i Android så kör jag med XmlPullParser i väderwidgeten. Funkar, men blir roddigt om xml:en är komplex.
     
    Last edited: 13 jul 2009
  9. Kaj

    Kaj Senior Droid Medlem

    Blev medlem:
    12 jun 2009
    Inlägg:
    1 768
    Mottagna gillanden:
    44

    MINA ENHETER

    Om du har kontroll över både klienten och servern och inte tänker gör allt för stora förändringar i framtiden kan du göra ett simpelt textprotokoll. En rad är en entry. Varje rad motsvarar en CSV (där du ev behöver escapa din delimiter). Om ett entry har 10 kolumner har du alltid med delimiters även om det inte finns värden, och ignorera värden på slutet om du inte känner till dem. (För att i framtiden kunna lägga till fält som äldre klienter inte kommer använda)

    I bandbredd blir det rätt tight, och apenkelt/snålt att parsa. I ditt fall behöver du ju inte tänka på att datat skall visas i andra klienter än din klient? (Dvs ingen kommer transformera det?)