Mobiltelefonapplikationer med J2ME: Inlämningsuppgift 3

Utgå från din lösning på inlämningsuppgift 2. I den uppgiften fanns inget krav på att sakerna i komihåg-listan skulle finnas kvar om programmet avslutades, men det ska du lägga till i den här uppgiften. Programmet ska därför spara sina data i ett postlager ("record store").

Några tips

Man behöver inte följa de här förslagen.
  1. Studera lektion 9 om hur man lagrar data i ett postlager.
  2. Om du lyckades skilja hanteringen av uppgiftslistan i uppgift 2, till exempel i en särskild klass som heter Uppgiftslista, från resten av programmet, så är det huvudsakligen i den klassen som du behöver göra ändringar för att lagra data i postlagret.
  3. Av prestandaskäl bör din MIDlet fortfarande ha en intern lista med Uppgift-objekt. Vid start av programmet skapar man den listan genom att hämta de lagrade uppgifterna ur postlagret.
  4. Så fort man gör en ändring i uppgifterna (dvs lägger till en ny, tar bort en gammal, eller ändrar i en uppgift) så ska motsvarande ändring göras i postlagret.
  5. Man kan räkna med att inga andra program samtidigt ändrar i postlagret, så ditt komihåglisteprogram behöver inte kolla ifall saker plötsligt ändrats i postlagret medan programmet kör.
  6. En post i postlagret innehåller data i form av en byte-array, och man kan välja olika sätt att översätta mellan Uppgift-objekt och byte-arrayer. Ett sätt är att först göra en sträng av Uppgift-objektet, med fält som avgränsas till exempel av kolon. Om man vill kan man i stället laborera med ByteArrayOutputStream, DataOutputStream, ByteArrayInputStream och DataInputStream, som nämns på sidan 112 i kursboken, men det är krångligare.
  7. Lägg try-catch-block runt alla anrop till postlagret, och lägg en felutskrift med hjälp av en Alert i catch-grenen, så du ser om något gick galet, och i så fall vad.

Redovisning

Till den här uppgiften ska du lämna in två saker:

Rapporten ska innehålla följande:

Läs i Hur man skriver en rapport om grunderna för rapportskrivning. Om ni vill slippa höra mitt eviga gnäll om svenska språket, så undvik särskrivningar och satsradningar.

Skicka både rapporten och källkoden med e-post till läraren.

Fler praktiska tips, mest för att underlätta för mig:

  1. Skriv gärna i mailet vilken kurs det handlar om, till exempel "J2ME-uppgift 2", och inte bara "uppgift 2".
  2. Testning är en viktig del i all programmering. Provkör programmet noga för att försöka hitta eventuella fel. Jag kommer att lägga in, redigera och ta bort uppgifter i olika kombinationer, med och utan omstarter, och om du gör det själv först så slipper du kanske skicka in uppgiften igen.

Om samarbete: Varje student ska göra en egen lösning, och skicka in den, men det är inte förbjudet att samarbeta eller fråga andra studenter om hjälp. Däremot ska man i så fall tydligt ange vilka som man samarbetat med.

Föregående lektion | Lektionslista | Projektuppgiften


Thomas Padron-McCarthy (Thomas.Padron-McCarthy@oru.se), 22 maj 2008