Java objectinputstream en objectoutputstream android

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • mwthomas
  • Registratie: Mei 2010
  • Laatst online: 24-09-2023
Beste tweakers

Ik ben behoorlijk nieuw in java en voor school moeten we nu een server-client project maken.
Tot nu toe werkte dit, maar we moeten ook een android client maken en dit vormt wel een probleem.

Dus in mijn gewone client (klasse Inloggen) roep ik het volgende op:
Java:
1
private ClientAppl client;

Java:
1
Fuif f = client.GetcurrentFuif();

Dit is dus wat ik oproep vanuit mijn client (De klasse ClientAppl, deze maakt verbinding met de server en verstuurd/haalt objecten op):
Java:
1
2
3
4
5
6
     public Fuif GetcurrentFuif() throws IOException, java.lang.ClassNotFoundException {
        ostream.writeObject("GetcurrentFuif");
        ostream.flush();
        Fuif res = (Fuif) istream.readObject();
        return res;
    }

De server geeft hierna een Fuif object terug. Tot hiertoe heb ik nog geen probleem.

Nu doe ik ditzelfde in een android project, ik kan in de output van de server zien dat de request werd verstuurd en ontvangen als ook dat er een Fuif object terug werd gestuurd. Maar dit ontvang ik nooit in mijn android client.

Zou iemand mij hier wat mee op weg kunnen helpen.

MVG
Thomas

Acties:
  • 0 Henk 'm!

  • Jegorex
  • Registratie: April 2004
  • Laatst online: 03-09 23:24
De taal voor Android is niet 100% java en je moet er niet vanuit gaan dat je objecten gewoon van Java naar Android kan overgeven.
Wat ik zou doen is de data (Strings, nummers, enz) uitlezen en doorsturen naar de Android app, daar maak je vervolgens een nieuw object aan met de verstuurde data.

Acties:
  • 0 Henk 'm!

  • Herko_ter_Horst
  • Registratie: November 2002
  • Niet online
Wat Jegorex zegt klopt: de kans dat je compatible objecten kunt oversturen tussen de JVM en Dalvik via het standaard serialisation mechanisme acht ik zeer klein.

Voor het uitwisselen van data zou ik eens naar het JSON formaat kijken.

"Any sufficiently advanced technology is indistinguishable from magic."


Acties:
  • 0 Henk 'm!

Verwijderd

Wat is de output in je android project? Heb je de permissies wel in je manifest staan? Dus dat je internet wil gebruiken? Doe je het ontvangen op je main thread?

Voor deze fouten krijg je namelijk niet hele duidelijke foutmeldingen :)

Acties:
  • 0 Henk 'm!

  • Inspector
  • Registratie: Juli 2005
  • Laatst online: 25-09 08:52
Ik zou inderdaad ook gaan voor een oplossing via JSON. Mocht je besluiten dit te gaan proberen, zou ik eens kijken naar de Google GSON library. Hiermee kun je gemakkelijk JSON objecten naar Java objecten mappen.